Sysprogs forums › Forums › VisualGDB › Received a SIGINT: Interrupt when start debugging
- This topic has 9 replies, 2 voices, and was last updated 4 years, 10 months ago by support.
-
AuthorPosts
-
January 22, 2020 at 22:45 #27200joknParticipant
I just installed VisualGDB and then create my first blinky project for a STM32H750IB device. When using my ST-Link V2 Adapter the download seems not to come to an end. When using Keil ULINK2 as a CMSIS-DAP flashing of the device get finish but after the SIGINT:Interrupt message appears. I have set a breakpoint at main and started the debugger with F10.
Attached the GDB log file
Attachments:
You must be logged in to view attached files.January 22, 2020 at 22:50 #27202supportKeymasterHi,
The CMSIS-DAP interface is generally very unreliable and slow, so we would recommend simply using ST-Link or J-Link instead.
You might be able to solve the U-Link issue by analyzing verbose OpenOCD log and patching the OpenOCD scripts, however it may not be practical given that ST-Link and J-Link will very likely just work out-of-the-box.
January 22, 2020 at 23:09 #27203joknParticipantThanks for quick response.
Of course my first attempt was using the ST-link. Downloading seens to be OK, but the debugger dos not stop at main or at my breakpoint. When pressing [break al] there is no source available. The dissasemby windows shows be that the processor was running in the nirvana. Mayby sometink is worong with my project. Its a simple blinky template from your project wizzard.
January 23, 2020 at 05:43 #27210supportKeymasterThanks for pointing it out. We have quickly rechecked the default project generated for the STM32H750IB device and it appeared to be fine (we don’t have this specific hardware to test it). Hence, the problem you are experiencing might be caused by one of the following issues:
- The layout of the project built by VisualGDB doesn’t match the target (e.g. you selected a slightly different device when building the project or there is a bug in our device definitions).
- Something is interfering with the debugging (e.g. unstable power).
The easiest way to narrow this down would be to try using VisualGDB to debug an application for the same board built with the ST’s IDE:
- Try building a similar project in the other IDE and locate the .elf file.
- Copy the elf file over the one built with VisualGDB (<Project directory>\VisualGDB\Debug\<Project Name>).
- Select Tools->Options->Projects and Solutions->Build and Run->On Run->Prompt to Build.
- Start debugging. When Visual Studio asks whether to rebuild the project, click “No”.
Please let us know if a project built outside VisualGDB runs as expected under the VisualGDB’s debugger and we will advise you on the further steps to diagnose this.
As a quick alternative, you can also try configuring VisualGDB to stop at the reset handler (VisualGDB Project Properties -> Embedded Debug Tweaking) and press F10 instead of F5 to start debugging. This will step into the very first instruction that gets executed after reset, letting you debug the initialization code.
January 23, 2020 at 17:49 #27215joknParticipantYour hint to stop after reset handler was great. The point is that the flash was not programmed!! And at the moment do not know how get the flash programmed. In Debug settings Programm FLASH memeory is set to always but nevetheless the FLASH is not erased neither programmed.
BTW when running in RAM it works fine.
Attachments:
You must be logged in to view attached files.January 23, 2020 at 17:56 #27217supportKeymasterHi,
Perhaps the FLASH memory is locked via the fuse bits? Please try completely erasing it via the ST-Link tool.
January 23, 2020 at 18:03 #27218joknParticipanthmm – I don’t think so becaus I have MDK-KEIL running in the other side and it works great (also with the ST-Link) I just tried the funktion [Programmand run without debbuging] with the following log:
C:\MinGW\arm\bin\arm-none-eabi-gdb.exe --interpreter mi "D:\CraneSoft\Develop\Systec\Xemo-2020\VisualGDB\EmbeddedProject2\VisualGDB\Debug\EmbeddedProject2" C:\MinGW\arm\bin\arm-none-eabi-gdb.exe --interpreter mi "D:\CraneSoft\Develop\Systec\Xemo-2020\VisualGDB\EmbeddedProject2\VisualGDB\Debug\EmbeddedProject2" -gdb-version -gdb-version C:\MinGW\arm\bin\arm-none-eabi-gdb.exe: warning: Couldn't determine a path for the index cache directory. C:\MinGW\arm\bin\arm-none-eabi-gdb.exe: warning: Couldn't determine a path for the index cache directory. C:\MinGW\arm\bin\arm-none-eabi-gdb.exe: warning: Couldn't determine a path for the index cache directory. =thread-group-added,id="i1" =thread-group-added,id="i1" =thread-group-added,id="i1" ~"GNU gdb (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.0.20190703-git\n" ~"GNU gdb (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.0.20190703-git\n" ~"GNU gdb (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.0.20190703-git\n" ~"Copyright (C) 2019 Free Software Foundation, Inc.\n" ~"Copyright (C) 2019 Free Software Foundation, Inc.\n" ~"Copyright (C) 2019 Free Software Foundation, Inc.\n" ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law." ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law." ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law." ~"\nType \"show copying\" and \"show warranty\" for details.\n" ~"\nType \"show copying\" and \"show warranty\" for details.\n" ~"\nType \"show copying\" and \"show warranty\" for details.\n" ~"This GDB was configured as \"--host=i686-w64-mingw32 --target=arm-none-eabi\".\n" ~"This GDB was configured as \"--host=i686-w64-mingw32 --target=arm-none-eabi\".\n" ~"This GDB was configured as \"--host=i686-w64-mingw32 --target=arm-none-eabi\".\n" ~"Type \"show configuration\" for configuration details.\n" ~"Type \"show configuration\" for configuration details.\n" ~"Type \"show configuration\" for configuration details.\n" ~"For bug reporting instructions, please see:\n" ~"For bug reporting instructions, please see:\n" ~"For bug reporting instructions, please see:\n" ~"<http://www.gnu.org/software/gdb/bugs/>.\n" ~"<http://www.gnu.org/software/gdb/bugs/>.\n" ~"<http://www.gnu.org/software/gdb/bugs/>.\n" ~"Find the GDB manual and other documentation resources online at:\n <http://www.gnu.org/software/gdb/documentation/>." ~"Find the GDB manual and other documentation resources online at:\n <http://www.gnu.org/software/gdb/documentation/>." ~"Find the GDB manual and other documentation resources online at:\n <http://www.gnu.org/software/gdb/documentation/>." ~"\n\n" ~"\n\n" ~"\n\n" ~"For help, type \"help\".\n" ~"For help, type \"help\".\n" ~"For help, type \"help\".\n" ~"Type \"apropos word\" to search for commands related to \"word\"...\n" ~"Type \"apropos word\" to search for commands related to \"word\"...\n" ~"Type \"apropos word\" to search for commands related to \"word\"...\n" ~"Reading symbols from D:\\CraneSoft\\Develop\\Systec\\Xemo-2020\\VisualGDB\\EmbeddedProject2\\VisualGDB\\Debug\\EmbeddedProject2...\n" ~"Reading symbols from D:\\CraneSoft\\Develop\\Systec\\Xemo-2020\\VisualGDB\\EmbeddedProject2\\VisualGDB\\Debug\\EmbeddedProject2...\n" ~"Reading symbols from D:\\CraneSoft\\Develop\\Systec\\Xemo-2020\\VisualGDB\\EmbeddedProject2\\VisualGDB\\Debug\\EmbeddedProject2...\n" (gdb) ~"GNU gdb (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.0.20190703-git\n" ~"GNU gdb (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.0.20190703-git\n" ~"GNU gdb (GNU Tools for Arm Embedded Processors 8-2019-q3-update) 8.3.0.20190703-git\n" ~"Copyright (C) 2019 Free Software Foundation, Inc.\n" ~"Copyright (C) 2019 Free Software Foundation, Inc.\n" ~"Copyright (C) 2019 Free Software Foundation, Inc.\n" ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law." ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law." ~"License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>\nThis is free software: you are free to change and redistribute it.\nThere is NO WARRANTY, to the extent permitted by law." ~"\nType \"show copying\" and \"show warranty\" for details.\n" ~"\nType \"show copying\" and \"show warranty\" for details.\n" ~"\nType \"show copying\" and \"show warranty\" for details.\n" ~"This GDB was configured as \"--host=i686-w64-mingw32 --target=arm-none-eabi\".\n" ~"This GDB was configured as \"--host=i686-w64-mingw32 --target=arm-none-eabi\".\n" ~"This GDB was configured as \"--host=i686-w64-mingw32 --target=arm-none-eabi\".\n" ~"Type \"show configuration\" for configuration details.\n" ~"Type \"show configuration\" for configuration details.\n" ~"Type \"show configuration\" for configuration details.\n" ~"For bug reporting instructions, please see:\n" ~"For bug reporting instructions, please see:\n" ~"For bug reporting instructions, please see:\n" ~"<http://www.gnu.org/software/gdb/bugs/>.\n" ~"<http://www.gnu.org/software/gdb/bugs/>.\n" ~"<http://www.gnu.org/software/gdb/bugs/>.\n" ~"Find the GDB manual and other documentation resources online at:\n <http://www.gnu.org/software/gdb/documentation/>." ~"Find the GDB manual and other documentation resources online at:\n <http://www.gnu.org/software/gdb/documentation/>." ~"Find the GDB manual and other documentation resources online at:\n <http://www.gnu.org/software/gdb/documentation/>." ~"\n\n" ~"\n\n" ~"\n\n" ~"For help, type \"help\".\n" ~"For help, type \"help\".\n" ~"For help, type \"help\".\n" ~"Type \"apropos word\" to search for commands related to \"word\".\n" ~"Type \"apropos word\" to search for commands related to \"word\".\n" ~"Type \"apropos word\" to search for commands related to \"word\".\n" ^done ^done ^done (gdb) -list-features -list-features ^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","data-disassemble-a-option"] ^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","data-disassemble-a-option"] ^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","data-disassemble-a-option"] (gdb) -gdb-set disassembly-flavor intel -gdb-set disassembly-flavor intel ^error,msg="No symbol \"disassembly\" in current context." ^error,msg="No symbol \"disassembly\" in current context." ^error,msg="No symbol \"disassembly\" in current context." (gdb) -gdb-set print demangle off -gdb-set print demangle off ^done ^done ^done (gdb) set remotetimeout 60 set remotetimeout 60 &"set remotetimeout 60\n" &"set remotetimeout 60\n" &"set remotetimeout 60\n" =cmd-param-changed,param="remotetimeout",value="60" =cmd-param-changed,param="remotetimeout",value="60" =cmd-param-changed,param="remotetimeout",value="60" ^done ^done ^done (gdb) target remote :60644 target remote :60644 &"target remote :60644\n" &"target remote :60644\n" &"target remote :60644\n" ~"Remote debugging using :60644\n" ~"Remote debugging using :60644\n" ~"Remote debugging using :60644\n" =thread-group-started,id="i1",pid="42000" =thread-group-started,id="i1",pid="42000" =thread-group-started,id="i1",pid="42000" =thread-created,id="1",group-id="i1" =thread-created,id="1",group-id="i1" =thread-created,id="1",group-id="i1" &"warning: Overlapping regions in memory map: ignoring\n" &"warning: Overlapping regions in memory map: ignoring\n" &"warning: Overlapping regions in memory map: ignoring\n" ~"0x080002ac in _stext ()\n" ~"0x080002ac in _stext ()\n" ~"0x080002ac in _stext ()\n" *stopped,frame={addr="0x080002ac",func="_stext",args=[],arch="armv7e-m"},thread-id="1",stopped-threads="all" *stopped,frame={addr="0x080002ac",func="_stext",args=[],arch="armv7e-m"},thread-id="1",stopped-threads="all" *stopped,frame={addr="0x080002ac",func="_stext",args=[],arch="armv7e-m"},thread-id="1",stopped-threads="all" ^done ^done ^done (gdb) info shared info shared &"info shared\n" &"info shared\n" &"info shared\n" ~"No shared libraries loaded at this time.\n" ~"No shared libraries loaded at this time.\n" ~"No shared libraries loaded at this time.\n" ^done ^done ^done (gdb) mon halt mon halt &"mon halt\n" &"mon halt\n" &"mon halt\n" ^done ^done ^done (gdb) mon reset init mon reset init &"mon reset init\n" &"mon reset init\n" &"mon reset init\n" @"target halted due to debug-request, current mode: Thread \n" @"target halted due to debug-request, current mode: Thread \n" @"target halted due to debug-request, current mode: Thread \n" @"xPSR: 0x01000000 pc: 0x080002ac msp: 0x20007d70\n" @"xPSR: 0x01000000 pc: 0x080002ac msp: 0x20007d70\n" @"xPSR: 0x01000000 pc: 0x080002ac msp: 0x20007d70\n" @"Stlink adapter speed set to 4000 kHz\n" @"Stlink adapter speed set to 4000 kHz\n" @"Stlink adapter speed set to 4000 kHz\n" ^done ^done ^done (gdb) mon report_flash_progress 1 mon report_flash_progress 1 &"mon report_flash_progress 1\n" &"mon report_flash_progress 1\n" &"mon report_flash_progress 1\n" @"Device: STM32H74x/75x\n" @"Device: STM32H74x/75x\n" @"Device: STM32H74x/75x\n" @"flash size probed value 128\n" @"flash size probed value 128\n" @"flash size probed value 128\n" @"STM32H flash size is 128kb, base address is 0x8000000\n" @"STM32H flash size is 128kb, base address is 0x8000000\n" @"STM32H flash size is 128kb, base address is 0x8000000\n" @"Device: STM32H74x/75x\n" @"Device: STM32H74x/75x\n" @"Device: STM32H74x/75x\n" @"flash size probed value 128\n" @"flash size probed value 128\n" @"flash size probed value 128\n" @"STM32H flash size is 128kb, base address is 0x8000000\n" @"STM32H flash size is 128kb, base address is 0x8000000\n" @"STM32H flash size is 128kb, base address is 0x8000000\n" @"flash_bank_summary:0x8000000|0x20000|stm32h7x.bank1.cpu0\n" @"flash_bank_summary:0x8000000|0x20000|stm32h7x.bank1.cpu0\n" @"flash_bank_summary:0x8000000|0x20000|stm32h7x.bank1.cpu0\n" @"flash_bank_summary:0x8000000|0x20000|stm32h7x.bank2.cpu0\n" @"flash_bank_summary:0x8000000|0x20000|stm32h7x.bank2.cpu0\n" @"flash_bank_summary:0x8000000|0x20000|stm32h7x.bank2.cpu0\n" @"FLASH progress reporting is now on\n" @"FLASH progress reporting is now on\n" @"FLASH progress reporting is now on\n" @"\n" @"\n" @"\n" @"\n" @"\n" @"\n" ^done ^done ^done (gdb) load load &"load\n" &"load\n" &"load\n" ~"Loading section .isr_vector, size 0x298 lma 0x8000000\n" ~"Loading section .isr_vector, size 0x298 lma 0x8000000\n" ~"Loading section .isr_vector, size 0x298 lma 0x8000000\n" +download,{section=".isr_vector",section-size="664",total-size="91820"} +download,{section=".isr_vector",section-size="664",total-size="91820"} +download,{section=".isr_vector",section-size="664",total-size="91820"} +download,{section=".isr_vector",section-sent="664",section-size="664",total-sent="664",total-size="91820"} +download,{section=".isr_vector",section-sent="664",section-size="664",total-sent="664",total-size="91820"} +download,{section=".isr_vector",section-sent="664",section-size="664",total-sent="664",total-size="91820"} ~"Loading section .text, size 0x14ac lma 0x8000298\n" ~"Loading section .text, size 0x14ac lma 0x8000298\n" ~"Loading section .text, size 0x14ac lma 0x8000298\n" +download,{section=".text",section-size="5292",total-size="91820"} +download,{section=".text",section-size="5292",total-size="91820"} +download,{section=".text",section-size="5292",total-size="91820"} ~"Loading section .init_array, size 0x4 lma 0x8001744\n" ~"Loading section .init_array, size 0x4 lma 0x8001744\n" ~"Loading section .init_array, size 0x4 lma 0x8001744\n" +download,{section=".init_array",section-size="4",total-size="91820"} +download,{section=".init_array",section-size="4",total-size="91820"} +download,{section=".init_array",section-size="4",total-size="91820"} ~"Loading section .fini_array, size 0x4 lma 0x8001748\n" ~"Loading section .fini_array, size 0x4 lma 0x8001748\n" ~"Loading section .fini_array, size 0x4 lma 0x8001748\n" +download,{section=".fini_array",section-size="4",total-size="91820"} +download,{section=".fini_array",section-size="4",total-size="91820"} +download,{section=".fini_array",section-size="4",total-size="91820"} ~"Loading section .data, size 0x10 lma 0x800174c\n" ~"Loading section .data, size 0x10 lma 0x800174c\n" ~"Loading section .data, size 0x10 lma 0x800174c\n" +download,{section=".data",section-size="16",total-size="91820"} +download,{section=".data",section-size="16",total-size="91820"} +download,{section=".data",section-size="16",total-size="91820"} ~"Start address 0x8000c80, load size 5980\n" ~"Start address 0x8000c80, load size 5980\n" ~"Start address 0x8000c80, load size 5980\n" ~"Transfer rate: 104 KB/sec, 1196 bytes/write.\n" ~"Transfer rate: 104 KB/sec, 1196 bytes/write.\n" ~"Transfer rate: 104 KB/sec, 1196 bytes/write.\n" ^done ^done ^done (gdb) compare-sections compare-sections &"compare-sections\n" &"compare-sections\n" &"compare-sections\n" ~"Section .isr_vector, range 0x8000000 -- 0x8000298: MIS-MATCHED!\n" ~"Section .isr_vector, range 0x8000000 -- 0x8000298: MIS-MATCHED!\n" ~"Section .isr_vector, range 0x8000000 -- 0x8000298: MIS-MATCHED!\n" ~"Section .text, range 0x8000298 -- 0x8001744: MIS-MATCHED!\n" ~"Section .text, range 0x8000298 -- 0x8001744: MIS-MATCHED!\n" ~"Section .text, range 0x8000298 -- 0x8001744: MIS-MATCHED!\n" ~"Section .init_array, range 0x8001744 -- 0x8001748: MIS-MATCHED!\n" ~"Section .init_array, range 0x8001744 -- 0x8001748: MIS-MATCHED!\n" ~"Section .init_array, range 0x8001744 -- 0x8001748: MIS-MATCHED!\n" ~"Section .fini_array, range 0x8001748 -- 0x800174c: MIS-MATCHED!\n" ~"Section .fini_array, range 0x8001748 -- 0x800174c: MIS-MATCHED!\n" ~"Section .fini_array, range 0x8001748 -- 0x800174c: MIS-MATCHED!\n" ~"Section .data, range 0x800174c -- 0x800175c: MIS-MATCHED!\n" ~"Section .data, range 0x800174c -- 0x800175c: MIS-MATCHED!\n" ~"Section .data, range 0x800174c -- 0x800175c: MIS-MATCHED!\n" &"warning: One or more sections of the target image does not match\nthe loaded file\n" &"warning: One or more sections of the target image does not match\nthe loaded file\n" &"warning: One or more sections of the target image does not match\nthe loaded file\n" &"\n" &"\n" &"\n" ^done ^done ^done (gdb)
- This reply was modified 4 years, 10 months ago by support. Reason: formatting
January 23, 2020 at 18:09 #27220supportKeymasterHi,
Keil might have protected the memory with the fuse bits in a way that cannot be overridden by OpenOCD.
Either way, feel free to troubleshoot it on your own if you have a better understanding what is going on. If not, please try erasing the memory using the ST-Link tool and then use the “Verify FLASH memory” button in the GDB Session window to see what exactly got programmed into the FLASH memory. This should help narrow down the issue and help us suggest next steps.
January 23, 2020 at 18:16 #27221joknParticipantI pointed it out !!
In The Debug settings, there is a [Debugged device] select. Per default [Dual Flash bank] was selected. I switched to [Single FLASH bank] and like magic it works.
Attachments:
You must be logged in to view attached files.January 23, 2020 at 18:31 #27223supportKeymasterThanks for pointing this out. We have updated the OpenOCD script selection rules to automatically pick the single-bank script for single-bank devices.
You can get the new rule file by reinstalling the OpenOCD package via Tools->VisualGDB->Manage VisualGDB Packages.
-
AuthorPosts
- You must be logged in to reply to this topic.