To the best of my knowledge not doing anything like that. All I need to do to recover is simply start a new debugging session.
To make matters curiouser, this bug is occurring within a CirceOS file! Specifically, it's the LCD_Init routine while calling WriteData. It calls a simple write to the LCD screen, and at one particular spot it always fails.
[Edit. More info on the bug]
The exact assembler instruction that makes it fail is an STRH R3, [R2, #0x0, *2] as compiled from the LCD_SendLCDCmd. This command works fine for the WriteCOM instruction immediately above, so I'm inclined to think it's something more than just a memory allocation problem, as this function does not return a value nor write to memory. The only thing it does is write to the LCD_CMD_MODE_ADDR address.
I'm willing to believe that this is user error somewhere, but how could that knock the debugger out?
I've made a backup copy of the code for later analysis. Any ideas?
Last edited by kubark42 (2009-04-12 12:40:58)