This is the mail archive of the
ecos-discuss@sourceware.org
mailing list for the eCos project.
updated to new eCos version, asserts when first thread is resumed
- From: Nathan French <nathan dot french at onrampwireless dot com>
- To: ecos-discuss at ecos dot sourceware dot org
- Date: Mon, 14 Mar 2011 16:46:32 -0700
- Subject: [ECOS] updated to new eCos version, asserts when first thread is resumed
We just updated from eCos (pro) 2.0.91 to 3.0.9.1. What I'm seeing is
that during cyg_user_start(), as soon as we create a thread and
cyg_thread_resume() it the kernel asserts in
Cyg_Scheduler_Implementation::add_thread().
The assert it is hitting is "Idle thread vanished!!!" but I believe it
is due to the queue_map member of the scheduler not being initialized
(it's a null pointer). I'm admittedly a little confused as to how
exactly the kernel starts up and constructs the scheduler.
After some googling I became confused about whether I needed to call
cyg_scheduler_start() and if so, where. I tried calling this prior to
resuming the thread but it failed in a very similar way (different
assert, but same root cause). I don't believe there is anything wrong
with our application code but thought perhaps we had been doing
something wrong all along and the newer eCos version enforces something
now... but I haven't found any evidence of that.
Any ideas? Thanks in advance.
N.F.
--
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss