[ECOS] ARM vectors.S hang issue

Bill Diehls billabloke@yahoo.com
Mon Oct 8 22:32:00 GMT 2001


Hi All,
I have been working with a couple of friends porting
eCos to the Gameboy Advance which uses an ARM7TDMI
core.  We have ported the hal and we have Redboot up
and running with console and flash support.  We also
have the debug stubs working under Redboot.  But we
are experiencing a strange issue in the ISR routine in
vectors.s.  When running the periodic timer test
program (intr.c) for 1000 ticks or so, we get a hang
in the program -- but only if we call diag_printf to
indicate the number of ticks in the while loop.  If we
remove diag_printf, the problem goes away completely.

More interestingly though, if we remove the switch to
supervisor mode (and the switch back to irq mode) in 
the IRQ routine in vectors.s, the hang problem
disappears as well, regardless of calling diag_printf.
 (Note, sprintf instead of diag_printf exhibits the
same behavior as well as other homemade routines that
don't use variable args.)   This would probably
indicate a stack overflow in the supervisor stack, but
resizing __startup_stack to large values (say 8k) has
no effect.  Any thoughts on what might be happening
would be greatly appreciated.

thanks,
--bill





__________________________________________________
Do You Yahoo!?
NEW from Yahoo! GeoCities - quick and easy web site hosting, just $8.95/month.
http://geocities.yahoo.com/ps/info1



More information about the Ecos-discuss mailing list