This is the mail archive of the ecos-discuss@sources.redhat.com mailing list for the eCos project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Scheduler problems, thread delay


On Tue, Oct 21, 2003 at 03:23:44PM +0100, James Yates wrote:
> 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.

Its probably your clock is broken. Try running the clock* tests.
Check your setup of the timer, make sure you are getting timer
interrupts etc.
 
> Strangely, I have also tried testing hal_delay_us which works and provides me with the correct delay.

This busy waits so does not need interrupts.

     Andrew

-- 
Before posting, please read the FAQ: http://sources.redhat.com/fom/ecos
and search the list archive: http://sources.redhat.com/ml/ecos-discuss


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]