Problem with rtems_event_send
Eric Norum
eric at cls.usask.ca
Fri Apr 7 14:12:25 UTC 2000
Alexey wrote:
>
> Hello
>
> In my init function I start three tasks - recieve, transmit and task checking status
> register of my network driver
> But if I send event to recieve task from CheckStatus task
>
> /* CheckStatus */
> if(status & upLoadComplete)
> rtems_event_send(vp->rxDaemonTid,INTERRUPT_EVENT);
> if(debug)
> printf("UpLoad complete - event send");
>
> my receive daemon does't react on it
>
> /* rx Daemon */
> for(;;)
> {
> rtems_bsdnet_event_recieve(INTERRUPT_EVENT,
> RTEMS_WAIT_ANY,
> RTEMS_NO_TIMEOUT,
> &event);
> if(debug)
> printf("Let's try to recieve somthing...\n");
> }
>
> So I see that I recieve somting packet and I send event, but I did't see message from
> rxDaemon!
>
> What's wrong?
> Can you suggest somthing?
1) Are you sure that CheckStatus has the correct value for
vp->rxDaemonTid?
2) Does CheckStatus have a higher priority than rxDaemon? If so, does
CheckStatus block somewhere to allow rxDaemon to run?
3) Check the status code from all the rtems_bsdnet_xxxxx calls.
--
Eric Norum eric at cls.usask.ca
Canadian Light Source Phone: (306) 966-6308
University of Saskatchewan FAX: (306) 966-6058
Saskatoon, Canada.
More information about the users
mailing list