Strange bug on EP9302-based custom board
Fabien CASAS
fcasas at altenso.fr
Wed Dec 14 08:57:44 UTC 2005
Hi all !
I'm porting RTEMS to an EP9302(ARM9)-based custom board, starting from
ARM ports, and I'm stuck on a strange bug.
I've got a base port that provides a console, a clock driver and some
board-specific drivers. This base port seems to run fine, except for
some improvements to be done.
BUT : when I add a call to a function (e.g. a call to
rtems_task_wake_after), or when I just add a local variable into a
function of one of my drivers, the whole executive crashes, before the
function is called.
The executive crashes in two flavors:
- either it sends garbage on the console (looks like a printf on a
string with no \0)
- or it hangs at the Undefined exception vector with a link register
pointing to the IRQ exception vector.
I've tried to debug the code with a JTAG and Insight: all I could find
is that it crashes either when the first printf of my application is ran
(and the string's OK), or when multitasking is enabled (and here, I
loose the thread of execution).
When I remove the variable from my driver, the executive runs fine,
except that my driver doesn't work the way it should :).
The problem seems to be the same when I add a variable to the
application code.
I've tried and set the minimum stack size to 128kB instead of 4kB but
this has no effect.
I've also tried and set the Init task stack size to 8kb with no effect
either.
I've checked my linkcmds against the one for the csb337 (btw, thanks for
providing this online !), and found nothing suspicious, but I'm no
linkfile expert.
So I wanted to ask if anyone had ever had such a bug ? Or if someone
could give hints on what I should check.
Thanks !
Fab
More information about the users
mailing list