From mboxrd@z Thu Jan 1 00:00:00 1970 From: Gary Thomas To: Alfredo Knecht Cc: ecos-discuss@sourceware.cygnus.com Subject: RE: [ECOS] Threading on EDB7211 Date: Sun, 11 Jun 2000 04:38:00 -0000 Message-id: References: <3.0.5.32.20000611045816.00aa55f0@mailhost> X-SW-Source: 2000-06/msg00117.html On 11-Jun-00 Alfredo Knecht wrote: > Dear All, > > Thread switching is not working. > I am using an off-the-shelf configuration for ARM EDB7111-2, with the > GDB_module stub on the board. > Specifically, I tested with lcd_test.c, and kthread1.c. > Only the first thread (in cyg_thread_create() calling order) is ever executed. > A call to cyg_thread_delay() blocks, and cyg_thread_yield() does not cause > rescheduling. > Fidgeting with priorities does not help, either. > Generally, single-thread code works. > Must be that thread switching stays disabled in eCos, but since I am using > a "standard" configuration, I would like to have a second opinion before > embarking on a deep dive. > Thread switching should work on this and all platforms. Have you tried any of the standard tests and/or examples? A good one to try is the 'bin_sem2' test in the kernel. This is an adaptation of the classic dining philosophers and definitely relies on thread switching to work properly. On Linux, one would build/run this test like this: # ecosconfig new edb7211 # ecosconfig tree # make tests # arm-elf-gdb install/tests/kernel/VERSION/tests/bin_sem2 ... etc.