OpenOCD and LPC1549 issues

Sysprogs forums Forums VisualGDB OpenOCD and LPC1549 issues

Viewing 15 posts - 1 through 15 (of 28 total)
  • Author
    Posts
  • #10747
    JB_Lightcon
    Participant

    Hi,

    I’m using VisualGDB (5.1 buil 712) with OpenOCD. I have my own settings for LPC15xx target and manually I can run and halt program execution from command line. But when I try to start debug session from Visual Studio it just flashes image and stops – no running or stepping is performed. I can verify that program is written to flash, because I change LED blinking period in source code, run manually OpenOCD server and LED blink differently, but from Visual Studio it just stuck at SystemInit().

    Has anyone experienced similar issues? Does anyone work with OpenOCD at all?

    #10752
    support
    Keymaster

    Hi,

    OpenOCD is the recommended debug method for embedded targets, so it should normally work.

    Please try enabling GDB logging via VisualGDB Project Properties -> Advanced GDB Settings and post the full gdb log along with the OpenOCD output here. It should explain what is going on and why the target is not resumed.

    #10779
    JB_Lightcon
    Participant

    Log:

    <…>
    ——————- Memory utilization report ——————-
    Used FLASH: 2480 bytes out of 256KB (0%)
    Used RAM: 0 bytes out of 36KB (0%)

     

    OpenOCD view output:

    Open On-Chip Debugger 0.9.0 (2016-10-14) [https://github.com/sysprogs/openocd]
    Licensed under GNU GPL v2
    For bug reports, read
    http://openocd.org/doc/doxygen/bugs.html
    adapter speed: 3000 kHz
    Info : FTDI SWD mode enabled
    adapter speed: 1000 kHz
    adapter speed: 10 kHz
    adapter_nsrst_delay: 200
    cortex_m reset_config sysresetreq
    Info : clock speed 10 kHz
    Info : SWD DPIDR 0x2ba01477
    Info : lpc15xx.cpu: hardware has 6 breakpoints, 4 watchpoints
    lpc15xx.cpu: target state: halted
    target halted due to debug-request, current mode: Thread
    xPSR: 0x01000000 pc: 0x030000b8 msp: 0x02001fe0
    VisualGDB_OpenOCD_Ready
    Info : accepting ‘gdb’ connection on tcp/61889
    lpc15xx.cpu: target state: halted
    target halted due to debug-request, current mode: Thread
    xPSR: 0x01000000 pc: 0x030000b8 msp: 0x02001fe0
    lpc15xx.cpu: target state: halted
    target halted due to debug-request, current mode: Thread
    xPSR: 0x01000000 pc: 0x030000b8 msp: 0x02001fe0
    Warn : Verification will fail since checksum in image (0x00000000) to be written to flash is different from calcula
    ted vector checksum (0xfdff417a).
    Warn : To remove this warning modify build tools on developer PC to inject correct LPC vector checksum.
    lpc15xx.cpu: target state: halted
    target halted due to debug-request, current mode: Thread
    xPSR: 0x01000000 pc: 0x030000b8 msp: 0x02001fe0

     

    Anything more that could help?

    #10787
    support
    Keymaster

    Hi,

    Sorry, the log you attached was the build log, not debug log. Please follow the instructions described here to capture a debug log.

    #10792
    JB_Lightcon
    Participant

    I see no “Advanced GDB Settings” ir VisualGDB project settings – maybe newer version  is required. But this is what I see in “View GDB Log from Last Session”:

    C:\SysGCC\arm-eabi\bin\arm-eabi-gdb.exe –interpreter mi M:\CodeRepos\Zeta-Playground\TestOCD\TestOcd\TestOcd/Debug/TestOcd.elf
    [       0 ms] -gdb-version
    [      22 ms] =thread-group-added,id=”i1″
    [      22 ms] ~”GNU gdb (GDB) 7.10.1\n”
    [      22 ms] ~”Copyright (C) 2015 Free Software Foundation, Inc.\n”
    [      22 ms] ~”License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html&gt;\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type \”show copying\”\nand \”show warranty\” for details.\n”
    [      23 ms] ~”This GDB was configured as \”–host=i686-pc-mingw32 –target=arm-eabi\”.\nType \”show configuration\” for configuration details.”
    [      23 ms] ~”\nFor bug reporting instructions, please see:\n”
    [      23 ms] ~”<http://www.gnu.org/software/gdb/bugs/&gt;.\n”
    [      23 ms] ~”Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/&gt;.\n”
    [      23 ms] ~”For help, type \”help\”.\n”
    [      23 ms] ~”Type \”apropos word\” to search for commands related to \”word\”…\n”
    [      24 ms] ~”Reading symbols from M:\\CodeRepos\\Zeta-Playground\\TestOCD\\TestOcd\\TestOcd/Debug/TestOcd.elf…”
    [      28 ms] ~”done.\n”
    [      29 ms] ~”GNU gdb (GDB) 7.10.1\n”
    [      30 ms] ~”Copyright (C) 2015 Free Software Foundation, Inc.\n”
    [      30 ms] ~”License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html&gt;\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type \”show copying\”\nand \”show warranty\” for details.\n”
    [      30 ms] ~”This GDB was configured as \”–host=i686-pc-mingw32 –target=arm-eabi\”.\nType \”show configuration\” for configuration details.”
    [      31 ms] ~”\nFor bug reporting instructions, please see:\n”
    [      31 ms] ~”<http://www.gnu.org/software/gdb/bugs/&gt;.\n”
    [      31 ms] ~”Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/&gt;.\n”
    [      31 ms] ~”For help, type \”help\”.\n”
    [      31 ms] ~”Type \”apropos word\” to search for commands related to \”word\”.\n”
    [      31 ms] ^done
    [      31 ms] -list-features
    [      32 ms] ^done,features=[“frozen-varobjs”,”pending-breakpoints”,”thread-info”,”data-read-memory-bytes”,”breakpoint-notifications”,”ada-task-info”,”language-option”,”info-gdb-mi-command”,”undefined-command-error-code”,”exec-run-start-option”]
    [      32 ms] -gdb-set stop-on-solib-events 1
    [      32 ms] ^done
    [      32 ms] -gdb-set disassembly-flavor intel
    [      32 ms] ^error,msg=”No symbol \”disassembly\” in current context.”
    [      32 ms] -gdb-set print demangle off
    [      32 ms] ^done
    [      33 ms] -break-insert -f main
    [      43 ms] ^done,bkpt={number=”1″,type=”breakpoint”,disp=”keep”,enabled=”y”,addr=”0x00000928″,func=”main()”,file=”LEDBlink.cpp”,fullname=”M:\\CodeRepos\\Zeta-Playground\\TestOCD\\TestOcd\\TestOcd\\LEDBlink.cpp”,line=”29″,thread-groups=[“i1″],times=”0″,original-location=”main”}
    [      44 ms] set remotetimeout 60
    [      54 ms] &”set remotetimeout 60\n”
    [      54 ms] =cmd-param-changed,param=”remotetimeout”,value=”60″
    [      54 ms] ^done
    [      54 ms] target remote :61889
    [      54 ms] &”target remote :61889\n”
    [      70 ms] ~”Remote debugging using :61889\n”
    [    1427 ms] =thread-group-started,id=”i1″,pid=”42000″
    [    1427 ms] =thread-created,id=”1″,group-id=”i1″
    [    1532 ms] ~”0x030000b8 in ?? ()\n”
    [    1532 ms] *stopped,frame={addr=”0x030000b8″,func=”??”,args=[]},thread-id=”1″,stopped-threads=”all”
    [    1558 ms] ^done
    [    1558 ms] info shared
    [    1559 ms] &”info shared\n”
    [    1559 ms] ~”No shared libraries loaded at this time.\n”
    [    1559 ms] ^done
    [    1559 ms] mon halt
    [    1570 ms] &”mon halt\n”
    [    1614 ms] ^done
    [    1614 ms] mon reset init
    [    1614 ms] &”mon reset init\n”
    [    2689 ms] @”lpc15xx.cpu: target state: halted\n”
    [    2689 ms] @”target halted due to debug-request, current mode: Thread \n”
    [    2690 ms] @”xPSR: 0x01000000 pc: 0x030000b8 msp: 0x02001fe0\n”
    [    2760 ms] ^done
    [    2760 ms] load
    [    2760 ms] &”load\n”
    [    5617 ms] ~”Loading section .isr_vector, size 0xfc lma 0x0\n”
    [    5643 ms] +download,{section=”.isr_vector”,section-size=”252″,total-size=”46462″}
    [    5643 ms] +download,{section=”.isr_vector”,section-sent=”252″,section-size=”252″,total-sent=”252″,total-size=”46462″}
    [    5644 ms] ~”Loading section .text, size 0x8ac lma 0xfc\n”
    [    5644 ms] +download,{section=”.text”,section-size=”2220″,total-size=”46462″}
    [    5644 ms] ~”Loading section .init_array, size 0x4 lma 0x9a8\n”
    [    5644 ms] +download,{section=”.init_array”,section-size=”4″,total-size=”46462″}
    [    5644 ms] ~”Loading section .fini_array, size 0x4 lma 0x9ac\n”
    [    5644 ms] +download,{section=”.fini_array”,section-size=”4″,total-size=”46462″}
    [   25168 ms] ~”Start address 0x784, load size 2480\n”
    [   25229 ms] ~”Transfer rate: 110 bytes/sec, 620 bytes/write.\n”
    [   25251 ms] ^done
    [   25287 ms] -data-evaluate-expression “sizeof(void *)”
    [   25291 ms] ^done,value=”4″
    [   25291 ms] -data-evaluate-expression “sizeof(int)”
    [   25291 ms] ^done,value=”4″
    [   25292 ms] -data-evaluate-expression “sizeof(short)”
    [   25292 ms] ^done,value=”2″
    [   25292 ms] -data-evaluate-expression “sizeof(long)”
    [   25292 ms] ^done,value=”4″
    [   25292 ms] -data-evaluate-expression “sizeof(long long)”
    [   25293 ms] ^done,value=”8″
    [   25293 ms] -data-evaluate-expression “sizeof(char)”
    [   25293 ms] ^done,value=”1″
    [   25293 ms] -data-evaluate-expression “sizeof(wchar_t)”
    [   25293 ms] ^error,msg=”No symbol \”wchar_t\” in current context.”
    [   25293 ms] -data-evaluate-expression “sizeof(float)”
    [   25294 ms] ^done,value=”4″
    [   25294 ms] -data-evaluate-expression “sizeof(double)”
    [   25294 ms] ^done,value=”8″
    [   25294 ms] -data-evaluate-expression “sizeof(long double)”
    [   25294 ms] ^done,value=”8″
    [   25343 ms] info target
    [   25344 ms] &”info target\n”
    [   25344 ms] ~”Symbols from \”M:\\CodeRepos\\Zeta-Playground\\TestOCD\\TestOcd\\TestOcd\\Debug\\TestOcd.elf\”.\n”
    [   25344 ms] ~”Remote serial target in gdb-specific protocol:\n”
    [   25345 ms] ~”Debugging a target over a serial line.\n”
    [   25345 ms] ~”\tWhile running this, GDB does not access memory from…\n”
    [   25345 ms] ~”Local exec file:\n”
    [   25345 ms] ~”\t`M:\\CodeRepos\\Zeta-Playground\\TestOCD\\TestOcd\\TestOcd\\Debug\\TestOcd.elf’, file type elf32-littlearm.\n”
    [   25345 ms] ~”\tEntry point: 0x784\n”
    [   25345 ms] ~”\t0x00000000 – 0x000000fc is .isr_vector\n”
    [   25345 ms] ~”\t0x000000fc – 0x000009a8 is .text\n”
    [   25345 ms] ~”\t0x000009a8 – 0x000009ac is .init_array\n”
    [   25345 ms] ~”\t0x000009ac – 0x000009b0 is .fini_array\n”
    [   25346 ms] ~”\t0x02000000 – 0x02000000 is .data\n”
    [   25346 ms] ~”\t0x02000000 – 0x02000024 is .bss\n”
    [   25346 ms] ^done
    [   25370 ms] -data-evaluate-expression “&_estack”
    [   25376 ms] ^done,value=”0x2009000″
    [   25382 ms] -var-create – * “*((void **)0x2008ffc)”
    [   25413 ms] ^done,name=”var1″,numchild=”0″,value=”0x0 <g_pfnVectors>”,type=”void *”,has_more=”0″
    [   25413 ms] -var-assign “var1″ 0x7253f8c4
    [   25443 ms] ^done,value=”0x7253f8c4”
    [   25444 ms] -data-evaluate-expression “\*\(\(void\ \*\*\)0x2008ffc\)”
    [   25469 ms] ^done,value=”0x0 <g_pfnVectors>”
    [   28585 ms] -exec-continue
    [   28587 ms] ~”Note: automatically using hardware breakpoints for read-only addresses.\n”
    [   28609 ms] ^running
    [   28610 ms] *running,thread-id=”all”
    [  308602 ms] ~”\nProgram received signal ”
    [  308602 ms] ~”SIGINT, Interrupt.\n”
    [  308620 ms] ~”0x030002fe in ?? ()\n”
    [  308620 ms] *stopped,reason=”signal-received”,signal-name=”SIGINT”,signal-meaning=”Interrupt”,frame={addr=”0x030002fe”,func=”??”,args=[]},thread-id=”1″,stopped-threads=”all”
    [  308620 ms] -gdb-exit
    [  308630 ms] ^exit
    [  308634 ms] =thread-group-exited,id=”i

    #10798
    support
    Keymaster

    Hi,

    Thanks for the detailed log. It looks like the _estack value in your image does not match the one in our linker script and it ends up pointing outside the RAM area on your chip, causing runtime errors. Please fix the value of _estack so that it points at the actual end of RAM.

    VisualGDB should normally show a warning that the end of stack is not writable; if this does not happen, please let us know and we will investigate and fix.

    #10811
    JB_Lightcon
    Participant

    Tried 0x2002000, 0x2004000 and 0x2008000 addresses for _estack with no luck. All those are within SRAM range from LPC1549 datasheet, still no step by step debug. Log:

    C:\SysGCC\arm-eabi\bin\arm-eabi-gdb.exe –interpreter mi M:\CodeRepos\Zeta-Playground\TestOCD\TestOcd\TestOcd/Debug/TestOcd.elf
    [       0 ms] -gdb-version
    [      23 ms] =thread-group-added,id=”i1″
    [      23 ms] ~”GNU gdb (GDB) 7.10.1\n”
    [      23 ms] ~”Copyright (C) 2015 Free Software Foundation, Inc.\n”
    [      24 ms] ~”License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html&gt;\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type \”show copying\”\nand \”show warranty\” for details.\n”
    [      24 ms] ~”This GDB was configured as \”–host=i686-pc-mingw32 –target=arm-eabi\”.\nType \”show configuration\” for configuration details.”
    [      24 ms] ~”\nFor bug reporting instructions, please see:\n”
    [      24 ms] ~”<http://www.gnu.org/software/gdb/bugs/&gt;.\n”
    [      24 ms] ~”Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/&gt;.\n”
    [      25 ms] ~”For help, type \”help\”.\n”
    [      25 ms] ~”Type \”apropos word\” to search for commands related to \”word\”…\n”
    [      25 ms] ~”Reading symbols from M:\\CodeRepos\\Zeta-Playground\\TestOCD\\TestOcd\\TestOcd/Debug/TestOcd.elf…”
    [      29 ms] ~”done.\n”
    [      30 ms] ~”GNU gdb (GDB) 7.10.1\n”
    [      31 ms] ~”Copyright (C) 2015 Free Software Foundation, Inc.\n”
    [      31 ms] ~”License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html&gt;\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law.  Type \”show copying\”\nand \”show warranty\” for details.\n”
    [      31 ms] ~”This GDB was configured as \”–host=i686-pc-mingw32 –target=arm-eabi\”.\nType \”show configuration\” for configuration details.”
    [      31 ms] ~”\nFor bug reporting instructions, please see:\n”
    [      32 ms] ~”<http://www.gnu.org/software/gdb/bugs/&gt;.\n”
    [      32 ms] ~”Find the GDB manual and other documentation resources online at:\n<http://www.gnu.org/software/gdb/documentation/&gt;.\n”
    [      32 ms] ~”For help, type \”help\”.\n”
    [      32 ms] ~”Type \”apropos word\” to search for commands related to \”word\”.\n”
    [      32 ms] ^done
    [      32 ms] -list-features
    [      33 ms] ^done,features=[“frozen-varobjs”,”pending-breakpoints”,”thread-info”,”data-read-memory-bytes”,”breakpoint-notifications”,”ada-task-info”,”language-option”,”info-gdb-mi-command”,”undefined-command-error-code”,”exec-run-start-option”]
    [      33 ms] -gdb-set stop-on-solib-events 1
    [      33 ms] ^done
    [      33 ms] -gdb-set disassembly-flavor intel
    [      33 ms] ^error,msg=”No symbol \”disassembly\” in current context.”
    [      33 ms] -gdb-set print demangle off
    [      34 ms] ^done
    [      34 ms] -break-insert -f main
    [      44 ms] ^done,bkpt={number=”1″,type=”breakpoint”,disp=”keep”,enabled=”y”,addr=”0x00000928″,func=”main()”,file=”LEDBlink.cpp”,fullname=”M:\\CodeRepos\\Zeta-Playground\\TestOCD\\TestOcd\\TestOcd\\LEDBlink.cpp”,line=”29″,thread-groups=[“i1″],times=”0″,original-location=”main”}
    [      45 ms] set remotetimeout 60
    [      45 ms] &”set remotetimeout 60\n”
    [      45 ms] =cmd-param-changed,param=”remotetimeout”,value=”60″
    [      45 ms] ^done
    [      45 ms] target remote :51002
    [      45 ms] &”target remote :51002\n”
    [      52 ms] ~”Remote debugging using :51002\n”
    [    1462 ms] =thread-group-started,id=”i1″,pid=”42000″
    [    1462 ms] =thread-created,id=”1″,group-id=”i1″
    [    1568 ms] ~”0x030000b8 in ?? ()\n”
    [    1568 ms] *stopped,frame={addr=”0x030000b8″,func=”??”,args=[]},thread-id=”1″,stopped-threads=”all”
    [    1594 ms] ^done
    [    1594 ms] info shared
    [    1594 ms] &”info shared\n”
    [    1594 ms] ~”No shared libraries loaded at this time.\n”
    [    1594 ms] ^done
    [    1595 ms] mon halt
    [    1605 ms] &”mon halt\n”
    [    1649 ms] ^done
    [    1649 ms] mon reset init
    [    1650 ms] &”mon reset init\n”
    [    2728 ms] @”lpc15xx.cpu: target state: halted\n”
    [    2729 ms] @”target halted due to debug-request, current mode: Thread \n”
    [    2729 ms] @”xPSR: 0x01000000 pc: 0x030000b8 msp: 0x02001fe0\n”
    [    2800 ms] ^done
    [    2800 ms] load
    [    2800 ms] &”load\n”
    [    5656 ms] ~”Loading section .isr_vector, size 0xfc lma 0x0\n”
    [    5683 ms] +download,{section=”.isr_vector”,section-size=”252″,total-size=”46462″}
    [    5683 ms] +download,{section=”.isr_vector”,section-sent=”252″,section-size=”252″,total-sent=”252″,total-size=”46462″}
    [    5683 ms] ~”Loading section .text, size 0x8ac lma 0xfc\n”
    [    5683 ms] +download,{section=”.text”,section-size=”2220″,total-size=”46462″}
    [    5684 ms] ~”Loading section .init_array, size 0x4 lma 0x9a8\n”
    [    5684 ms] +download,{section=”.init_array”,section-size=”4″,total-size=”46462″}
    [    5684 ms] ~”Loading section .fini_array, size 0x4 lma 0x9ac\n”
    [    5684 ms] +download,{section=”.fini_array”,section-size=”4″,total-size=”46462″}
    [   25269 ms] ~”Start address 0x784, load size 2480\n”
    [   25329 ms] ~”Transfer rate: 110 bytes/sec, 620 bytes/write.\n”
    [   25351 ms] ^done
    [   25445 ms] -data-evaluate-expression “sizeof(void *)”
    [   25453 ms] ^done,value=”4″
    [   25453 ms] -data-evaluate-expression “sizeof(int)”
    [   25454 ms] ^done,value=”4″
    [   25454 ms] -data-evaluate-expression “sizeof(short)”
    [   25454 ms] ^done,value=”2″
    [   25454 ms] -data-evaluate-expression “sizeof(long)”
    [   25454 ms] ^done,value=”4″
    [   25454 ms] -data-evaluate-expression “sizeof(long long)”
    [   25454 ms] ^done,value=”8″
    [   25455 ms] -data-evaluate-expression “sizeof(char)”
    [   25455 ms] ^done,value=”1″
    [   25455 ms] -data-evaluate-expression “sizeof(wchar_t)”
    [   25455 ms] ^error,msg=”No symbol \”wchar_t\” in current context.”
    [   25455 ms] -data-evaluate-expression “sizeof(float)”
    [   25455 ms] ^done,value=”4″
    [   25455 ms] -data-evaluate-expression “sizeof(double)”
    [   25455 ms] ^done,value=”8″
    [   25455 ms] -data-evaluate-expression “sizeof(long double)”
    [   25455 ms] ^done,value=”8″
    [   25512 ms] info target
    [   25517 ms] &”info target\n”
    [   25517 ms] ~”Symbols from \”M:\\CodeRepos\\Zeta-Playground\\TestOCD\\TestOcd\\TestOcd\\Debug\\TestOcd.elf\”.\n”
    [   25517 ms] ~”Remote serial target in gdb-specific protocol:\n”
    [   25517 ms] ~”Debugging a target over a serial line.\n”
    [   25517 ms] ~”\tWhile running this, GDB does not access memory from…\n”
    [   25517 ms] ~”Local exec file:\n”
    [   25518 ms] ~”\t`M:\\CodeRepos\\Zeta-Playground\\TestOCD\\TestOcd\\TestOcd\\Debug\\TestOcd.elf’, file type elf32-littlearm.\n”
    [   25518 ms] ~”\tEntry point: 0x784\n”
    [   25518 ms] ~”\t0x00000000 – 0x000000fc is .isr_vector\n”
    [   25518 ms] ~”\t0x000000fc – 0x000009a8 is .text\n”
    [   25518 ms] ~”\t0x000009a8 – 0x000009ac is .init_array\n”
    [   25518 ms] ~”\t0x000009ac – 0x000009b0 is .fini_array\n”
    [   25518 ms] ~”\t0x02000000 – 0x02000000 is .data\n”
    [   25518 ms] ~”\t0x02000000 – 0x02000024 is .bss\n”
    [   25518 ms] ^done
    [   25537 ms] -data-evaluate-expression “&_estack”
    [   25539 ms] ^done,value=”0x2004000″
    [   25539 ms] -var-create – * “*((void **)0x2003ffc)”
    [   25566 ms] ^done,name=”var1″,numchild=”0″,value=”0x39ddb05d”,type=”void *”,has_more=”0″
    [   25567 ms] -var-assign “var1″ 0x4847923d
    [   25631 ms] ^done,value=”0x4847923d”
    [   25631 ms] -data-evaluate-expression “\*\(\(void\ \*\*\)0x2003ffc\)”
    [   25648 ms] ^done,value=”0x4847923d”
    [   25648 ms] -exec-continue
    [   25648 ms] ~”Note: automatically using hardware breakpoints for read-only addresses.\n”
    [   25661 ms] ^running
    [   25661 ms] *running,thread-id=”all”
    [   47342 ms] ~”\nProgram received signal ”
    [   47342 ms] ~”SIGINT, Interrupt.\n”
    [   47359 ms] ~”0x030002fe in ?? ()\n”
    [   47360 ms] *stopped,reason=”signal-received”,signal-name=”SIGINT”,signal-meaning=”Interrupt”,frame={addr=”0x030002fe”,func=”??”,args=[]},thread-id=”1″,stopped-threads=”all”
    [   47368 ms] -stack-list-frames –thread 1
    [   47544 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   47544 ms] -stack-list-arguments –thread 1 0
    [   47554 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   47588 ms] -stack-list-frames –thread 1
    [   47596 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   47596 ms] -stack-list-arguments –thread 1 0
    [   47606 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   47607 ms] -stack-list-frames –thread 1
    [   47617 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   47617 ms] -stack-list-arguments –thread 1 0
    [   47627 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   49507 ms] -stack-select-frame 0
    [   49517 ms] ^done
    [   49517 ms] -thread-select 1
    [   49527 ms] ^done,new-thread-id=”1″,frame={level=”0″,addr=”0x030002fe”,func=”??”,args=[]}
    [   49528 ms] -break-delete 1
    [   49537 ms] ^done
    [   49537 ms] -exec-next
    [   49537 ms] 001^done
    [   49537 ms] ^error,msg=”Cannot find bounds of current function”
    [   49541 ms] -stack-list-frames –thread 1
    [   49548 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   49548 ms] -stack-list-arguments –thread 1 0
    [   49558 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   49570 ms] -stack-list-frames –thread 1
    [   49580 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   49580 ms] -stack-list-arguments –thread 1 0
    [   49590 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   49591 ms] -stack-list-frames –thread 1
    [   49601 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   49601 ms] -stack-list-arguments –thread 1 0
    [   49611 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   50301 ms] -stack-select-frame 0
    [   50305 ms] ^done
    [   50305 ms] -thread-select 1
    [   50305 ms] ^done,new-thread-id=”1″,frame={level=”0″,addr=”0x030002fe”,func=”??”,args=[]}
    [   50305 ms] -exec-next
    [   50305 ms] 001^done
    [   50305 ms] ^error,msg=”Cannot find bounds of current function”
    [   50308 ms] -stack-list-frames –thread 1
    [   50317 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   50317 ms] -stack-list-arguments –thread 1 0
    [   50327 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   50332 ms] -stack-list-frames –thread 1
    [   50339 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   50339 ms] -stack-list-arguments –thread 1 0
    [   50340 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   50340 ms] -stack-list-frames –thread 1
    [   50351 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   50351 ms] -stack-list-arguments –thread 1 0
    [   50351 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   50771 ms] -stack-select-frame 0
    [   50773 ms] ^done
    [   50773 ms] -thread-select 1
    [   50773 ms] ^done,new-thread-id=”1″,frame={level=”0″,addr=”0x030002fe”,func=”??”,args=[]}
    [   50773 ms] -exec-next
    [   50773 ms] 001^done
    [   50773 ms] ^error,msg=”Cannot find bounds of current function”
    [   50776 ms] -stack-list-frames –thread 1
    [   50785 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   50785 ms] -stack-list-arguments –thread 1 0
    [   50795 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   50800 ms] -stack-list-frames –thread 1
    [   50806 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   50806 ms] -stack-list-arguments –thread 1 0
    [   50816 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   50817 ms] -stack-list-frames –thread 1
    [   50827 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   50827 ms] -stack-list-arguments –thread 1 0
    [   50827 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   51699 ms] -stack-select-frame 0
    [   51706 ms] ^done
    [   51706 ms] -thread-select 1
    [   51706 ms] ^done,new-thread-id=”1″,frame={level=”0″,addr=”0x030002fe”,func=”??”,args=[]}
    [   51706 ms] -exec-next
    [   51706 ms] 001^done
    [   51707 ms] ^error,msg=”Cannot find bounds of current function”
    [   51709 ms] -stack-list-frames –thread 1
    [   51718 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   51718 ms] -stack-list-arguments –thread 1 0
    [   51728 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   51732 ms] -stack-list-frames –thread 1
    [   51739 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   51739 ms] -stack-list-arguments –thread 1 0
    [   51749 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   51750 ms] -stack-list-frames –thread 1
    [   51760 ms] ^done,stack=[frame={level=”0″,addr=”0x030002fe”,func=”??”},frame={level=”1″,addr=”0xfffffff9″,func=”<signal handler called>”},frame={level=”2″,addr=”0x000001f0″,func=”SystemInit”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/Common/startup.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\Common\\startup.c”,line=”7″},frame={level=”3″,addr=”0x000007ac”,func=”Reset_Handler”,file=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc/LPC15xx/StartupFiles/ORIGINAL_cr_startup_lpc15xx.c”,fullname=”C:\\Users\\bukys\\AppData\\Local\\VisualGDB\\EmbeddedBSPs\\arm-eabi\\com.sysprogs.arm.nxp_lpc\\LPC15xx\\StartupFiles\\ORIGINAL_cr_startup_lpc15xx.c”,line=”610″}]
    [   51760 ms] -stack-list-arguments –thread 1 0
    [   51770 ms] ^done,stack-args=[frame={level=”0″,args=[]},frame={level=”1″,args=[]},frame={level=”2″,args=[]},frame={level=”3″,args=[]}]
    [   68393 ms] -gdb-exit
    [   68400 ms] ^exit
    [   68400 ms] =thread-group-exited,id=”i1″

    #10813
    support
    Keymaster

    Hi,

    Thanks for the updated log. The stack address now looks writable, so the problem must be caused by something else. It could be memory corruption somewhere in your code, or a hardware problem.

    Can you reproduce the same behavior with the basic LEDBlink project or does it work as expected?

    #10817
    JB_Lightcon
    Participant

    I’m working with basic LED blink example:

    #include <chip.h>

    volatile unsigned long SysTickCnt;

    #ifdef __cplusplus
    extern “C”
    #endif
    void SysTick_Handler(void) {
    SysTickCnt++;
    }

    void Delay(unsigned long tick) {
    unsigned long systickcnt;

    systickcnt = SysTickCnt;
    while ((SysTickCnt – systickcnt) < tick)
    ;
    }

    const uint32_t ExtRateIn = 0;
    const uint32_t OscRateIn = 12000000;
    const uint32_t RTCOscRateIn = 32768;

    #ifndef LPC_GPIO
    #define LPC_GPIO LPC_GPIO_PORT
    #endif

    int main() {
    SystemCoreClockUpdate();
    Chip_GPIO_Init(LPC_GPIO);

    SysTick_Config(SystemCoreClock / 1000);
    Chip_GPIO_SetPortDIROutput(LPC_GPIO, 1, 1 << 2);

    for (;;) {
    Chip_GPIO_WritePortBit(LPC_GPIO, 1, 2, 1);
    Delay(50);
    Chip_GPIO_WritePortBit(LPC_GPIO, 1, 2, 0);
    Delay(50);
    }

    return 0;
    }

    I could send you whole project and OpenOCD configuration files if you are willing to look at those.

    #10831
    support
    Keymaster

    Hi,

    Looks like the _estack used in the latest log is valid: when VisualGDB writes a random value just before the end of the stack, it is read back correctly:

    [   25566 ms] ^done,name=”var1″,numchild=”0″,value=”0x39ddb05d”,type=”void *”,has_more=”0″
    [   25567 ms] -var-assign “var1″ 0x4847923d
    [   25631 ms] ^done,value=”0x4847923d”
    [   25631 ms] -data-evaluate-expression “\*\(\(void\ \*\*\)0x2003ffc\)”
    [   25648 ms] ^done,value=”0x4847923d”

    Hence the problem must be caused by something else. Could you try setting a breakpoint on the Reset_Handler() function and stepping through it to see which part causes the exception?

    Unfortunately we would not be able to reproduce it on our side, as we don’t have an LPC1549  board.

    #10837
    JB_Lightcon
    Participant

    This is my reset handler and it breaks where I try to step into SystemInit(); function.

     

    void __attribute__((naked, noreturn)) Reset_Handler() {
    //Normally the CPU should will setup the based on the value from the first entry in the vector table.
    //If you encounter problems with accessing stack variables during initialization, ensure the line below is enabled.
    #ifdef sram_layout
    asm(“ldr sp, =_estack”);
    #endif

    void **pSource, **pDest;
    for (pSource = &_sidata, pDest = &_sdata; pDest != &_edata; pSource++, pDest++)
    *pDest = *pSource;

    for (pDest = &_sbss; pDest != &_ebss; pDest++)
    *pDest = 0;

    SystemInit();
    __libc_init_array();
    (void)main();
    for (;;)
    ;
    }

     

    #10838
    JB_Lightcon
    Participant

    By the way, if it would help in any way, we could send you a LPC1549 board.

    #10844
    support
    Keymaster

    Hi,

    Thanks for the offer, but it looks like it could be much simpler to track it down with a few more steps.

    Please try stepping up to the SystemInit() call and then switch to the Disassembly view and try stepping instruction-by-instruction until you see the faulty one. The exception could be caused by one of the following:

    1. Invalid stack pointer. The crash would happen after a “push” instruction. You can check this by adding the following expression to the Watch window and then changing its value:
      *((unsigned *)($sp – 4))
      If the value can be changed correctly, the $sp address is valid. If it stays 0 despite changing it via the “value” column, the $sp value is incorrect.
    2. If the crash happens immediately after a “bx” instruction, some of the code could have been placed to a wrong address. Please double-check the address validity.
    3. If the crash happens after an instruction that accesses memory, please check whether the corresponding pointer is valid and where did its value come from. It could be an indication of a memory corruption error.
    #10845
    JB_Lightcon
    Participant

    Few instructions before:

    0x000007a8  bl 0x1f0 <SystemInit>

    0x000001f0  strb r7, [r0, r2]

    This is where it stucks forever:

    0x030002fe  b.n 0x30002fe

    Ant this gets us to the Boot ROM memory space, so I suspect that our code in not valid, from LPC15xx datasheet:

    5.4.2 Criterion for valid user code
    The reserved ARM Cortex-M3 exception vector location 7 (offset 0x0000 001C in the
    vector table) should contain the 2’s complement of the check-sum of table entries 0
    through 6. This causes the checksum of the first 8 table entries to be 0. The boot loader
    code checksums the first 8 locations in sector 0 of the flash. If the result is 0, then
    execution control is transferred to the user code.

    Although USB does not start as master storage device…

    P.S.: Watch1 does not do anything for this expression:

    *((unsigned *)($sp – 4))    -var-create: unable to create variable object

    #10852
    support
    Keymaster

    Hi,

    It looks like your firmware does not get properly programmed into the FLASH. The default SystemInit() function for a LPC1549 project normally looks like this:

    (gdb) x/10i SystemInit
       0x1f0 <SystemInit>:  push    {r7, lr}
       0x1f2 <SystemInit+2>:        add     r7, sp, #0
       0x1f4 <SystemInit+4>:        bl      0x774 <Chip_SystemInit>
       0x1f8 <SystemInit+8>:        nop
       0x1fa <SystemInit+10>:       pop     {r7, pc}
       0x1fc <SystemCoreClockUpdate>:       push    {r7, lr}
       0x1fe <SystemCoreClockUpdate+2>:     add     r7, sp, #0
       0x200 <SystemCoreClockUpdate+4>:     bl      0x4c8 <Chip_Clock_GetSystemClockRate>
       0x204 <SystemCoreClockUpdate+8>:     mov     r2, r0
       0x206 <SystemCoreClockUpdate+10>:    ldr     r3, [pc, #8]    ; (0x210 <SystemCoreClockUpdate+20>)

    Please try running the “x/10i SystemInit” command from the GDB Session window to see if the disassembly instructions there look correct (you can run arm-eabi-gdb.exe <your ELF file> and run the same command there without connecting to a target to see the function contents recorded in the ELF file).

    Please note that for NXP LPC devices we recommend using Segger J-Link instead of OpenOCD as OpenOCD support is not very reliable. You can also try experimenting with the FLASH parameters in the OpenOCD script files to get FLASH programming to work.

Viewing 15 posts - 1 through 15 (of 28 total)
  • You must be logged in to reply to this topic.