The Great Watchdog Hack

Paul Evans paule at martex.gen.oh.us
Sun Dec 8 23:54:52 UTC 2002


Hi All,

I'm looking for a little help with figuring out RTEMS execution profile 
(time wise)
during boot. Specifically my problem is that my hardware’s watchdog 
trips during boot
resetting the board. The BSP is a 68ec000 (in 8 bit mode) To give you an
idea about speed, the watchdog strobe ("kick"?) macro:

#define WDOG_STROBE __asm__("move.b #0x61, (0xC00000)
move.b #0x01, (0xC00000)
move.b #0x61, (0xC00000)")

executes in about 3.5 microseconds. The board appears to take about
2-3 seconds to complete booting, and the watchdog time out is about
300ms nominal.

My approach thus far is to sprinkle the WDOG_STROBE macro
though exinit.c (start.S, and bsp_start() also strobe the watchdog)
As in:

_Debug_Manager_initialization();
WDOG_STROBE;
_API_extensions_Initialization();
WDOG_STROBE;
_Thread_Dispatch_initialization();
WDOG_STROBE;
_Workspace_Handler_initialization(

This isn't working, so I'm wondering where RTEMS is spending it's time
during power up. Any ideas?

Thanks and here's hoping,

-Paul

[apologies if this arrives as HTML]





More information about the users mailing list