Debug freeze (probably on infinite loop after some call)

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Debug freeze (probably on infinite loop after some call)

Jump to solution
930 Views
kabikov
Contributor I

Hi, i work much with lpcxpresso and now i try mcuxpresso(MCUXpresso IDE v10.1.1 [Build 606] [2018-01-02] ). And i find many difficulties with this tool. I use RedProbe+ with lpc11u35 custom board (there is no problem with it on older versions of lpcxpresso). For examle:

#include "system_LPC11Uxx.h"

int main(void)

{
    SystemInit();

    for(;;)
        ;
}

If i run thru this program step by step then debug will freze in point of return from Cmsis's SystemInit and running loop. Ide is still operational but pressing suspend do nothing. In debug messages there is a spam of lines "Stopped: Step".

MCUXpresso RedlinkMulti Driver v10.1 (Dec 19 2017 16:58:35 - crt_emu_cm_redlink build 390)
Reconnected to existing redlink server (PID 4294967295)
Connecting to probe 2 core 0 (server PID unknown) gave 'OK'
Probe Firmware: Red Probe+ A (Code Red - Red Probe+)
Serial Number:  FTXDQ3G0A
VID:PID:  21BD:0003
USB Path:
debug interface type      = <unknown> (DAP DP ID 0BB11477) over <error>
processor type            = Cortex-M0 (CPU ID 410CC200)
number of h/w breakpoints = 4
number of flash patches   = 0
number of h/w watchpoints = 2
Probe(0): Connected&Reset. DpID: 0BB11477. CpuID: 410CC200. Info: <None>
Debug protocol: SWD. RTCK: Disabled. Vector catch: Disabled.
Content of CoreSight Debug ROM(s):
RBASE E00FF000: CID B105100D PID 04000BB471 ROM dev (type 0x1)
ROM 1 E000E000: CID B105E00D PID 04000BB008 ChipIP dev SCS (type 0x0)
ROM 1 E0001000: CID B105E00D PID 04000BB00A ChipIP dev DWT (type 0x0)
ROM 1 E0002000: CID B105E00D PID 04000BB00B ChipIP dev FPB (type 0x0)
Inspected v.2 On-chip Flash Memory LPC11_12_13_64K_8K.cfx
Image 'LPC11_12_13 (64K Flash, min 8K RAM) Nov 14 2017 14:59:50'
NXP: LPC11U35/501
Connected: was_reset=true. was_stopped=false
MCUXpresso Free License - Downloads unlimited
Awaiting telnet connection to port 3330 ...
GDB nonstop mode disabled (using allstop mode)
Opening flash driver LPC11_12_13_64K_8K.cfx
Sending SYSRESETREQ to run flash driver
Writing 1232 bytes to address 0x00000000 in Flash
Erased/Wrote page  0-0 with 1232 bytes in 56msec
Closing flash driver LPC11_12_13_64K_8K.cfx
Flash Write Done
Flash Program Summary: 1232 bytes in 0.06 seconds (21.48 KB/sec)
Starting execution using system reset and halt target
Stopped: Breakpoint #1
Stopped: Step
Stopped: Breakpoint #1
Stopped: Step
Stopped: Step
Stopped: Step
Stopped: Step

<and so on>

But if i'll debug this place in asembler mode all is ok.

0 Kudos
1 Solution
809 Views
lpcxpresso_supp
NXP Employee
NXP Employee

GDB can sometimes have issues single stepping at the source level in very tight loops like this (and behaviour can vary between GDB versions). Try putting something into your loop, even if its just a "__NOP()". 

Regards,

MCUXpresso IDE Support

View solution in original post

0 Kudos
1 Reply
810 Views
lpcxpresso_supp
NXP Employee
NXP Employee

GDB can sometimes have issues single stepping at the source level in very tight loops like this (and behaviour can vary between GDB versions). Try putting something into your loop, even if its just a "__NOP()". 

Regards,

MCUXpresso IDE Support

0 Kudos