Hello,
when I try to debug my project in uVision V4.74.0.22 and the project stops at breakpoint it really slows down (one step in debug about 5s) because of huge amount of adresses in "Call Stack + Locals" window. It looks like this:
Name ................ Location/Value...... Type CFoo::doFoo ...... 0x0800A6D4 ... void f() CFoo1::doFoo1 .. 0x20005AA0 ... param - struct SFoo //Debug mode duplicates this functiontions Call Stack window CFoo::doFoo ...... 0x0800A6D4 ... void f() CFoo1::doFoo1 .. 0x20005AA0 ... param - struct SFoo . . . //And a lot of this adresses - no name, no type 0xE7AD1922 0x0BE291B2 0x65346294 0xC0072AE0 . .
When I go to callee or caller code of one the adress it shows Disassembly
MOVS r0,r0
But i think the disassembly is not important - more likely is that Stack is somehow corrupted It starts to slow down when I call
NVIC_Init();
-> It duplicates last two functions and add a lot of strange adresses to Call Stack Window.
Does somebody know where to start to resolve this problem?
Thank you very much.
Hello Matěj,
Rows of
can be displayed when the device attempts to execute code at addresses that were never defined in any image.
In debug mode, check Peripherals => Core Peripherals => Fault Reports, to see if there is a fault. One or two checkmarks should normally appear at the bottom of the dialog for breakpoints/stops, but any other checks are faults. If you see one, you may be able to find the offending line, using Application Note 209, if the device is a Cortex-M3+: http://www.keil.com/appnotes/files/apnt209.pdf
For faster debugging, I recommend upgrading to MDKv5.21a and using a USB high-speed debug adapter, like the ULINKpro.
Thanks, Zack