hi and sorry to awake this zombie but I could not find anything other
then this old thread relating to my problem:
I have a programm (part of a driver ethernet driver) wich is needed to
do some perodic duties (sending special packets) and waiting for events
(handling special packets wich are not to be deleviered to the OS).
Waiting for this events is realised via flags because I get only one
interrupt for all packet and events ariving.
My Code loocks something like this:
/*init timer thread this is only used to create the timer so it can
has a custom priority*/
cyg_uint32 flags = 0;
/*This do-while is not really imperative, it's just for the case
that the thread is woken up force-fully, which is probably never*/
/* if I put a cyg_thread_delay() here everything works */
flags = cyg_flag_wait(&isr_flags,PTCP_IRQ_FLAGS,
/*Handling the events*/
The Problem now is this only works if TIMER_PRIOROTY <
DISPATCHER_PRIOROTY otherwise the timer_handler is never called. On the
other hand it works if i put a cyg_thread_delay before my wait.
I hope I stated my problem clear, this is my first ecos project and I
still have quite a lot of trouble with it.
best regards Serafin
Serafin Leschke, BSc in Computer Sience UAS Zurich
ZHAW, Zurich University of Applied Sciences
InES, Institute of Embedded Systems
Tel: +41 58 934 69 79
Fax: +41 58 935 76 87
E-Mail: [hidden email] Web: http://ines.zhaw.ch --