[ECOS] Scheduler problems, thread delay
Tue Oct 21 14:22:00 GMT 2003
I have been having problems trying to get timeslicing to work.
I have successfully created a two threaded app, both at the same priority, one waits on a semaphore, one it gets it, it flashes a led and posts a semaphore that the other is waiting for etc etc.
This all works fine and I can have 2 threads flashing 2 different leds, continually giving control to each other by 2 semaphores.
I tried removing the semaphores and placing a small delay after each LED flash to see if the two threads would each be allowed to run. This didn't work and after some investigation, when I make a call to cyg_thread_delay, this never seems to return and so hangs.
I have read lots in the archives of the mailing lists regarding similar problems but nothing seems to work.
I have tried running some of the tests, basic and context HAL tests run. I tried running some of the kernel tests, bin_sem2 failed. I looked into the code for the test and have traced it hanging at a call to cyg_thread_delay.
Strangely, I have also tried testing hal_delay_us which works and provides me with the correct delay.
Does anyone have any idea what is wrong. I am really stuck again. Many thanks in advance.
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss
More information about the Ecos-discuss