We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi, Occasionally my code gets stuck at address 0x00000344 - I'm having trouble figuring out what's going on in the debugger. The disassembly list in uVision seems suspect as I page up and down (output looks like it's a loop of some other different memory locations?), and the call stack is empty... Perhaps this is a 'protected' interrupt or another unused interrupt that the default Startup.s sets up to loop-in-place, but I'm having trouble figuring out where/what that is, I need some guidance, kind of a newb with Keil tools and the LPC210x... yikes!
0x00000344 FFFE (???) 0x00000346 EAFF ???
thanks! Marc
Occasionally my code gets stuck at address 0x00000344 - I'm having trouble figuring out what's going on in the debugger.
That's most likely because by the time you see it being stuck, it's way too late to observe the reason. It's a bit like seeing a dead person with blue lips and asking yourself how blue lips could cause death --- well, they don't, but some types of death go along with a symptom of blue lips.
Your program probably entered a fault condition somewhere which sent it through a random jump and, after some number of crazy steps and jumps, ended up in this pitfall. You need to catch this problem way earlier in its chain of events:
1) make all "hang me in a dead loop" aborts distinguishable from each other (e.g. put something in a register or global before entering the loop, or better still, make the dead-loop write that value).
2) analyze your program for real. There should be no "some part of ... might be doing ...". Find out what they actually do. All of them.
Thanks for the basics but... I'm a newb at the toolset, not at debugging :)
I was hoping 0x00000344 was a 'magic number' that someone might recognize.
If I could catch it at that point then I wouldn't have needed to post anything, I would have found it already!