Marus / cortex-debug

Visual Studio Code extension for enhancing debug capabilities for Cortex-M Microcontrollers
MIT License
1.01k stars 240 forks source link

Help with applying the 'disassembly function' #505

Closed VzdornovNA88 closed 2 years ago

VzdornovNA88 commented 3 years ago

Hi.

Unfortunately, I can't apply the "Cortex-Debug: Set Force Disassembly" command. I expect a new window in working space of vs code but the extension doesn't show the window with disassembled information but the debugger step on the next instruction in disassembled code when I press the button F10,I think so because the cursor of debugger in my source stays in the place and int output of gdb new address of instruction is shown. So , I have checked the gdb output with 'disassembly' command and the output is right but the extension doesn't show the window with disassembled information.

Also, I have tried to apply "Cortex-Debug: View Disassembly (Function)" command but got error - "No function matching name/regexp 'main' found."

Short information about of context :

launch file contains :

"configurations": [ { "name": "KUT-01 Debug", "type": "cortex-debug", "request": "launch", "runToEntryPoint": "main", "showDevDebugOutput": false, "servertype": "openocd",

        // "openOCDPreConfigLaunchCommands": ["arm disassemble 0x0 256"],

        "cwd": "${workspaceRoot}",
        "interface": "swd",
        "device": "STM32G473VE",

        "executable": "${workspaceRoot}/build/XXX.elf",

        "svdFile"     :   "${env:CMAKE_NONE_EABI_STM32_TOOL_CHAIN}/cmsis-svd/data/STMicro/STM32G473xx.svd",
        "gdbPath"     :   "${env:CMAKE_NONE_EABI_STM32_TOOL_CHAIN}/eabi/bin/arm-none-eabi-gdb.exe",
        "configFiles" : [ "${workspaceRoot}/openocd.cfg", ],
    },

openocd.cfg file contains :

source [find interface/stlink.cfg] transport select "hla_swd" source [find target/stm32g4x.cfg]

Highly likely, I do something wrong but, unfortunately, I don't have much time to figuring out the right combinations of settings of chain 'vs code -> cortex debug -> open OCD -> gdb'.

Any help is welcome from more competent people in setting up this chain, thanks

haneefdm commented 3 years ago

Chances are you compiled without debugging symbols in the executable or stripped them afterwards. Without debug symbols, disassembly is not possible and even in general your debug experience will be poor.

Use gdb from the command line (or use the Debug Console) and try disassembling yourself disassemble main

https://visualgdb.com/gdbreference/commands/disassemble

Please take a look at your compiler options. YOu should have -g -Og. or -g -O0

https://gcc.gnu.org/onlinedocs/gcc/Debugging-Options.html https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html

Bottom line, if gdb cannot find your function, neither can we.

VzdornovNA88 commented 3 years ago

Hi, again, like I said above , I have checked the gdb output with 'disassembly' command and the output is right(it means that gdb output contains the disassembled code), just You should read again my first message. And I have used '-g' options of compiler otherwise I wouldn't get disassembled info from gdb, once again, gdb works fine ! like I said in my first message but cortex debug doesn't show the same information, so what's next ?

haneefdm commented 3 years ago

Can you enable gdb debugging and with "showDevDebugOutput": true and see in the debug console the commands sent to gdb and responses we get back. Maybe we didn't even get that far to send a gdb-command. I don't see any output from the Debug Console

You can issue gdb-commands yourself from the 'Debug Console' and see what you get. A simple mismatch between the exe-name between experiments (command-line vs. the settings in the debugger can do it) So, not it is not clear to me based on the info I see that gdb is able to disassemble. I can believe there is a problem but it works fine for me. I don't have your executable either so, I don't have much to go on. Can I have that or something liie that please? It is possible that we are unable to read the symbols from the executable as well..

haneefdm commented 3 years ago

I think I know what the problem is but I still need an executable. I can try to work with it, please know that I don't have your HW setup.

VzdornovNA88 commented 3 years ago

Ok, now this is a constructive dialogue for me, thanks. So , I am going to set '"showDevDebugOutput": true' and send the result of debugging in my next message. In addition , I applied gdb commands , like a 'disassembly main' in the text field of debug console of vs code, I want to say that I am fine debugging the program , if my settings in 'launch.json' file was wrong (as example name of elf file was wrong) I wouldn't run debug.

VzdornovNA88 commented 3 years ago

Ok, I have to think about this -> '... I still need an executable....', just it is NDA. I should make a minimal working example for that

haneefdm commented 3 years ago

Yes, any example is nice. Not sure how else I can debug. If this is not working, chances are that there are some other things not working (totally unrelated to disassembly), which is why it is important.

VzdornovNA88 commented 3 years ago

I have done : (unfortunately, I had to replace project NAME and elf)

start to main:

`Reading symbols from 'G:\XXX-01/build/XXX-01.elf' Finished reading symbols Please check TERMINAL tab (gdb-server) for output from openocd.exe Launching server: "openocd.exe" "-c" "gdb_port 50000" "-c" "tcl_port 50001" "-c" "telnet_port 50002" "-s" "G:\XXX-01" "-f" "G:\XXX-01/openocd.cfg" Launching GDB: "G:/stm32-gcc-cmake-tool-chain/eabi/bin/arm-none-eabi-gdb.exe" "-q" "--interpreter=mi2" 1-gdb-set target-async on 2-interpreter-exec console "source c:/Users/xxxxxxxxxx/.vscode/extensions/marus25.cortex-debug-0.4.7/support/gdbsupport.init" 3-interpreter-exec console "set print demangle on" 4-interpreter-exec console "set print asm-demangle on" 5-target-select extended-remote localhost:50000 6-interpreter-exec console "monitor reset halt" 7-target-download 8-interpreter-exec console "monitor reset halt" 9-enable-pretty-printing 10-interpreter-exec console "monitor foreach t [target names] { $t configure -event gdb-detach { shutdown } }" undefinedG:\stm32-gcc-cmake-tool-chain\eabi\bin\arm-none-eabi-gdb.exe: warning: Couldn't determine a path for the index cache directory. GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"thread-group-added","output":[["id","i1"]]}]} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"Reading symbols from G:\XXX-01/build/XXX-01.elf...\n"}]} Reading symbols from G:\XXX-01/build/XXX-01.elf... GDB -> App: {"token":1,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"token":2,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"token":3,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"cmd-param-changed","output":[["param","print asm-demangle"],["value","on"]]}]} GDB -> App: {"token":4,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"thread-group-started","output":[["id","i1"],["pid","42000"]]}]} GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"thread-created","output":[["id","1"],["group-id","i1"]]}]} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"0x080021a0 in prvIdleTask (pvParameters=) at G:/stm32-gcc-cmake-tool-chain/STM32CubeG4/Middlewares/Third_Party/FreeRTOS/Source/tasks.c:3374\n"}]} 0x080021a0 in prvIdleTask (pvParameters=) at G:/stm32-gcc-cmake-tool-chain/STM32CubeG4/Middlewares/Third_Party/FreeRTOS/Source/tasks.c:3374 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"3374\t\t\t\tif( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ tskIDLE_PRIORITY ] ) ) > ( UBaseType_t ) 1 )\n"}]} 3374 if( listCURRENT_LIST_LENGTH( &( pxReadyTasksLists[ tskIDLE_PRIORITY ] ) ) > ( UBaseType_t ) 1 ) GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"exec","asyncClass":"stopped","output":[["frame",[["addr","0x080021a0"],["func","prvIdleTask"],["args",[[["name","pvParameters"],["value",""]]]],["file","G:/stm32-gcc-cmake-tool-chain/STM32CubeG4/Middlewares/Third_Party/FreeRTOS/Source/tasks.c"],["fullname","G:\stm32-gcc-cmake-tool-chain\STM32CubeG4\Middlewares\Third_Party\FreeRTOS\Source\tasks.c"],["line","3374"],["arch","armv7e-m"]]],["thread-id","1"],["stopped-threads","all"]]}]} Program stopped, probably due to a reset and/or halt issued by debugger GDB -> App: {"token":5,"outOfBandRecord":[],"resultRecords":{"resultClass":"connected","results":[]}} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"Unable to match requested speed 2000 kHz, using 1800 kHz\n"}]} Unable to match requested speed 2000 kHz, using 1800 kHz GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"Unable to match requested speed 2000 kHz, using 1800 kHz\n"}]} Unable to match requested speed 2000 kHz, using 1800 kHz GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"target halted due to debug-request, current mode: Thread \n"}]} target halted due to debug-request, current mode: Thread GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"xPSR: 0x01000000 pc: 0x08005d00 msp: 0x20020000\n"}]} xPSR: 0x01000000 pc: 0x08005d00 msp: 0x20020000 GDB -> App: {"token":6,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["address","0x08005d00"],["load-size","29220"],["transfer-rate","252984"],["write-rate","3246"]]}} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"Unable to match requested speed 2000 kHz, using 1800 kHz\n"}]} Unable to match requested speed 2000 kHz, using 1800 kHz GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"Unable to match requested speed 2000 kHz, using 1800 kHz\n"}]} Unable to match requested speed 2000 kHz, using 1800 kHz GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"target halted due to debug-request, current mode: Thread \n"}]} target halted due to debug-request, current mode: Thread GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"xPSR: 0x01000000 pc: 0x08005d00 msp: 0x20020000\n"}]} xPSR: 0x01000000 pc: 0x08005d00 msp: 0x20020000 GDB -> App: {"token":8,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"token":9,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"token":10,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} 11-break-insert "g:\XXX-01\Core\Src\main.c:88" 12-break-insert -t --function main GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"Note: automatically using hardware breakpoints for read-only addresses.\n"}]} Note: automatically using hardware breakpoints for read-only addresses. GDB -> App: {"token":11,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["bkpt",[["number","1"],["type","breakpoint"],["disp","keep"],["enabled","y"],["addr","0x080012ec"],["func","main"],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\XXX-01\Core\Src\main.c"],["line","88"],["thread-groups",["i1"]],["times","0"],["original-location","g:\XXX-01\Core\Src\main.c:88"]]]]}} GDB -> App: {"token":12,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["bkpt",[["number","2"],["type","breakpoint"],["disp","del"],["enabled","y"],["addr","0x080012e8"],["func","main"],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\XXX-01\Core\Src\main.c"],["line","81"],["thread-groups",["i1"]],["times","0"],["original-location","-function main"]]]]}} 13-exec-continue GDB -> App: {"token":13,"outOfBandRecord":[],"resultRecords":{"resultClass":"running","results":[]}} GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"exec","asyncClass":"running","output":[["thread-id","all"]]}]} GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"breakpoint-modified","output":[["bkpt",[["number","2"],["type","breakpoint"],["disp","del"],["enabled","y"],["addr","0x080012e8"],["func","main"],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\XXX-01\Core\Src\main.c"],["line","81"],["thread-groups",["i1"]],["times","1"],["original-location","-function main"]]]]}]} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"\n"}]}

GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"Temporary breakpoint 2, main () at G:/XXX-01/Core/Src/main.c:81\n"}]} Temporary breakpoint 2, main () at G:/XXX-01/Core/Src/main.c:81 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"81\t HAL_Init();\n"}]} 81 HAL_Init(); GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"exec","asyncClass":"stopped","output":[["reason","breakpoint-hit"],["disp","del"],["bkptno","2"],["frame",[["addr","0x080012e8"],["func","main"],["args",[]],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\XXX-01\Core\Src\main.c"],["line","81"],["arch","armv7e-m"]]],["thread-id","1"],["stopped-threads","all"]]}]} GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"breakpoint-deleted","output":[["id","2"]]}]} 14-thread-list-ids 15-thread-list-ids 16-data-list-register-names 17-data-list-register-names GDB -> App: {"token":14,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["thread-ids",[["thread-id","1"]]],["current-thread-id","1"],["number-of-threads","1"]]}} 18-thread-info 1 GDB -> App: {"token":15,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["thread-ids",[["thread-id","1"]]],["current-thread-id","1"],["number-of-threads","1"]]}} 19-thread-info 1 GDB -> App: {"token":16,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["register-names",["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","sp","lr","pc","","","","","","","","","","xPSR","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","d10","d11","d12","d13","d14","d15","","","","","","","","","","","","","","","","","fpscr","msp","psp","primask","basepri","faultmask","control","s0","s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","s16","s17","s18","s19","s20","s21","s22","s23","s24","s25","s26","s27","s28","s29","s30","s31"]]]}} GDB -> App: {"token":17,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["register-names",["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","sp","lr","pc","","","","","","","","","","xPSR","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","d10","d11","d12","d13","d14","d15","","","","","","","","","","","","","","","","","fpscr","msp","psp","primask","basepri","faultmask","control","s0","s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","s16","s17","s18","s19","s20","s21","s22","s23","s24","s25","s26","s27","s28","s29","s30","s31"]]]}} GDB -> App: {"token":18,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["threads",[[["id","1"],["target-id","Remote target"],["frame",[["level","0"],["addr","0x080012e8"],["func","main"],["args",[]],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\XXX-01\Core\Src\main.c"],["line","81"],["arch","armv7e-m"]]],["state","stopped"]]]]]}} GDB -> App: {"token":19,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["threads",[[["id","1"],["target-id","Remote target"],["frame",[["level","0"],["addr","0x080012e8"],["func","main"],["args",[]],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\XXX-01\Core\Src\main.c"],["line","81"],["arch","armv7e-m"]]],["state","stopped"]]]]]}} 20-data-list-register-values N GDB -> App: {"token":20,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["register-values",[[["number","0"],["value","536870912"]],[["number","1"],["value","536872004"]],[["number","2"],["value","134217728"]],[["number","3"],["value","134218981"]],[["number","4"],["value","536880012"]],[["number","5"],["value","0"]],[["number","6"],["value","0"]],[["number","7"],["value","0"]],[["number","8"],["value","0"]],[["number","9"],["value","0"]],[["number","10"],["value","0"]],[["number","11"],["value","0"]],[["number","12"],["value","0"]],[["number","13"],["value","0x2001fff8"]],[["number","14"],["value","134241591"]],[["number","15"],["value","0x80012e8 <main+2>"]],[["number","25"],["value","1627389952"]],[["number","58"],["value","0"]],[["number","59"],["value","0"]],[["number","60"],["value","0"]],[["number","61"],["value","0"]],[["number","62"],["value","0"]],[["number","63"],["value","0"]],[["number","64"],["value","0"]],[["number","65"],["value","0"]],[["number","66"],["value","0"]],[["number","67"],["value","0"]],[["number","68"],["value","0"]],[["number","69"],["value","0"]],[["number","70"],["value","0"]],[["number","71"],["value","0"]],[["number","72"],["value","0"]],[["number","73"],["value","0"]],[["number","90"],["value","0"]],[["number","91"],["value","0x2001fff8"]],[["number","92"],["value","0x0"]],[["number","93"],["value","0"]],[["number","94"],["value","0"]],[["number","95"],["value","0"]],[["number","96"],["value","0"]],[["number","97"],["value","0"]],[["number","98"],["value","0"]],[["number","99"],["value","0"]],[["number","100"],["value","0"]],[["number","101"],["value","0"]],[["number","102"],["value","0"]],[["number","103"],["value","0"]],[["number","104"],["value","0"]],[["number","105"],["value","0"]],[["number","106"],["value","0"]],[["number","107"],["value","0"]],[["number","108"],["value","0"]],[["number","109"],["value","0"]],[["number","110"],["value","0"]],[["number","111"],["value","0"]],[["number","112"],["value","0"]],[["number","113"],["value","0"]],[["number","114"],["value","0"]],[["number","115"],["value","0"]],[["number","116"],["value","0"]],[["number","117"],["value","0"]],[["number","118"],["value","0"]],[["number","119"],["value","0"]],[["number","120"],["value","0"]],[["number","121"],["value","0"]],[["number","122"],["value","0"]],[["number","123"],["value","0"]],[["number","124"],["value","0"]],[["number","125"],["value","0"]],[["number","126"],["value","0"]],[["number","127"],["value","0"]],[["number","128"],["value","0"]]]]]}} 21-stack-info-depth --thread 1 10000 22-data-list-register-values N 23-stack-info-depth --thread 1 10000 GDB -> App: {"token":21,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["depth","1"]]}} 24-stack-list-frames --thread 1 0 0 GDB -> App: {"token":22,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["register-values",[[["number","0"],["value","536870912"]],[["number","1"],["value","536872004"]],[["number","2"],["value","134217728"]],[["number","3"],["value","134218981"]],[["number","4"],["value","536880012"]],[["number","5"],["value","0"]],[["number","6"],["value","0"]],[["number","7"],["value","0"]],[["number","8"],["value","0"]],[["number","9"],["value","0"]],[["number","10"],["value","0"]],[["number","11"],["value","0"]],[["number","12"],["value","0"]],[["number","13"],["value","0x2001fff8"]],[["number","14"],["value","134241591"]],[["number","15"],["value","0x80012e8 <main+2>"]],[["number","25"],["value","1627389952"]],[["number","58"],["value","0"]],[["number","59"],["value","0"]],[["number","60"],["value","0"]],[["number","61"],["value","0"]],[["number","62"],["value","0"]],[["number","63"],["value","0"]],[["number","64"],["value","0"]],[["number","65"],["value","0"]],[["number","66"],["value","0"]],[["number","67"],["value","0"]],[["number","68"],["value","0"]],[["number","69"],["value","0"]],[["number","70"],["value","0"]],[["number","71"],["value","0"]],[["number","72"],["value","0"]],[["number","73"],["value","0"]],[["number","90"],["value","0"]],[["number","91"],["value","0x2001fff8"]],[["number","92"],["value","0x0"]],[["number","93"],["value","0"]],[["number","94"],["value","0"]],[["number","95"],["value","0"]],[["number","96"],["value","0"]],[["number","97"],["value","0"]],[["number","98"],["value","0"]],[["number","99"],["value","0"]],[["number","100"],["value","0"]],[["number","101"],["value","0"]],[["number","102"],["value","0"]],[["number","103"],["value","0"]],[["number","104"],["value","0"]],[["number","105"],["value","0"]],[["number","106"],["value","0"]],[["number","107"],["value","0"]],[["number","108"],["value","0"]],[["number","109"],["value","0"]],[["number","110"],["value","0"]],[["number","111"],["value","0"]],[["number","112"],["value","0"]],[["number","113"],["value","0"]],[["number","114"],["value","0"]],[["number","115"],["value","0"]],[["number","116"],["value","0"]],[["number","117"],["value","0"]],[["number","118"],["value","0"]],[["number","119"],["value","0"]],[["number","120"],["value","0"]],[["number","121"],["value","0"]],[["number","122"],["value","0"]],[["number","123"],["value","0"]],[["number","124"],["value","0"]],[["number","125"],["value","0"]],[["number","126"],["value","0"]],[["number","127"],["value","0"]],[["number","128"],["value","0"]]]]]}} GDB -> App: {"token":23,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["depth","1"]]}} GDB -> App: {"token":24,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["stack",[["frame",[["level","0"],["addr","0x080012e8"],["func","main"],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\XXX-01\Core\Src\main.c"],["line","81"],["arch","armv7e-m"]]]]]]}} 25-stack-list-frames --thread 1 0 0 GDB -> App: {"token":25,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["stack",[["frame",[["level","0"],["addr","0x080012e8"],["func","main"],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\XXX-01\Core\Src\main.c"],["line","81"],["arch","armv7e-m"]]]]]]}} 26-var-update --thread 1 --frame 0 --all-values watch_fd4c793dab04b768cefdb6138e763e19c04221867d9f14c628e929fa77ee39c7 27-var-update --thread 1 --frame 0 --all-values watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da 28-var-update --thread 1 --frame 0 --all-values watch_f4a12306453dd4da79ebcee3a4b31ad6b3c2e545717404ed0486ed80b5d50461 GDB -> App: {"token":26,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 29-var-create watch_fd4c793dab04b768cefdb6138e763e19c04221867d9f14c628e929fa77ee39c7 @ "Analog_Channel[21]" GDB -> App: {"token":27,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 30-var-create watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da @ "Resist_Channel[0]" GDB -> App: {"token":28,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 31-var-create watch_f4a12306453dd4da79ebcee3a4b31ad6b3c2e545717404ed0486ed80b5d50461 @ "PIT_5V_Channel[0]" GDB -> App: {"token":29,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","-var-create: unable to create variable object"]]}} watch: -var-create: unable to create variable object (from var-create watch_fd4c793dab04b768cefdb6138e763e19c04221867d9f14c628e929fa77ee39c7 @ "Analog_Channel[21]")GDB -> App: {"token":30,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","-var-create: unable to create variable object"]]}} watch: -var-create: unable to create variable object (from var-create watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da @ "Resist_Channel[0]")GDB -> App: {"token":31,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","-var-create: unable to create variable object"]]}} watch: -var-create: unable to create variable object (from var-create watch_f4a12306453dd4da79ebcee3a4b31ad6b3c2e545717404ed0486ed80b5d50461 @ "PIT_5V_Channel[0]")32-data-evaluate-expression --thread 1 --frame 0 CODE GDB -> App: {"token":32,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","No symbol \"CODE\" in current context."]]}} hover: No symbol "CODE" in current context. (from data-evaluate-expression --thread 1 --frame 0 CODE)`

the result of applying 'disassemble main' for gdb from debug console of vs code during debugging and in the mode 'stop' at the main function :

disassemble main 33-thread-select 1 34-stack-select-frame 0 35-interpreter-exec console "disassemble main" GDB -> App: {"token":33,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["new-thread-id","1"],["frame",[["level","0"],["addr","0x080012e8"],["func","main"],["args",[]],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\XXX-01\Core\Src\main.c"],["line","81"],["arch","armv7e-m"]]]]}} GDB -> App: {"token":34,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"Dump of assembler code for function main:\n"}]} Dump of assembler code for function main: GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x080012e6 <+0>:\tpush\t{r3, lr}\n"}]} 0x080012e6 <+0>: push {r3, lr} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"=> 0x080012e8 <+2>:\tbl\t0x8003e1c \n"}]} => 0x080012e8 <+2>: bl 0x8003e1c GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x080012ec <+6>:\tbl\t0x8001248 \n"}]} 0x080012ec <+6>: bl 0x8001248 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x080012f0 <+10>:\tbl\t0x80010b0 \n"}]} 0x080012f0 <+10>: bl 0x80010b0 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x080012f4 <+14>:\tbl\t0x8000ea4 \n"}]} 0x080012f4 <+14>: bl 0x8000ea4 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x080012f8 <+18>:\tbl\t0x8000500 \n"}]} 0x080012f8 <+18>: bl 0x8000500 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x080012fc <+22>:\tbl\t0x8000680 \n"}]} 0x080012fc <+22>: bl 0x8000680 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001300 <+26>:\tbl\t0x80007c8 \n"}]} 0x08001300 <+26>: bl 0x80007c8 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001304 <+30>:\tbl\t0x8000f60 \n"}]} 0x08001304 <+30>: bl 0x8000f60 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001308 <+34>:\tbl\t0x8001218 \n"}]} 0x08001308 <+34>: bl 0x8001218 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x0800130c <+38>:\tbl\t0x8001338 \n"}]} 0x0800130c <+38>: bl 0x8001338 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001310 <+42>:\tbl\t0x800175c \n"}]} 0x08001310 <+42>: bl 0x800175c GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001314 <+46>:\tbl\t0x80017f4 \n"}]} 0x08001314 <+46>: bl 0x80017f4 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001318 <+50>:\tbl\t0x8000a3c \n"}]} 0x08001318 <+50>: bl 0x8000a3c GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x0800131c <+54>:\tbl\t0x8001384 \n"}]} 0x0800131c <+54>: bl 0x8001384 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001320 <+58>:\tbl\t0x80016c8 \n"}]} 0x08001320 <+58>: bl 0x80016c8 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001324 <+62>:\tbl\t0x8000f18 \n"}]} 0x08001324 <+62>: bl 0x8000f18 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001328 <+66>:\tbl\t0x8001908 \n"}]} 0x08001328 <+66>: bl 0x8001908 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x0800132c <+70>:\tbl\t0x8000e84 \n"}]} 0x0800132c <+70>: bl 0x8000e84 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001330 <+74>:\tbl\t0x8001944 \n"}]} 0x08001330 <+74>: bl 0x8001944 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001334 <+78>:\tb.n\t0x8001334 <main+78>\n"}]} 0x08001334 <+78>: b.n 0x8001334 <main+78> GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"End of assembler dump.\n"}]} End of assembler dump. GDB -> App: {"token":35,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} {"token":35,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} 36-var-update --thread 1 --frame 0 --all-values watch_fd4c793dab04b768cefdb6138e763e19c04221867d9f14c628e929fa77ee39c7 37-var-update --thread 1 --frame 0 --all-values watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da 38-var-update --thread 1 --frame 0 --all-values watch_f4a12306453dd4da79ebcee3a4b31ad6b3c2e545717404ed0486ed80b5d50461 GDB -> App: {"token":36,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 39-var-create watch_fd4c793dab04b768cefdb6138e763e19c04221867d9f14c628e929fa77ee39c7 @ "Analog_Channel[21]" GDB -> App: {"token":37,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 40-var-create watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da @ "Resist_Channel[0]" GDB -> App: {"token":38,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 41-var-create watch_f4a12306453dd4da79ebcee3a4b31ad6b3c2e545717404ed0486ed80b5d50461 @ "PIT_5V_Channel[0]" GDB -> App: {"token":39,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","-var-create: unable to create variable object"]]}} watch: -var-create: unable to create variable object (from var-create watch_fd4c793dab04b768cefdb6138e763e19c04221867d9f14c628e929fa77ee39c7 @ "Analog_Channel[21]")GDB -> App: {"token":40,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","-var-create: unable to create variable object"]]}} watch: -var-create: unable to create variable object (from var-create watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da @ "Resist_Channel[0]")GDB -> App: {"token":41,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","-var-create: unable to create variable object"]]}} watch: -var-create: unable to create variable object (from var-create watch_f4a12306453dd4da79ebcee3a4b31ad6b3c2e545717404ed0486ed80b5d50461 @ "PIT_5V_Channel[0]")

the result of applying "Cortex-Debug: Set Force Disassembly" command for 'cortex-debug' extenssion in the same mode of debugger like a previos output

42-thread-list-ids GDB -> App: {"token":42,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["thread-ids",[["thread-id","1"]]],["current-thread-id","1"],["number-of-threads","1"]]}} 43-thread-info 1 GDB -> App: {"token":43,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["threads",[[["id","1"],["target-id","Remote target"],["frame",[["level","0"],["addr","0x080012e8"],["func","main"],["args",[]],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\XXX-01\Core\Src\main.c"],["line","81"],["arch","armv7e-m"]]],["state","stopped"]]]]]}} 44-stack-info-depth --thread 1 10000 GDB -> App: {"token":44,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["depth","1"]]}} 45-stack-list-frames --thread 1 0 0 GDB -> App: {"token":45,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["stack",[["frame",[["level","0"],["addr","0x080012e8"],["func","main"],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\XXX-01\Core\Src\main.c"],["line","81"],["arch","armv7e-m"]]]]]]}} 46-var-update --thread 1 --frame 0 --all-values watch_fd4c793dab04b768cefdb6138e763e19c04221867d9f14c628e929fa77ee39c7 47-var-update --thread 1 --frame 0 --all-values watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da 48-var-update --thread 1 --frame 0 --all-values watch_f4a12306453dd4da79ebcee3a4b31ad6b3c2e545717404ed0486ed80b5d50461 GDB -> App: {"token":46,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 49-var-create watch_fd4c793dab04b768cefdb6138e763e19c04221867d9f14c628e929fa77ee39c7 @ "Analog_Channel[21]" GDB -> App: {"token":47,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 50-var-create watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da @ "Resist_Channel[0]" GDB -> App: {"token":48,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 51-var-create watch_f4a12306453dd4da79ebcee3a4b31ad6b3c2e545717404ed0486ed80b5d50461 @ "PIT_5V_Channel[0]" GDB -> App: {"token":49,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","-var-create: unable to create variable object"]]}} watch: -var-create: unable to create variable object (from var-create watch_fd4c793dab04b768cefdb6138e763e19c04221867d9f14c628e929fa77ee39c7 @ "Analog_Channel[21]")GDB -> App: {"token":50,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","-var-create: unable to create variable object"]]}} watch: -var-create: unable to create variable object (from var-create watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da @ "Resist_Channel[0]")GDB -> App: {"token":51,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","-var-create: unable to create variable object"]]}} watch: -var-create: unable to create variable object (from var-create watch_f4a12306453dd4da79ebcee3a4b31ad6b3c2e545717404ed0486ed80b5d50461 @ "PIT_5V_Channel[0]")

you can not look at errors when creating variables, the result without which will be the same

the result of applying "Cortex-Debug: View Memory" command for 'cortex-debug' extenssion in the same mode of debugger like a previos output

52-data-read-memory-bytes "0x00000000" 4096 GDB -> App: [{"token":52,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["memory",[[["begin","0x00000000"],["offset","0x00000000"],["end","0x00001000"],["contents","00000220015d00081d1500081f15000821150008231500082515000800000000000000000000000000000000413300082715000800000000e133000829150008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d000841150008511500086115000871150008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d00080000000000000000000000000000000000000000000000000000000000000000515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d000800000000515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008515d0008ffffffffffffffff844641ea000313f003036dd1403a41d351f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b403abdd2303211d351f8043b40f8043b51f8043b40f8043b51f8043b40f8043b51f8043b40f8043b103aedd20c3205d351f8043b40f8043b043af9d2043208d0d2071cbf11f8013b00f8013b01d30b8803806046704700bf082a13d38b078dd010f003038ad0c3f10403d21adb071cbf11f8013b00f8013b80d331f8023b20f8023b7be7043ad9d3013a11f8013b00f8013bf9d20b7803704b7843708b7883706046704700f1340191e838009c46a6464cf8045d90e8ff0fe54600bd90ec210b704700bf80ec210b704700bf90ec200b704700bf80ec200b704700bfd0ec200b704700bfc0ec200b704700bff0ec0201f0ec0211f0ec0221f0ec0231f0ec0241f0ec0251f0ec0261f0ec0271f0ec0281f0ec0291f0ec02a1f0ec02b1f0ec02c1f0ec02d1f0ec02e1f0ec02f1704700bfe0ec0201e0ec0211e0ec0221e0ec0231e0ec0241e0ec0251e0ec0261e0ec0271e0ec0281e0ec0291e0ec02a1e0ec02b1e0ec02c1e0ec02d1e0ec02e1e0ec02f1704700bfb0fc0181b0fc0191b0fc01a1b0fc01b1704700bfa0fc0181a0fc0191a0fc01a1a0fc01b1704700bfec4600b52de900502de9ff1f4ff000032de90c0001a905f01dffddf840e012b0704700bfec4600b52de900502de9ff1f4ff000032de90c0001a905f047ffddf840e012b0704700bfec4600b52de900502de9ff1f4ff000032de90c0001a905f057ffddf840e012b0704700bfec4600b52de900502de9ff1f4ff000032de90c0001ab05f01bffddf840e012b0704700bfec4600b52de900502de9ff1f4ff000032de90c0001aa05f087ffddf840e012b0704700bf10b5054c237833b9044b13b10448aff300800123237010bd4404002000000000946c000808b5034b1bb103490348aff3008008bd0000000048040020946c000810b58cb0002409940a940b942022214601a805f043fc51484ff0a04303604ff4403343608460c4600461012343610823836104774477036280f824404ff49063c3624ff48063036380f83840c46380f8404003f03bff002862d10023099309a93e4804f01ffb00285dd13d4b019306230293002303937f2204920422059206930deb0201354804f073f800284ed1354b01930c23029301a9304804f069f8002847d1314b01931223029301a92b4804f05ff8002840d12d4b01931823029301a9264804f055f8002839d1294b01934ff48073029301a9214804f04af8002831d1244b01934ff48373029301a91b4804f03ff850bb204b01934ff48673029301a9164804f035f818bb1c4b01934ff48973029301a9114804f02bf8e0b90cb010bd00f010fe99e700f00dfe9ee700f00afeade700f007feb4e700f004febbe700f001fec2e700f0fefdcae700f0fbfdd1e700f0f8fdd8e700f0f5fddfe76804002002003004040060080800900c1000c0102000f014400020198000501d0008302e00b589b020220021684605f087fb4548454b03604ff44033436000238360c36003610122426108228261037743770722026280f824304ff49062c2624ff48062026380f83830c36380f8403003f07efe00284ed1354b009306230193002302937f22039204220492059369462d4803f0bfff002840d12e4b00930c2301936946284803f0b5ff002839d12a4b0093122301936946234803f0abff002832d1264b00931823019369461e4803f0a1ff60bb224b00934ff4807301936946194803f097ff28bb1e4b00934ff4837301936946144803f08dfff0b91a4b00934ff48673019369460f4803f083ffb8b909b05df804fb00f067fdade700f064fdbbe700f061fdc2e700f05efdc9e700f05bfdcfe700f058fdd6e700f055fddde700f052fde4e700bfd4040020000100500800900c1000c0102000f0140008302e002090360080f03e0000524710b58cb0002409940a940b942022214601a805f0dffa8648864b03604ff4403343608460c46004610123436108238361047744770f23036280f824404ff49063c3624ff48063036380f83840c46380f8404003f0d7fd002840f0b6800023099309a9734804f0baf9002840f0b080724b019306230293002303937f2204920422059206930deb0201694803f00dff002840f0a080694b01930c23029301a9644803f002ff002840f09880654b01931223029301a95e4803f0f7fe002840f09080604b01931823029301a9594803f0ecfe002840f088805c4b01934ff48073029301a9534803f0e0fe00287fd1574b01934ff48373029301a94d4803f0d5fe002877d1534b01934ff48673029301a9484803f0cafe00286fd14e4b01934ff48973029301a9424803f0bffe002867d14a4b01934ff48c73029301a93d4803f0b4fe00285fd1454b01934ff40073029301a9374803f0a9fe002857d1414b019340f20623029301a9324803f09efe00284fd13c4b01934ff40373029301a92c4803f093fe002847d1384b019340f21223029301a9274803f088fe00283fd1334b01934ff40673029301a9214803f07dfec0bb2f4b01934ff44073029301a91c4803f073fe88bb0cb010bd00f058fc46e700f055fc4ce700f052fc5ce700f04ffc64e700f04cfc6ce700f049fc74e700f046fc7ce700f043fc84e700f040fc8ce700f03dfc94e700f03afc9ce700f037fca4e700f034fcace700f031fcb4e700f02efcbce700f02bfcc3e700f028fccae700bf400500200004005002003004040060080800900c1000c0102000f014400020198000501d000180210002b0250004002a0008302e001060320040c03a0080f03e0000214300b589b020220021684605f0a9f92348234b03604ff44033436000238360c36003610122426108228261037743770222026280f824304ff49062c2624ff48062026380f83830c36380f8403003f0a0fcd8b9144b009306230193002302937f22039204220492059369460c4803f0e2fd70b90d4b00930c2301936946074803f0d9fd40b909b05df804fb00f0bdfbe0e700f0bafbede700f0b7fbf3e7ac05002000050050001060320020903670b594b0044600230f9310931193129313930368b3f1a04f40d0834a934200f0a080824a934200f01d81814a934240f08880804a136801331360012b00f076817d4bda6c42f00802da64db6c03f008030e930e9b4ff440730f93032310930fa9764803f057fb7648764b03602623436000238360c360802202614ff4807242614ff480628261c361036204f035f9002840f057816a4b63659c6252e06a4a136801331360012b4ed0634bda6c42f00402da64da6c02f004020292029ada6c42f00102da64da6c02f001020392039ada6c42f00202da64db6c03f002030493049b03260f9610960fa9584803f013fb0f230f931096002511950fa94ff0904003f009fb4ff4a0430f93109611950fa9504803f000fb4f48504b0360052343608560c560802303614ff4807343614ff480638361c561056204f0dff878b9454b63659c6214b070bd3c4bda6c42f40052da64db6c03f400530193019ba5e700f0fefaece7394a136801331360012b4ed0324bda6c42f00102da64da6c02f001020692069ada6c42f00402da64da6c02f004020792079ada6c42f00202da64db6c03f002030893089bf0230f93032610960fa94ff0904003f0aefa30230f931096002511950fa9214803f0a5fa4ff400430f93109611950fa91e4803f09cfa1f48204b0360242343608560c560802303614ff4807343614ff480638361c561056204f07bf870b9154b63659c629ae70a4bda6c42f40052da64db6c03f400530593059ba5e700f09bfaede70001005000040050000500506404002000100240000c0048380700204400024060040020000800480004004818060020080002407806002030000240384a136801331360012b4fd0364bda6c42f00202da64da6c02f002020a920a9ada6c42f01002da64da6c02f010020b920b9ada6c42f00802da64db6c03f008030c930c9b42f203030f93032610960fa9264803f02dfa4ff47e530f931096002511950fa9224803f023fa4ff4f8430f93109611950fa91f4803f01afa1e481f4b0360252343608560c560802303614ff4807343614ff480638361c561056203f0f9ff70b9144b63659c6218e70e4bda6c42f48042da64db6c03f480430993099ba4e700f019faede7074bda6c42f48042da64db6c03f480430d930d9b7ee600f00bfaa5e664040020001002400004004800100048000c0048d80600201c00024008b54ff47a7000f007fe064a1368013313600221044803f0aafa044804f0e4f9efe700bf98070020001000486c080020704700207047000008b5044a0021044800f07efd034b186008bd00bfb86c00084d0e00089c07002000b583b01a4b9a6c42f004029a649a6c02f004020092009a9a6c42f001029a649b6c03f001030193019b002205210b2004f0bafe0b2004f0effe002205210c2004f0b2fe0c2004f0e7fe002205210d2004f0aafe0d2004f0dffe002205210e2004f0a2fe0e2004f0d7fe03b05df804fb0010024008b50f480f4b0360002343608360c3600374437483740122426182610221c161016242628262c262026343638363c36304f05ef800b908bd00f078f9fbe700bfa40700200064004008b51048104b036000238360c36003744374837426224261012282610621c1610221016242628262c26202630322426308228263c36304f037f800b908bd00f051f9fbe708080020006c004030b58bb00023059306930793089309930368364a934204d0354a93423ed00bb030bd344a136801331360012b2bd0324bda6c42f00102da64da6c02f001020192019ada6c42f00802da64db6c03f008030293029b"]]]]]}}]

The result was obtained using this file : XXX-01.zip

VzdornovNA88 commented 3 years ago

In addition, using the "Cortex-Debug: View Disassembly (Function)" command doesn't give me any outgoing information in the debug console but VS Code shows an error, like I said in my first message of the topic - "No function matching name/regexp 'main' found."

haneefdm commented 3 years ago

I noticed that you are using gcc-arm-none-eabi 10.2.1. That is not what I have from ST. I have 9.3.1.

Where can I download what you are using? What is your User/Workspace setting cortex-debug.armToolchainPath set to? This is where objdump exists. Without a proper/compatible objdump, this will not work.

I see the following above

`Reading symbols from 'G:\XXX-01/build/XXX-01.elf'
Finished reading symbols

So, objdump did run but not sure which version and we typically find it in the dir pointed to by cortex-debug.armToolchainPath (or launch.json armToolchainPath)

VzdornovNA88 commented 3 years ago

OK,I see, it looks like a bad path for arm tools, unfortunately this project is located on my job and settings for cortex debug, I can figure out that tomorrow only, but if it will be interesting for you I have repo with the similar project on github and also I have repo with project of sandbox which contains vs code in the docker those projects must work, at least, there is a short way to imitation my problem using those projects together.

haneefdm commented 3 years ago

If you can tell me where you downloaded ARM gnu tools, then I can do the same. If it is an issue with GCC 10.x, the I would like to get ahead of that. I can wait. If your repo has the details, then yes, I can look at it.

We had a similar situation with GDB 9.x where it broke stuff that was working with 8.x. They deprecated commands/aliases -- not documented or announced. They just did it.

PhilippHaefele commented 3 years ago

VzdornovNA88 will most likely use the version from https://developer.arm.com/tools-and-software/open-source-software/developer-tools/gnu-toolchain/gnu-rm/downloads as this is where you get the new versions from. We only use versions from this official source.

VzdornovNA88 commented 3 years ago

Exactly ! PhilippHaefele is right, I use this official source. So , now I can provide you with the following info :

I can explain why I sugest them , if you don't want to wait tommorow when I can send the info of settings for cortex-debug , You can run the sandbox and clone 'signaler_example_freertos' into it then you will get the similar state as mine, and then you can run debug, but also you can download and do all the same in your envirement manualy:

https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2

Anyway , I am gonna send the addition info for you tommorow, so that we can just wait tommorow , thanks for your help.

haneefdm commented 3 years ago

I downloaded it from the ARM website (Mac binaries). This is where I always go myself but there are people who get stuff from elsewhere. And, I usually switch to silicon-vendor-supplied versions just in case.

I will see what is going wrong, when my day job allows

VzdornovNA88 commented 3 years ago

Hi. You were right, my armToolchainPath was wrong , I changed it to "cortex-debug.armToolchainPath": "${env:CMAKE_NONE_EABI_STM32_TOOL_CHAIN}/eabi/bin/arm-none-eabi-objdump.exe", that is path to my toolchain gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux it the launch.json , the result is the same - cortex-debug doesn't show the window with disassembled info , look at that :

Debug Console `Reading symbols from 'G:\XXX-01/build/XXX-01.elf' Finished reading symbols Please check TERMINAL tab (gdb-server) for output from openocd.exe Launching server: "openocd.exe" "-c" "gdb_port 50000" "-c" "tcl_port 50001" "-c" "telnet_port 50002" "-s" "G:\XXX-01" "-f" "G:\XXX-01/openocd.cfg" Launching GDB: "G:/stm32-gcc-cmake-tool-chain/eabi/bin/arm-none-eabi-gdb.exe" "-q" "--interpreter=mi2" 1-gdb-set target-async on 2-interpreter-exec console "source c:/Users/xxxxxxxxxx/.vscode/extensions/marus25.cortex-debug-0.4.7/support/gdbsupport.init" 3-interpreter-exec console "set print demangle on" 4-interpreter-exec console "set print asm-demangle on" 5-target-select extended-remote localhost:50000 6-interpreter-exec console "monitor reset halt" 7-target-download 8-interpreter-exec console "monitor reset halt" 9-enable-pretty-printing 10-interpreter-exec console "monitor foreach t [target names] { $t configure -event gdb-detach { shutdown } }" undefinedG:\stm32-gcc-cmake-tool-chain\eabi\bin\arm-none-eabi-gdb.exe: warning: Couldn't determine a path for the index cache directory. GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"thread-group-added","output":[["id","i1"]]}]} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"Reading symbols from G:\\XXX-01/build/XXX-01.elf...\n"}]} Reading symbols from G:\XXX-01/build/XXX-01.elf... GDB -> App: {"token":1,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"token":2,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"token":3,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"cmd-param-changed","output":[["param","print asm-demangle"],["value","on"]]}]} GDB -> App: {"token":4,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"thread-group-started","output":[["id","i1"],["pid","42000"]]}]} GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"thread-created","output":[["id","1"],["group-id","i1"]]}]} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"main () at G:/XXX-01/Core/Src/main.c:84\n"}]} main () at G:/XXX-01/Core/Src/main.c:84 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"84\t HAL_Init();\n"}]} 84 HAL_Init(); GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"exec","asyncClass":"stopped","output":[["frame",[["addr","0x080016f0"],["func","main"],["args",[]],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\\XXX-01\\Core\\Src\\main.c"],["line","84"],["arch","armv7e-m"]]],["thread-id","1"],["stopped-threads","all"]]}]} Program stopped, probably due to a reset and/or halt issued by debugger GDB -> App: {"token":5,"outOfBandRecord":[],"resultRecords":{"resultClass":"connected","results":[]}} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"Unable to match requested speed 2000 kHz, using 1800 kHz\n"}]} Unable to match requested speed 2000 kHz, using 1800 kHz GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"Unable to match requested speed 2000 kHz, using 1800 kHz\n"}]} Unable to match requested speed 2000 kHz, using 1800 kHz GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"target halted due to debug-request, current mode: Thread \n"}]} target halted due to debug-request, current mode: Thread GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"xPSR: 0x01000000 pc: 0x08007640 msp: 0x20020000\n"}]} xPSR: 0x01000000 pc: 0x08007640 msp: 0x20020000 GDB -> App: {"token":6,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[{"isStream":false,"type":"status","asyncClass":"download","output":[]}]} GDB -> App: {"token":7,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["address","0x08007640"],["load-size","36732"],["transfer-rate","269840"],["write-rate","3673"]]}} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"Unable to match requested speed 2000 kHz, using 1800 kHz\n"}]} Unable to match requested speed 2000 kHz, using 1800 kHz GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"Unable to match requested speed 2000 kHz, using 1800 kHz\n"}]} Unable to match requested speed 2000 kHz, using 1800 kHz GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"target halted due to debug-request, current mode: Thread \n"}]} target halted due to debug-request, current mode: Thread GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"target","content":"xPSR: 0x01000000 pc: 0x08007640 msp: 0x20020000\n"}]} xPSR: 0x01000000 pc: 0x08007640 msp: 0x20020000 GDB -> App: {"token":8,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"token":9,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"token":10,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} 11-break-insert -t --function main GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"Note: automatically using hardware breakpoints for read-only addresses.\n"}]} Note: automatically using hardware breakpoints for read-only addresses. GDB -> App: {"token":11,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["bkpt",[["number","1"],["type","breakpoint"],["disp","del"],["enabled","y"],["addr","0x080016f0"],["func","main"],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\\XXX-01\\Core\\Src\\main.c"],["line","84"],["thread-groups",["i1"]],["times","0"],["original-location","-function main"]]]]}} 12-exec-continue GDB -> App: {"token":12,"outOfBandRecord":[],"resultRecords":{"resultClass":"running","results":[]}} GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"exec","asyncClass":"running","output":[["thread-id","all"]]}]} GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"breakpoint-modified","output":[["bkpt",[["number","1"],["type","breakpoint"],["disp","del"],["enabled","y"],["addr","0x080016f0"],["func","main"],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\\XXX-01\\Core\\Src\\main.c"],["line","84"],["thread-groups",["i1"]],["times","1"],["original-location","-function main"]]]]}]} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"\n"}]} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"Temporary breakpoint 1, main () at G:/XXX-01/Core/Src/main.c:84\n"}]} Temporary breakpoint 1, main () at G:/XXX-01/Core/Src/main.c:84 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"84\t HAL_Init();\n"}]} 84 HAL_Init(); GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"exec","asyncClass":"stopped","output":[["reason","breakpoint-hit"],["disp","del"],["bkptno","1"],["frame",[["addr","0x080016f0"],["func","main"],["args",[]],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\\XXX-01\\Core\\Src\\main.c"],["line","84"],["arch","armv7e-m"]]],["thread-id","1"],["stopped-threads","all"]]}]} GDB -> App: {"outOfBandRecord":[{"isStream":false,"type":"notify","asyncClass":"breakpoint-deleted","output":[["id","1"]]}]} 13-thread-list-ids 14-data-list-register-names GDB -> App: {"token":13,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["thread-ids",[["thread-id","1"]]],["current-thread-id","1"],["number-of-threads","1"]]}} 15-thread-info 1 GDB -> App: {"token":14,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["register-names",["r0","r1","r2","r3","r4","r5","r6","r7","r8","r9","r10","r11","r12","sp","lr","pc","","","","","","","","","","xPSR","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","","d0","d1","d2","d3","d4","d5","d6","d7","d8","d9","d10","d11","d12","d13","d14","d15","","","","","","","","","","","","","","","","","fpscr","msp","psp","primask","basepri","faultmask","control","s0","s1","s2","s3","s4","s5","s6","s7","s8","s9","s10","s11","s12","s13","s14","s15","s16","s17","s18","s19","s20","s21","s22","s23","s24","s25","s26","s27","s28","s29","s30","s31"]]]}} GDB -> App: {"token":15,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["threads",[[["id","1"],["target-id","Remote target"],["frame",[["level","0"],["addr","0x080016f0"],["func","main"],["args",[]],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\\XXX-01\\Core\\Src\\main.c"],["line","84"],["arch","armv7e-m"]]],["state","stopped"]]]]]}} 16-stack-info-depth --thread 1 10000 17-thread-list-ids 18-data-list-register-values N 19-data-list-register-values N GDB -> App: {"token":16,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["depth","1"]]}} 20-stack-list-frames --thread 1 0 0 GDB -> App: {"token":17,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["thread-ids",[["thread-id","1"]]],["current-thread-id","1"],["number-of-threads","1"]]}} 21-thread-info 1 GDB -> App: {"token":18,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["register-values",[[["number","0"],["value","536875080"]],[["number","1"],["value","536875140"]],[["number","2"],["value","8"]],[["number","3"],["value","134227509"]],[["number","4"],["value","536881672"]],[["number","5"],["value","0"]],[["number","6"],["value","0"]],[["number","7"],["value","0"]],[["number","8"],["value","0"]],[["number","9"],["value","0"]],[["number","10"],["value","0"]],[["number","11"],["value","0"]],[["number","12"],["value","0"]],[["number","13"],["value","0x2001fff8"]],[["number","14"],["value","134248055"]],[["number","15"],["value","0x80016f0 "]],[["number","25"],["value","1627389952"]],[["number","58"],["value","0"]],[["number","59"],["value","0"]],[["number","60"],["value","0"]],[["number","61"],["value","0"]],[["number","62"],["value","0"]],[["number","63"],["value","0"]],[["number","64"],["value","0"]],[["number","65"],["value","0"]],[["number","66"],["value","0"]],[["number","67"],["value","0"]],[["number","68"],["value","0"]],[["number","69"],["value","0"]],[["number","70"],["value","0"]],[["number","71"],["value","0"]],[["number","72"],["value","0"]],[["number","73"],["value","0"]],[["number","90"],["value","0"]],[["number","91"],["value","0x2001fff8"]],[["number","92"],["value","0x0"]],[["number","93"],["value","0"]],[["number","94"],["value","0"]],[["number","95"],["value","0"]],[["number","96"],["value","0"]],[["number","97"],["value","0"]],[["number","98"],["value","0"]],[["number","99"],["value","0"]],[["number","100"],["value","0"]],[["number","101"],["value","0"]],[["number","102"],["value","0"]],[["number","103"],["value","0"]],[["number","104"],["value","0"]],[["number","105"],["value","0"]],[["number","106"],["value","0"]],[["number","107"],["value","0"]],[["number","108"],["value","0"]],[["number","109"],["value","0"]],[["number","110"],["value","0"]],[["number","111"],["value","0"]],[["number","112"],["value","0"]],[["number","113"],["value","0"]],[["number","114"],["value","0"]],[["number","115"],["value","0"]],[["number","116"],["value","0"]],[["number","117"],["value","0"]],[["number","118"],["value","0"]],[["number","119"],["value","0"]],[["number","120"],["value","0"]],[["number","121"],["value","0"]],[["number","122"],["value","0"]],[["number","123"],["value","0"]],[["number","124"],["value","0"]],[["number","125"],["value","0"]],[["number","126"],["value","0"]],[["number","127"],["value","0"]],[["number","128"],["value","0"]]]]]}} GDB -> App: {"token":19,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["register-values",[[["number","0"],["value","536875080"]],[["number","1"],["value","536875140"]],[["number","2"],["value","8"]],[["number","3"],["value","134227509"]],[["number","4"],["value","536881672"]],[["number","5"],["value","0"]],[["number","6"],["value","0"]],[["number","7"],["value","0"]],[["number","8"],["value","0"]],[["number","9"],["value","0"]],[["number","10"],["value","0"]],[["number","11"],["value","0"]],[["number","12"],["value","0"]],[["number","13"],["value","0x2001fff8"]],[["number","14"],["value","134248055"]],[["number","15"],["value","0x80016f0 "]],[["number","25"],["value","1627389952"]],[["number","58"],["value","0"]],[["number","59"],["value","0"]],[["number","60"],["value","0"]],[["number","61"],["value","0"]],[["number","62"],["value","0"]],[["number","63"],["value","0"]],[["number","64"],["value","0"]],[["number","65"],["value","0"]],[["number","66"],["value","0"]],[["number","67"],["value","0"]],[["number","68"],["value","0"]],[["number","69"],["value","0"]],[["number","70"],["value","0"]],[["number","71"],["value","0"]],[["number","72"],["value","0"]],[["number","73"],["value","0"]],[["number","90"],["value","0"]],[["number","91"],["value","0x2001fff8"]],[["number","92"],["value","0x0"]],[["number","93"],["value","0"]],[["number","94"],["value","0"]],[["number","95"],["value","0"]],[["number","96"],["value","0"]],[["number","97"],["value","0"]],[["number","98"],["value","0"]],[["number","99"],["value","0"]],[["number","100"],["value","0"]],[["number","101"],["value","0"]],[["number","102"],["value","0"]],[["number","103"],["value","0"]],[["number","104"],["value","0"]],[["number","105"],["value","0"]],[["number","106"],["value","0"]],[["number","107"],["value","0"]],[["number","108"],["value","0"]],[["number","109"],["value","0"]],[["number","110"],["value","0"]],[["number","111"],["value","0"]],[["number","112"],["value","0"]],[["number","113"],["value","0"]],[["number","114"],["value","0"]],[["number","115"],["value","0"]],[["number","116"],["value","0"]],[["number","117"],["value","0"]],[["number","118"],["value","0"]],[["number","119"],["value","0"]],[["number","120"],["value","0"]],[["number","121"],["value","0"]],[["number","122"],["value","0"]],[["number","123"],["value","0"]],[["number","124"],["value","0"]],[["number","125"],["value","0"]],[["number","126"],["value","0"]],[["number","127"],["value","0"]],[["number","128"],["value","0"]]]]]}} GDB -> App: {"token":20,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["stack",[["frame",[["level","0"],["addr","0x080016f0"],["func","main"],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\\XXX-01\\Core\\Src\\main.c"],["line","84"],["arch","armv7e-m"]]]]]]}} GDB -> App: {"token":21,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["threads",[[["id","1"],["target-id","Remote target"],["frame",[["level","0"],["addr","0x080016f0"],["func","main"],["args",[]],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\\XXX-01\\Core\\Src\\main.c"],["line","84"],["arch","armv7e-m"]]],["state","stopped"]]]]]}} 22-stack-info-depth --thread 1 10000 GDB -> App: {"token":22,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["depth","1"]]}} 23-stack-list-frames --thread 1 0 0 GDB -> App: {"token":23,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["stack",[["frame",[["level","0"],["addr","0x080016f0"],["func","main"],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\\XXX-01\\Core\\Src\\main.c"],["line","84"],["arch","armv7e-m"]]]]]]}} 24-var-update --thread 1 --frame 0 --all-values watch_eb569c5491c2825510a6f9db6b324884ae2cf74f7b2ccc4d98d099f327f4fd31 25-var-update --thread 1 --frame 0 --all-values watch_6d7615191a86da2f13b4d499166d23f8d37f7ecc30052a83f62db1cf99352b13 26-var-update --thread 1 --frame 0 --all-values watch_93a588acbb3e1018e56e4824e815728599262b4420c0be4420d80296efd36424 27-var-update --thread 1 --frame 0 --all-values watch_b0c3fcbe59c27239bbefdbeabc219270185ec87bd3bc75425695ff103f9b838f 28-var-update --thread 1 --frame 0 --all-values watch_ea12106c7968a8a4871b404d2614c9a75473394478289214d87ff8efb2fae680 29-var-update --thread 1 --frame 0 --all-values watch_d0d49fbab55099a8fd464e5bed298a460fad452e9d9b96c5cff5be87208c7663 30-var-update --thread 1 --frame 0 --all-values watch_bcae350ee88229e9e1052c1391677e7457e2f6e1121c04fce70ec61ce076af37 31-var-update --thread 1 --frame 0 --all-values watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da GDB -> App: {"token":24,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 32-var-create watch_eb569c5491c2825510a6f9db6b324884ae2cf74f7b2ccc4d98d099f327f4fd31 @ "Dma1Channel1_TestFreq" GDB -> App: {"token":25,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 33-var-create watch_6d7615191a86da2f13b4d499166d23f8d37f7ecc30052a83f62db1cf99352b13 @ "Dma1Channel2_TestFreq" GDB -> App: {"token":26,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} GDB -> App: {"token":27,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 34-var-create watch_93a588acbb3e1018e56e4824e815728599262b4420c0be4420d80296efd36424 @ "Dma1Channel3_TestFreq" 35-var-create watch_b0c3fcbe59c27239bbefdbeabc219270185ec87bd3bc75425695ff103f9b838f @ "Dma1Channel4_TestFreq" GDB -> App: {"token":28,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 36-var-create watch_ea12106c7968a8a4871b404d2614c9a75473394478289214d87ff8efb2fae680 @ "TIM2_IRQ_TestFreq" GDB -> App: {"token":29,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 37-var-create watch_d0d49fbab55099a8fd464e5bed298a460fad452e9d9b96c5cff5be87208c7663 @ "TIM4_IRQ_TestFreq" GDB -> App: {"token":30,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 38-var-create watch_bcae350ee88229e9e1052c1391677e7457e2f6e1121c04fce70ec61ce076af37 @ "TIM8_IRQ_TestFreq" GDB -> App: {"token":31,"outOfBandRecord":[],"resultRecords":{"resultClass":"error","results":[["msg","Variable object not found"]]}} 39-var-create watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da @ "Resist_Channel[0]" GDB -> App: {"token":32,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["name","watch_eb569c5491c2825510a6f9db6b324884ae2cf74f7b2ccc4d98d099f327f4fd31"],["numchild","0"],["value","0"],["type","unsigned long"],["has_more","0"]]}} GDB -> App: {"token":33,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["name","watch_6d7615191a86da2f13b4d499166d23f8d37f7ecc30052a83f62db1cf99352b13"],["numchild","0"],["value","0"],["type","unsigned long"],["has_more","0"]]}} GDB -> App: {"token":34,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["name","watch_93a588acbb3e1018e56e4824e815728599262b4420c0be4420d80296efd36424"],["numchild","0"],["value","0"],["type","unsigned long"],["has_more","0"]]}} GDB -> App: {"token":35,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["name","watch_b0c3fcbe59c27239bbefdbeabc219270185ec87bd3bc75425695ff103f9b838f"],["numchild","0"],["value","0"],["type","unsigned long"],["has_more","0"]]}} GDB -> App: {"token":36,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["name","watch_ea12106c7968a8a4871b404d2614c9a75473394478289214d87ff8efb2fae680"],["numchild","0"],["value","0"],["type","unsigned long"],["has_more","0"]]}} GDB -> App: {"token":37,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["name","watch_d0d49fbab55099a8fd464e5bed298a460fad452e9d9b96c5cff5be87208c7663"],["numchild","0"],["value","0"],["type","unsigned long"],["has_more","0"]]}} GDB -> App: {"token":38,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["name","watch_bcae350ee88229e9e1052c1391677e7457e2f6e1121c04fce70ec61ce076af37"],["numchild","0"],["value","0"],["type","unsigned long"],["has_more","0"]]}} GDB -> App: {"token":39,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["name","watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da"],["numchild","5"],["value","{...}"],["type","Resist_Channel_t"],["has_more","0"]]}}
More Debug Console 40-thread-list-ids GDB -> App: {"token":40,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["thread-ids",[["thread-id","1"]]],["current-thread-id","1"],["number-of-threads","1"]]}} 41-thread-info 1 GDB -> App: {"token":41,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["threads",[[["id","1"],["target-id","Remote target"],["frame",[["level","0"],["addr","0x080016f0"],["func","main"],["args",[]],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\\XXX-01\\Core\\Src\\main.c"],["line","84"],["arch","armv7e-m"]]],["state","stopped"]]]]]}} 42-stack-info-depth --thread 1 10000 GDB -> App: {"token":42,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["depth","1"]]}} 43-stack-list-frames --thread 1 0 0 GDB -> App: {"token":43,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["stack",[["frame",[["level","0"],["addr","0x080016f0"],["func","main"],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\\XXX-01\\Core\\Src\\main.c"],["line","84"],["arch","armv7e-m"]]]]]]}} 44-var-update --thread 1 --frame 0 --all-values watch_eb569c5491c2825510a6f9db6b324884ae2cf74f7b2ccc4d98d099f327f4fd31 45-var-update --thread 1 --frame 0 --all-values watch_6d7615191a86da2f13b4d499166d23f8d37f7ecc30052a83f62db1cf99352b13 46-var-update --thread 1 --frame 0 --all-values watch_93a588acbb3e1018e56e4824e815728599262b4420c0be4420d80296efd36424 47-var-update --thread 1 --frame 0 --all-values watch_b0c3fcbe59c27239bbefdbeabc219270185ec87bd3bc75425695ff103f9b838f 48-var-update --thread 1 --frame 0 --all-values watch_ea12106c7968a8a4871b404d2614c9a75473394478289214d87ff8efb2fae680 49-var-update --thread 1 --frame 0 --all-values watch_d0d49fbab55099a8fd464e5bed298a460fad452e9d9b96c5cff5be87208c7663 50-var-update --thread 1 --frame 0 --all-values watch_bcae350ee88229e9e1052c1391677e7457e2f6e1121c04fce70ec61ce076af37 51-var-update --thread 1 --frame 0 --all-values watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da GDB -> App: {"token":44,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":45,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":46,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":47,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":48,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":49,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":50,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":51,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}}
Debug Console - disassemble main disassemble main 52-thread-select 1 53-stack-select-frame 0 54-interpreter-exec console "disassemble main" GDB -> App: {"token":52,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["new-thread-id","1"],["frame",[["level","0"],["addr","0x080016f0"],["func","main"],["args",[]],["file","G:/XXX-01/Core/Src/main.c"],["fullname","G:\\XXX-01\\Core\\Src\\main.c"],["line","84"],["arch","armv7e-m"]]]]}} GDB -> App: {"token":53,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"Dump of assembler code for function main:\n"}]} Dump of assembler code for function main: GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x080016ee <+0>:\tpush\t{r3, lr}\n"}]} 0x080016ee <+0>: push {r3, lr} GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"=> 0x080016f0 <+2>:\tbl\t0x8004bfc \n"}]} => 0x080016f0 <+2>: bl 0x8004bfc GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x080016f4 <+6>:\tbl\t0x8001650 \n"}]} 0x080016f4 <+6>: bl 0x8001650 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x080016f8 <+10>:\tbl\t0x80014b8 \n"}]} 0x080016f8 <+10>: bl 0x80014b8 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x080016fc <+14>:\tbl\t0x800129c \n"}]} 0x080016fc <+14>: bl 0x800129c GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001700 <+18>:\tbl\t0x8000500 \n"}]} 0x08001700 <+18>: bl 0x8000500 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001704 <+22>:\tbl\t0x8000688 \n"}]} 0x08001704 <+22>: bl 0x8000688 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001708 <+26>:\tbl\t0x80007d0 \n"}]} 0x08001708 <+26>: bl 0x80007d0 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x0800170c <+30>:\tbl\t0x8001368 \n"}]} 0x0800170c <+30>: bl 0x8001368 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001710 <+34>:\tbl\t0x8001620 \n"}]} 0x08001710 <+34>: bl 0x8001620 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001714 <+38>:\tbl\t0x800174c \n"}]} 0x08001714 <+38>: bl 0x800174c GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001718 <+42>:\tbl\t0x8001dc0 \n"}]} 0x08001718 <+42>: bl 0x8001dc0 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x0800171c <+46>:\tbl\t0x8001e64 \n"}]} 0x0800171c <+46>: bl 0x8001e64 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001720 <+50>:\tbl\t0x8000a4c \n"}]} 0x08001720 <+50>: bl 0x8000a4c GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001724 <+54>:\tbl\t0x8001798 \n"}]} 0x08001724 <+54>: bl 0x8001798 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001728 <+58>:\tbl\t0x8001d20 \n"}]} 0x08001728 <+58>: bl 0x8001d20 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x0800172c <+62>:\tbl\t0x8001320 \n"}]} 0x0800172c <+62>: bl 0x8001320 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001730 <+66>:\tbl\t0x8001b0c \n"}]} 0x08001730 <+66>: bl 0x8001b0c GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001734 <+70>:\tbl\t0x800218c \n"}]} 0x08001734 <+70>: bl 0x800218c GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001738 <+74>:\tbl\t0x800229c \n"}]} 0x08001738 <+74>: bl 0x800229c GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x0800173c <+78>:\tbl\t0x8002644 \n"}]} 0x0800173c <+78>: bl 0x8002644 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001740 <+82>:\tbl\t0x8001264 \n"}]} 0x08001740 <+82>: bl 0x8001264 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001744 <+86>:\tbl\t0x8002680 \n"}]} 0x08001744 <+86>: bl 0x8002680 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":" 0x08001748 <+90>:\tb.n\t0x8001748 \n"}]} 0x08001748 <+90>: b.n 0x8001748 GDB -> App: {"outOfBandRecord":[{"isStream":true,"type":"console","content":"End of assembler dump.\n"}]} End of assembler dump. GDB -> App: {"token":54,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} {"token":54,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[]}} 55-var-update --thread 1 --frame 0 --all-values watch_eb569c5491c2825510a6f9db6b324884ae2cf74f7b2ccc4d98d099f327f4fd31 56-var-update --thread 1 --frame 0 --all-values watch_6d7615191a86da2f13b4d499166d23f8d37f7ecc30052a83f62db1cf99352b13 57-var-update --thread 1 --frame 0 --all-values watch_93a588acbb3e1018e56e4824e815728599262b4420c0be4420d80296efd36424 58-var-update --thread 1 --frame 0 --all-values watch_b0c3fcbe59c27239bbefdbeabc219270185ec87bd3bc75425695ff103f9b838f 59-var-update --thread 1 --frame 0 --all-values watch_ea12106c7968a8a4871b404d2614c9a75473394478289214d87ff8efb2fae680 60-var-update --thread 1 --frame 0 --all-values watch_d0d49fbab55099a8fd464e5bed298a460fad452e9d9b96c5cff5be87208c7663 61-var-update --thread 1 --frame 0 --all-values watch_bcae350ee88229e9e1052c1391677e7457e2f6e1121c04fce70ec61ce076af37 62-var-update --thread 1 --frame 0 --all-values watch_631abb892b8dd67c8cc0a59da2617da920437e8c2028837f85a956fe1452b3da GDB -> App: {"token":55,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":56,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":57,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":58,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":59,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":60,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":61,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} GDB -> App: {"token":62,"outOfBandRecord":[],"resultRecords":{"resultClass":"done","results":[["changelist",[]]]}} `

Then I decided to check the 'arm-none-eabi-objdump.exe' for finction main :

`PS G:\XXX-01\build> G:/stm32-gcc-cmake-tool-chain/eabi/bin/arm-none-eabi-objdump.exe --disassemble=main -S XXX-01.elf

objdump.exe --disassemble=main -S XXX-01.elf: file format elf32-littlearm Disassembly of section .text: 080016ee
: /** * @brief The application entry point. * @retval int */ int main(void) { 80016ee: b508 push {r3, lr} /* USER CODE END 1 */ /* MCU Configuration--------------------------------------------------------*/ /* Reset of all peripherals, Initializes the Flash interface and the Systick. */ HAL_Init(); 80016f0: f003 fa84 bl 8004bfc /* USER CODE BEGIN Init */ /* USER CODE END Init */ /* Configure the system clock */ SystemClock_Config(); 80016f4: f7ff ffac bl 8001650 /* USER CODE BEGIN SysInit */ /* USER CODE END SysInit */ /* Initialize all configured peripherals */ MX_GPIO_Init(); 80016f8: f7ff fede bl 80014b8 MX_DMA_Init(); 80016fc: f7ff fdce bl 800129c MX_ADC1_Init(); 8001700: f7fe fefe bl 8000500 MX_ADC2_Init(); 8001704: f7fe ffc0 bl 8000688 MX_ADC3_Init(); 8001708: f7ff f862 bl 80007d0 MX_FDCAN3_Init(); 800170c: f7ff fe2c bl 8001368 MX_IWDG_Init(); 8001710: f7ff ff86 bl 8001620 MX_SPI2_Init(); 8001714: f000 f81a bl 800174c MX_TIM4_Init(); 8001718: f000 fb52 bl 8001dc0 MX_TIM8_Init(); 800171c: f000 fba2 bl 8001e64 MX_ADC4_Init(); 8001720: f7ff f994 bl 8000a4c MX_SPI3_Init(); 8001724: f000 f838 bl 8001798 MX_TIM2_Init(); 8001728: f000 fafa bl 8001d20 MX_FDCAN1_Init(); 800172c: f7ff fdf8 bl 8001320 MX_TIM3_Init(); 8001730: f000 f9ec bl 8001b0c /* USER CODE BEGIN 2 */ ADC_analog_Init(); 8001734: f000 fd2a bl 800218c PWM_driver_Init(); 8001738: f000 fdb0 bl 800229c /* USER CODE END 2 */ /* Init scheduler */ osKernelInitialize(); /* Call init function for freertos objects (in freertos.c) */ 800173c: f000 ff82 bl 8002644 MX_FREERTOS_Init(); 8001740: f7ff fd90 bl 8001264 /* Start scheduler */ osKernelStart(); 8001744: f000 ff9c bl 8002680 /* We should never get here as control is now taken by the scheduler */ /* Infinite loop */ /* USER CODE BEGIN WHILE */ while (1) 8001748: e7fe b.n 8001748 `

as we can see that variant of command 'arm-none-eabi-objdump.exe' is workable , so let's go next :

`PS G:\XXX-01\build> G:/stm32-gcc-cmake-tool-chain/eabi/bin/arm-none-eabi-objdump.exe --syms XXX-01.elf

objdump.exe --syms XXX-01.elf: file format elf32-littlearm SYMBOL TABLE: 08000000 l d .isr_vector 00000000 .isr_vector 080001e0 l d .text 00000000 .text 080085f4 l d .rodata 00000000 .rodata 08008684 l d .ARM.extab 00000000 .ARM.extab 08008690 l d .ARM 00000000 .ARM 08008780 l d .init_array 00000000 .init_array 0800878c l d .fini_array 00000000 .fini_array 20000000 l d .data 00000000 .data 200007f4 l d .bss 00000000 .bss 20002a08 l d ._user_heap_stack 00000000 ._user_heap_stack 00000000 l d .ARM.attributes 00000000 .ARM.attributes 00000000 l d .debug_info 00000000 .debug_info 00000000 l d .debug_abbrev 00000000 .debug_abbrev 00000000 l d .debug_loc 00000000 .debug_loc 00000000 l d .debug_aranges 00000000 .debug_aranges 00000000 l d .debug_ranges 00000000 .debug_ranges 00000000 l d .debug_line 00000000 .debug_line 00000000 l d .debug_str 00000000 .debug_str 00000000 l d .comment 00000000 .comment 00000000 l d .debug_frame 00000000 .debug_frame 00000000 l d .debug_macro 00000000 .debug_macro 00000000 l d .stabstr 00000000 .stabstr 00000000 l d .stab 00000000 .stab 00000000 l df *ABS* 00000000 CMakeFiles/XXX-01.dir/Core/Src/startup_stm32g473xx.s.obj f1e0f85f l *ABS* 00000000 BootRAM 08007654 l .text 00000000 LoopCopyDataInit 0800764e l .text 00000000 CopyDataInit 08007666 l .text 00000000 LoopFillZerobss 08007662 l .text 00000000 FillZerobss 08007676 l .text 00000000 LoopForever 08007690 l .text 00000000 Infinite_Loop 00000000 l df *ABS* 00000000 libunwind.o 00000000 l df *ABS* 00000000 lib_a-memcpy.o 00000000 l df *ABS* 00000000 crtstuff.c 080085dc l O .text 00000000 __EH_FRAME_BEGIN__ 080004c0 l F .text 00000000 __do_global_dtors_aux 200007f4 l O .bss 00000000 completed.1 0800878c l O .fini_array 00000000 __do_global_dtors_aux_fini_array_entry 080004e4 l F .text 00000000 frame_dummy 200007f8 l O .bss 00000000 object.0 08008784 l O .init_array 00000000 __frame_dummy_init_array_entry 00000000 l df *ABS* 00000000 adc.c 20000810 l O .bss 00000004 HAL_RCC_ADC12_CLK_ENABLED 20000814 l O .bss 00000004 HAL_RCC_ADC345_CLK_ENABLED 00000000 l df *ABS* 00000000 app_freertos.c 00000000 l df *ABS* 00000000 dma.c 00000000 l df *ABS* 00000000 fdcan.c 20000b6c l O .bss 00000004 HAL_RCC_FDCAN_CLK_ENABLED 00000000 l df *ABS* 00000000 gpio.c 00000000 l df *ABS* 00000000 iwdg.c 00000000 l df *ABS* 00000000 main.c 00000000 l df *ABS* 00000000 spi.c 00000000 l df *ABS* 00000000 stm32g4xx_hal_msp.c 00000000 l df *ABS* 00000000 stm32g4xx_it.c 00000000 l df *ABS* 00000000 system_stm32g4xx.c 00000000 l df *ABS* 00000000 tim.c 00000000 l df *ABS* 00000000 ADC_Channels.c 00000000 l df *ABS* 00000000 ADC_analog.c 00000000 l df *ABS* 00000000 PWM_driver.cpp 0800234c l F .text 0000019c _Z41__static_initialization_and_destruction_0ii 08002634 l F .text 0000000e _GLOBAL__sub_I_NumPWM 00000000 l df *ABS* 00000000 cmsis_os2.c 200010a4 l O .bss 00000200 Idle_Stack 200012a4 l O .bss 00000060 Idle_TCB 20001304 l O .bss 00000004 KernelState 20001308 l O .bss 00000400 Timer_Stack 20001708 l O .bss 00000060 Timer_TCB 00000000 l df *ABS* 00000000 timers.c 0800280c l F .text 00000020 prvGetNextExpireTime 0800282c l F .text 00000048 prvInsertTimerInActiveList 08002874 l F .text 00000070 prvCheckForValidListAndQueue 08002c48 l F .text 00000016 prvTimerTask 080029b4 l F .text 0000007c prvSwitchTimerLists 08002a30 l F .text 0000002c prvSampleTimeNow 08002a5c l F .text 0000006c prvProcessExpiredTimer 08002ac8 l F .text 00000074 prvProcessTimerOrBlockTask 08002b3c l F .text 0000010c prvProcessReceivedCommands 20001768 l O .bss 00000004 pxCurrentTimerList 2000176c l O .bss 00000004 pxOverflowTimerList 20001770 l O .bss 000000a0 ucStaticTimerQueueStorage.1 20001810 l O .bss 00000014 xActiveTimerList1 20001824 l O .bss 00000014 xActiveTimerList2 20001838 l O .bss 00000004 xLastTime.2 2000183c l O .bss 00000050 xStaticTimerQueue.0 2000188c l O .bss 00000004 xTimerQueue 20001890 l O .bss 00000004 xTimerTaskHandle 00000000 l df *ABS* 00000000 tasks.c 08002c60 l F .text 0000002c prvResetNextTaskUnblockTime 08002c8c l F .text 000000aa prvInitialiseNewTask 08002d38 l F .text 00000068 prvInitialiseTaskLists 08002da0 l F .text 000000ac prvAddNewTaskToReadyList 08002e4c l F .text 00000038 prvDeleteTCB 08002e84 l F .text 0000004c prvCheckTasksWaitingTermination 08002ed0 l F .text 00000028 prvIdleTask 08002ef8 l F .text 0000007c prvAddCurrentTaskToDelayedList 20001898 l O .bss 00000004 pxDelayedTaskList 2000189c l O .bss 00000004 pxOverflowDelayedTaskList 200018a0 l O .bss 00000460 pxReadyTasksLists 20001d00 l O .bss 00000004 ulTaskSwitchedInTime 20001d04 l O .bss 00000004 ulTotalRunTime 20001d08 l O .bss 00000004 uxCurrentNumberOfTasks 20001d0c l O .bss 00000004 uxDeletedTasksWaitingCleanUp 20001d10 l O .bss 00000004 uxPendedTicks 20001d14 l O .bss 00000004 uxSchedulerSuspended 20001d18 l O .bss 00000004 uxTaskNumber 20001d1c l O .bss 00000004 uxTopReadyPriority 20001d20 l O .bss 00000014 xDelayedTaskList1 20001d34 l O .bss 00000014 xDelayedTaskList2 20001d48 l O .bss 00000004 xIdleTaskHandle 20001d4c l O .bss 00000004 xNextTaskUnblockTime 20001d50 l O .bss 00000004 xNumOfOverflows 20001d54 l O .bss 00000014 xPendingReadyList 20001d68 l O .bss 00000004 xSchedulerRunning 20001d6c l O .bss 00000014 xSuspendedTaskList 20001d80 l O .bss 00000014 xTasksWaitingTermination 20001d94 l O .bss 00000004 xTickCount 20001d98 l O .bss 00000004 xYieldPending 00000000 l df *ABS* 00000000 list.c 00000000 l df *ABS* 00000000 queue.c 080037a6 l F .text 0000001e prvIsQueueFull 080037c4 l F .text 0000001a prvIsQueueEmpty 080037de l F .text 00000076 prvCopyDataToQueue 08003854 l F .text 00000024 prvCopyDataFromQueue 08003878 l F .text 0000006e prvUnlockQueue 0800396a l F .text 00000022 prvInitialiseNewQueue 00000000 l df *ABS* 00000000 heap_4.c 08003e50 l F .text 00000064 prvHeapInit 08003eb4 l F .text 00000064 prvInsertBlockIntoFreeList 20001ddc l O .bss 00000004 pxEnd 20001de0 l O .bss 00000c00 ucHeap 200029e0 l O .bss 00000004 xBlockAllocatedBit 200029e4 l O .bss 00000004 xFreeBytesRemaining 200029e8 l O .bss 00000004 xMinimumEverFreeBytesRemaining 200029ec l O .bss 00000008 xStart 00000000 l df *ABS* 00000000 port.c 08004078 l F .text 00000040 prvTaskExitError 080040b8 l F .text 00000022 prvPortStartFirstTask 080040e0 l F .text 0000000e vPortEnableVFP 08004140 l .text 00000000 pxCurrentTCBConst2 08004220 l .text 00000000 pxCurrentTCBConst 200029f4 l O .bss 00000001 ucMaxSysCallPriority 200029f8 l O .bss 00000004 ulMaxPRIGROUPValue 200003b4 l O .data 00000004 uxCriticalNesting 00000000 l df *ABS* 00000000 stm32g4xx_hal_rcc.c 080043ec l F .text 00000058 RCC_GetSysClockFreqFromPLLSource 00000000 l df *ABS* 00000000 stm32g4xx_hal.c 00000000 l df *ABS* 00000000 stm32g4xx_hal_rcc_ex.c 00000000 l df *ABS* 00000000 stm32g4xx_hal_gpio.c 00000000 l df *ABS* 00000000 stm32g4xx_hal_adc.c 00000000 l df *ABS* 00000000 stm32g4xx_hal_adc_ex.c 00000000 l df *ABS* 00000000 stm32g4xx_hal_dma.c 08005ed8 l F .text 00000042 DMA_SetConfig 08005f1c l F .text 00000048 DMA_CalcDMAMUXChannelBaseAndMask 08005f64 l F .text 00000028 DMA_CalcDMAMUXRequestGenBaseAndMask 00000000 l df *ABS* 00000000 stm32g4xx_hal_dma_ex.c 00000000 l df *ABS* 00000000 stm32g4xx_hal_fdcan.c 0800626c l F .text 0000008c FDCAN_CalcultateRamBlockAddresses 00000000 l df *ABS* 00000000 stm32g4xx_hal_iwdg.c 00000000 l df *ABS* 00000000 stm32g4xx_hal_pwr.c 00000000 l df *ABS* 00000000 stm32g4xx_hal_pwr_ex.c 00000000 l df *ABS* 00000000 stm32g4xx_hal_spi.c 00000000 l df *ABS* 00000000 stm32g4xx_hal_tim.c 080067c8 l F .text 000000b0 TIM_OC1_SetConfig 08006878 l F .text 0000009c TIM_OC3_SetConfig 08006914 l F .text 0000009c TIM_OC4_SetConfig 080069b0 l F .text 00000070 TIM_OC5_SetConfig 08006a20 l F .text 00000074 TIM_OC6_SetConfig 08006a94 l F .text 00000026 TIM_TI1_ConfigInputStage 08006aba l F .text 00000028 TIM_TI2_ConfigInputStage 08006ae2 l F .text 00000014 TIM_ITRx_SetConfig 00000000 l df *ABS* 00000000 stm32g4xx_hal_tim_ex.c 00000000 l df *ABS* 00000000 stm32g4xx_hal_cortex.c 00000000 l df *ABS* 00000000 unwind-arm.c 08007694 l F .text 00000012 selfrel_offset31 080076a8 l F .text 0000005c search_EIT_table 08007704 l F .text 00000028 __gnu_unwind_get_pr_addr 0800772c l F .text 0000009c get_eit_entry 080077c8 l F .text 00000058 restore_non_core_regs 08007820 l F .text 0000000a _Unwind_decode_typeinfo_ptr.constprop.0 0800782c l F .text 00000002 _Unwind_DebugHook 08007830 l F .text 0000003a unwind_phase2 0800786c l F .text 000000ca unwind_phase2_forced 08007a38 l F .text 0000001a _Unwind_GetGR 08007a84 l F .text 00000018 _Unwind_SetGR 08007b20 l F .text 000002a8 __gnu_unwind_pr_common 00000000 l df *ABS* 00000000 pr-support.c 08008064 l F .text 00000038 next_unwind_byte 00000000 l df *ABS* 00000000 abort.c 00000000 l df *ABS* 00000000 abs.c 00000000 l df *ABS* 00000000 init.c 00000000 l df *ABS* 00000000 memset.c 00000000 l df *ABS* 00000000 signal.c 00000000 l df *ABS* 00000000 signalr.c 00000000 l df *ABS* 00000000 __call_atexit.c 080084d8 l F .text 00000014 register_fini 00000000 l df *ABS* 00000000 fini.c 00000000 l df *ABS* 00000000 lock.c 00000000 l df *ABS* 00000000 atexit.c 00000000 l df *ABS* 00000000 __atexit.c 00000000 l df *ABS* 00000000 getpid.c 00000000 l df *ABS* 00000000 kill.c 00000000 l df *ABS* 00000000 _exit.c 00000000 l df *ABS* 00000000 g:/stm32-gcc-cmake-tool-chain/eabi/bin/../lib/gcc/arm-none-eabi/10.2.1/thumb/v7e-m+fp/hard/crti.o 00000000 l df *ABS* 00000000 g:/stm32-gcc-cmake-tool-chain/eabi/bin/../lib/gcc/arm-none-eabi/10.2.1/thumb/v7e-m+fp/hard/crtn.o 00000000 l df *ABS* 00000000 impure.c 200003c8 l O .data 00000428 impure_data 00000000 l df *ABS* 00000000 reent.c 00000000 l df *ABS* 00000000 close.c 00000000 l df *ABS* 00000000 08008790 l .fini_array 00000000 __fini_array_end 0800878c l .fini_array 00000000 __fini_array_start 0800878c l .init_array 00000000 __init_array_end 08008780 l .init_array 00000000 __preinit_array_end 08008780 l .init_array 00000000 __init_array_start 08008780 l .init_array 00000000 __preinit_array_start 08007690 w F .text 00000002 RTC_Alarm_IRQHandler 08000344 g F .text 00000022 .hidden ___Unwind_ForcedUnwind 08007938 g F .text 00000066 .hidden __gnu_Unwind_RaiseException 08007690 w F .text 00000002 EXTI2_IRQHandler 08000afc g F .text 00000408 HAL_ADC_MspInit 08007690 w F .text 00000002 TIM8_TRG_COM_IRQHandler 08007690 w F .text 00000002 TIM8_CC_IRQHandler 20000ec0 g O .bss 00000038 PWM_01 20000d2c g O .bss 00000004 Dma1Channel4_TestFreq 08005444 g F .text 0000000a ADC_DMAHalfConvCplt 080085b8 g F .text 00000010 _getpid 08006ff0 g F .text 00000128 HAL_TIM_PWM_ConfigChannel 0800193a g F .text 00000002 DebugMon_Handler 08002644 g F .text 0000003c osKernelInitialize 08000500 g F .text 00000188 MX_ADC1_Init 08007690 w F .text 00000002 SPI4_IRQHandler 080014b8 g F .text 00000168 MX_GPIO_Init 08005f8c g F .text 000000d8 HAL_DMA_Init 08004188 g F .text 0000002c vPortExitCritical 080084a8 g F .text 0000002c _kill_r 08007690 w F .text 00000002 FDCAN3_IT0_IRQHandler 20002a00 g O .bss 00000001 __lock___atexit_recursive_mutex 08001798 g F .text 0000004c MX_SPI3_Init 08001e64 g F .text 00000120 MX_TIM8_Init 0800125c w F .text 00000002 configureTimerForRunTimeStats 08007690 w F .text 00000002 TIM1_CC_IRQHandler 0800758c g F .text 00000070 HAL_NVIC_SetPriority 20000b58 g O .bss 00000001 ParkBreakSwReturn 08001d20 g F .text 000000a0 MX_TIM2_Init 08001932 g F .text 00000002 HardFault_Handler 08003dfc g F .text 00000052 vQueueWaitForMessageRestricted 20000b60 g O .bss 00000004 defaultTaskHandle 0800865c g O .rodata 00000004 PWM_Channel_Period_TIM8 080026c8 g F .text 000000d8 osThreadNew 0800125e w F .text 00000004 getRunTimeCounterValue 00000400 g *ABS* 00000000 _Min_Stack_Size 08007690 w F .text 00000002 USB_HP_IRQHandler 08001dc0 g F .text 000000a4 MX_TIM4_Init 08007690 w F .text 00000002 CORDIC_IRQHandler 0800193c g F .text 00000016 SysTick_Handler 20000ae8 g O .bss 00000060 hdma_adc4 08005190 g F .text 0000000a HAL_GPIO_WritePin 08002304 g F .text 00000048 _ZN13PWM_Channel_tC1EP17TIM_HandleTypeDefmRhP12GPIO_TypeDeftS4_tmPVt 20000c48 g O .bss 00000064 hspi2 08002178 g F .text 00000010 ADC_Code_3_EXE_Filter 08008600 g O .rodata 00000024 defaultTask_PWM_attributes 08006b96 g F .text 0000021e HAL_TIM_IRQHandler 0800755e w F .text 00000002 HAL_TIMEx_EncoderIndexCallback 08008790 g *ABS* 00000000 _sidata 08000200 g F .text 00000000 .hidden __gnu_Unwind_Save_VFP 08000320 g F .text 00000022 .hidden _Unwind_Resume_or_Rethrow 080041c0 g F .text 00000064 PendSV_Handler 08007558 w F .text 00000002 HAL_TIMEx_CommutCallback 08003ba8 g F .text 000000cc xQueueGenericSendFromISR 08007690 w F .text 00000002 DMA2_Channel8_IRQHandler 08001930 g F .text 00000002 NMI_Handler 080075fc g F .text 0000001c HAL_NVIC_EnableIRQ 08008780 g .ARM 00000000 __exidx_end 20000d30 g O .bss 00000004 TIM2_IRQ_TestCount 20000d18 g O .bss 00000004 Dma1Channel2_TestCount 08007690 w F .text 00000002 EXTI3_IRQHandler 0800492c g F .text 00000088 HAL_RCC_GetSysClockFreq 20000e2c g O .bss 0000004c htim8 08007dc8 g F .text 00000006 .hidden __aeabi_unwind_cpp_pr0 200007f0 g O .data 00000004 __atexit_recursive_mutex 080064cc g F .text 00000058 HAL_IWDG_Init 20000eb8 g O .bss 00000004 ADC_Code_4 20001894 g O .bss 00000004 pxCurrentTCB 20000de0 g O .bss 0000004c htim4 080018c8 g F .text 00000068 HAL_MspInit 08000320 g F .text 00000022 .hidden ___Unwind_Resume_or_Rethrow 20000d20 g O .bss 00000004 Dma1Channel3_TestCount 20002a04 g O .bss 00000004 errno 080085f4 g .text 00000000 _etext 200007f4 g .bss 00000000 _sbss 080066d0 g F .text 00000010 HAL_PWREx_DisableUCPDDeadBattery 08000368 g F .text 00000022 .hidden _Unwind_Backtrace 0800218c g F .text 00000110 ADC_analog_Init 08007690 w F .text 00000002 I2C3_ER_IRQHandler 20000884 g O .bss 0000006c hadc2 08006530 g F .text 00000084 HAL_PWR_ConfigPVD 08006064 g F .text 00000094 HAL_DMA_Start_IT 080035c4 g F .text 00000018 vTaskInternalSetTimeOutState 080001e0 g F .text 00000018 .hidden __restore_core_regs 08000220 g F .text 00000000 .hidden __gnu_Unwind_Save_VFP_D_16_to_31 20000d40 g O .bss 00000004 TIM8_IRQ_TestCount 08004fdc g F .text 000001b4 HAL_GPIO_Init 08006524 g F .text 0000000c HAL_IWDG_Refresh 08004278 g F .text 00000118 xPortStartScheduler 20000c38 g O .bss 00000010 hiwdg 0800038c g F .text 00000134 memcpy 080034d0 g F .text 00000030 vTaskPlaceOnEventList 08007a54 g F .text 0000002e .hidden _Unwind_VRS_Set 08004250 w F .text 00000028 vPortSetupTimerInterrupt 08007564 w F .text 00000002 HAL_TIMEx_TransitionErrorCallback 08001368 g F .text 0000004c MX_FDCAN3_Init 08004224 g F .text 0000002c xPortSysTickHandler 08007690 w F .text 00000002 EXTI0_IRQHandler 08007690 w F .text 00000002 I2C2_EV_IRQHandler 08008658 g O .rodata 00000004 PWM_Channel_Period_TIM2_TIM4 08004008 g F .text 00000070 vPortFree 08007690 w F .text 00000002 FPU_IRQHandler 20000000 g O .data 00000004 SystemCoreClock 08007690 w F .text 00000002 FDCAN1_IT1_IRQHandler 08007690 w F .text 00000002 TIM1_UP_TIM16_IRQHandler 08004390 g F .text 0000005c vPortValidateInterruptPriority 200003b8 g O .data 00000004 uwTickFreq 08008624 g O .rodata 00000024 defaultTask_attributes 08005ab8 g F .text 0000012c HAL_ADC_Start_DMA 08001938 g F .text 00000002 UsageFault_Handler 20000b5c g O .bss 00000004 cnt 08003738 g F .text 00000016 vListInsertEnd 08001fe0 g F .text 00000020 Analog_Channel_EXE 20000b48 g O .bss 00000004 Current_C 08007690 w F .text 00000002 ADC1_2_IRQHandler 080084d4 g F .text 00000004 _getpid_r 200007f4 g .bss 00000000 __bss_start__ 08007a9c g F .text 00000084 .hidden __gnu_Unwind_Backtrace 20000b4d g O .bss 00000001 GST_Position_New 20000000 g .data 00000000 _sdata 08007690 w F .text 00000002 SPI1_IRQHandler 080054f4 g F .text 00000534 HAL_ADC_ConfigChannel 08006b8e w F .text 00000002 HAL_TIM_OC_DelayElapsedCallback 20000bd4 g O .bss 00000064 hfdcan3 08000210 g F .text 00000000 .hidden __gnu_Unwind_Save_VFP_D 08001b0c g F .text 00000074 MX_TIM3_Init 08007690 w F .text 00000002 TIM6_DAC_IRQHandler 08003732 g F .text 00000006 vListInitialiseItem 08007562 w F .text 00000002 HAL_TIMEx_IndexErrorCallback 200029fc g O .bss 00000004 uwTick 08001650 g F .text 0000009e SystemClock_Config 08007de0 g F .text 00000284 .hidden _Unwind_VRS_Pop 08003c74 g F .text 0000015e xQueueReceive 20000b68 g O .bss 00000004 xLastWakeTime 08007dd8 w F .text 00000006 .hidden __aeabi_unwind_cpp_pr2 20001d9c g O .bss 00000040 xQueueRegistry 20000d28 g O .bss 00000004 Dma1Channel4_TestCount 08000368 g F .text 00000022 .hidden ___Unwind_Backtrace 08007618 g F .text 00000028 HAL_SYSTICK_Config 08001ac0 g F .text 00000030 TIM8_UP_IRQHandler 080027f4 g F .text 00000018 vApplicationGetTimerTaskMemory 20000a88 g O .bss 00000060 hdma_adc3 0800519c g F .text 000002a4 HAL_ADC_Init 08008690 g .ARM 00000000 __exidx_start 080027a0 g F .text 0000003c osDelay 08008680 g O .rodata 00000004 _global_impure_ptr 08008660 g O .rodata 00000004 PWM_Channel_Prescaler_TIM2_TIM4 08008360 g F .text 00000048 __libc_init_array 20000f68 g O .bss 00000038 PWM_04 080025fc g F .text 0000001c Set_PWM_Thousandth_C 08007690 w F .text 00000002 DMA2_Channel2_IRQHandler 080002d8 g F .text 00000022 .hidden ___Unwind_RaiseException 080019f0 g F .text 00000034 DMA1_Channel4_IRQHandler 08008348 g F .text 0000000e abort 080002fc g F .text 00000022 .hidden ___Unwind_Resume 08000a4c g F .text 000000b0 MX_ADC4_Init 08005d0c g F .text 000001cc HAL_ADCEx_MultiModeConfigChannel 08002188 g F .text 00000002 ADC_Code_4_EXE_Filter 08003f18 g F .text 000000f0 pvPortMalloc 08005c70 g F .text 0000009c HAL_ADCEx_Calibration_Start 20000fd8 g O .bss 00000038 PWM_06 080066e0 g F .text 000000e8 HAL_SPI_Init 080085dc g F .text 00000000 _init 20000d94 g O .bss 0000004c htim3 0800371c g F .text 00000016 vListInitialise 08001264 g F .text 00000038 MX_FREERTOS_Init 08007690 w F .text 00000002 TIM20_TRG_COM_IRQHandler 080017e4 g F .text 000000e4 HAL_SPI_MspInit 08000228 g F .text 00000000 .hidden __gnu_Unwind_Restore_WMMXD 20000cac g O .bss 00000064 hspi3 08007690 w F .text 00000002 USART3_IRQHandler 08003104 g F .text 0000000c xTaskGetTickCount 08003a20 g F .text 00000188 xQueueGenericSend 080084ec g F .text 0000002c __libc_fini_array 20002a08 g .bss 00000000 _ebss 2000038c g O .data 00000028 Resist_Channel 08007690 w F .text 00000002 DMA1_Channel7_IRQHandler 08007640 w F .text 00000038 Reset_Handler 08006db4 g F .text 000000e0 TIM_Base_SetConfig 20001084 g O .bss 00000020 pPWM 0800368c g F .text 00000090 xTaskPriorityDisinherit 08007690 w F .text 00000002 UART5_IRQHandler 08006af8 g F .text 00000094 HAL_TIM_Base_Start_IT 08007690 w F .text 00000002 ADC3_IRQHandler 200003bc g O .data 00000004 uwTickPrio 08004bfc g F .text 0000001e HAL_Init 08003538 g F .text 0000008c xTaskRemoveFromEventList 20001048 g O .bss 00000038 PWM_08 20000b64 g O .bss 00000004 defaultTask_PWM 08001a90 g F .text 00000030 TIM4_IRQHandler 0800213c g F .text 0000003c ADC_Code_2_EXE_Filter 20000818 g O .bss 0000006c hadc1 08007690 w F .text 00000002 DMA2_Channel1_IRQHandler 080001f8 g F .text 00000000 .hidden __gnu_Unwind_Restore_VFP 08007690 w F .text 00000002 QUADSPI_IRQHandler 20002a08 g ._user_heap_stack 00000000 end 08007690 w F .text 00000002 I2C1_EV_IRQHandler 200008f0 g O .bss 0000006c hadc3 0800851c g F .text 00000002 __retarget_lock_release_recursive 080002fc g F .text 00000022 .hidden _Unwind_Resume 20000e98 g O .bss 0000001e ADC_Code_3 08002680 g F .text 00000048 osKernelStart 20000b4c g O .bss 00000001 GST_Position 20000d38 g O .bss 00000004 TIM4_IRQ_TestCount 08007690 w F .text 00000002 DMA1_Channel6_IRQHandler 08002550 g F .text 00000070 _ZN13PWM_Channel_t7ExecuteEv 08007690 w F .text 00000002 UART4_IRQHandler 08007690 w F .text 00000002 DMA2_Channel4_IRQHandler 080035dc g F .text 00000084 xTaskCheckForTimeOut 20002a08 g .bss 00000000 __bss_end__ 08001a24 g F .text 00000010 TIM3_IRQHandler 08007690 w F .text 00000002 RCC_IRQHandler 08007690 w F .text 00000002 TIM20_UP_IRQHandler 0800229c g F .text 00000068 PWM_driver_Init 00000200 g *ABS* 00000000 _Min_Heap_Size 08001954 g F .text 00000034 DMA1_Channel1_IRQHandler 08007690 g .text 00000002 Default_Handler 08007690 w F .text 00000002 DMA2_Channel7_IRQHandler 080030f4 g F .text 00000010 vTaskSuspendAll 08008648 g O .rodata 00000010 AHBPrescTable 08007690 w F .text 00000002 RTC_TAMP_LSECSS_IRQHandler 08007690 w F .text 00000002 FMAC_IRQHandler 0800809c g F .text 000002ac .hidden __gnu_unwind_execute 08003780 g F .text 00000026 uxListRemove 08007690 w F .text 00000002 EXTI15_10_IRQHandler 0800852c g F .text 0000008c __register_exitproc 08001320 g F .text 00000048 MX_FDCAN1_Init 08000208 g F .text 00000000 .hidden __gnu_Unwind_Restore_VFP_D 20001080 g O .bss 00000004 PWM_Count 08002f74 g F .text 00000076 xTaskCreateStatic 080049b4 g F .text 000001f8 HAL_RCC_ClockConfig 08007568 g F .text 00000024 HAL_NVIC_SetPriorityGrouping 08007690 w F .text 00000002 DMA1_Channel8_IRQHandler 08003410 g F .text 000000c0 vTaskSwitchContext 08000f04 g F .text 00000358 StartDefaultTask 08007690 w F .text 00000002 TIM7_DAC_IRQHandler 0800398c g F .text 00000094 xQueueGenericCreateStatic 080079b0 g F .text 00000044 .hidden __gnu_Unwind_Resume 08003500 g F .text 00000038 vTaskPlaceOnEventListRestricted 080065c4 g F .text 0000010c HAL_PWREx_ControlVoltageScaling 080025c0 g F .text 00000034 Task_PWM 08007690 w F .text 00000002 FDCAN3_IT1_IRQHandler 08007690 w F .text 00000002 TIM5_IRQHandler 08000218 g F .text 00000000 .hidden __gnu_Unwind_Restore_VFP_D_16_to_31 200009c8 g O .bss 00000060 hdma_adc1 08007690 w F .text 00000002 UCPD1_IRQHandler 080027dc g F .text 00000018 vApplicationGetIdleTaskMemory 08006e94 g F .text 00000060 HAL_TIM_Base_Init 08006b8c w F .text 00000002 HAL_TIM_PeriodElapsedCallback 080020f8 g F .text 00000044 ADC_Code_1_EXE_Filter 08007690 w F .text 00000002 I2C3_EV_IRQHandler 08002948 g F .text 0000006c xTimerGenericCommand 08000688 g F .text 00000148 MX_ADC2_Init 080002d8 g F .text 00000022 .hidden _Unwind_RaiseException 08007690 w F .text 00000002 EXTI9_5_IRQHandler 20000e78 g O .bss 00000010 ADC_Code_1 080061bc g F .text 00000056 HAL_DMAEx_ConfigMuxSync 08007690 w F .text 00000002 RTC_WKUP_IRQHandler 20000b70 g O .bss 00000064 hfdcan1 08004c34 w F .text 0000000c HAL_GetTick 08007690 w F .text 00000002 PVD_PVM_IRQHandler 0800544e w F .text 00000002 HAL_ADC_ErrorCallback 20000d14 g O .bss 00000004 Dma1Channel1_TestFreq 08005be4 g F .text 0000008a ADC_Disable 08007690 w F .text 00000002 SPI2_IRQHandler 08008518 g F .text 00000002 __retarget_lock_acquire_recursive 08007134 g F .text 00000114 HAL_TIM_ConfigClockSource 080083a8 g F .text 000000a4 memset 08001934 g F .text 00000002 MemManage_Handler 080016ee g F .text 0000005c main 080065b4 g F .text 00000010 HAL_PWR_EnablePVD 08001620 g F .text 0000002c MX_IWDG_Init 0800374e g F .text 00000032 vListInsert 20000d24 g O .bss 00000004 Dma1Channel3_TestFreq 20000ebc g O .bss 00000001 NumPWM 08007690 w F .text 00000002 ADC5_IRQHandler 08006ef4 g F .text 00000060 HAL_TIM_PWM_Init 08004120 g F .text 00000024 SVC_Handler 08007690 w F .text 00000002 DMA2_Channel5_IRQHandler 08007690 w F .text 00000002 CRS_IRQHandler 080028e4 g F .text 00000064 xTimerCreateTimerTask 0800174c g F .text 0000004c MX_SPI2_Init 08006b90 w F .text 00000002 HAL_TIM_IC_CaptureCallback 08003320 g F .text 000000a4 vTaskDelayUntil 08002000 g F .text 000000d4 Resist_Channel_EXE 080024e8 g F .text 00000036 _ZN13PWM_Channel_t10SetCompareEm 20000fa0 g O .bss 00000038 PWM_05 20000ef8 g O .bss 00000038 PWM_02 08007690 w F .text 00000002 DMA1_Channel5_IRQHandler 08007690 w F .text 00000002 USB_LP_IRQHandler 08007690 w F .text 00000002 EXTI4_IRQHandler 080079a0 g F .text 00000010 .hidden __gnu_Unwind_ForcedUnwind 080020d4 g F .text 00000024 PIT_5V__Channel_EXE 08001af0 g F .text 0000001c SystemInit 080079f4 g F .text 00000012 .hidden __gnu_Unwind_Resume_or_Rethrow 08007690 w F .text 00000002 RNG_IRQHandler 080085e8 g F .text 00000000 _fini 080001e0 g F .text 00000018 .hidden restore_core_regs 080002c4 g F .text 00000000 .hidden __gnu_Unwind_Save_WMMXC 08007690 w F .text 00000002 TIM1_TRG_COM_TIM17_IRQHandler 08003228 g F .text 000000f8 xTaskResumeAll 08007690 w F .text 00000002 FDCAN2_IT1_IRQHandler 08006b92 w F .text 00000002 HAL_TIM_PWM_PulseFinishedCallback 08003054 g F .text 000000a0 vTaskStartScheduler 20000d1c g O .bss 00000004 Dma1Channel2_TestFreq 08008520 g F .text 0000000c atexit 080013b4 g F .text 00000104 HAL_FDCAN_MspInit 080019bc g F .text 00000034 DMA1_Channel3_IRQHandler 08004bac w F .text 00000050 HAL_InitTick 20000384 g O .data 00000008 PIT_5V_Channel 200003c0 g O .data 00000004 _impure_ptr 0800129c g F .text 00000084 MX_DMA_Init 08004c1c w F .text 00000018 HAL_IncTick 20000b50 g O .bss 00000004 MotorCoil 20001010 g O .bss 00000038 PWM_07 08007690 w F .text 00000002 ADC4_IRQHandler 080060f8 g F .text 000000c4 HAL_DMA_IRQHandler 08007560 w F .text 00000002 HAL_TIMEx_DirectionChangeCallback 0800755c w F .text 00000002 HAL_TIMEx_Break2Callback 08004c54 g F .text 00000010 HAL_SYSCFG_DisableVREFBUF 08007690 w F .text 00000002 WWDG_IRQHandler 08006212 g F .text 0000005a HAL_DMAEx_MUX_IRQHandler 08007690 w F .text 00000002 I2C4_EV_IRQHandler 08007690 w F .text 00000002 FDCAN2_IT0_IRQHandler 08003660 g F .text 0000000c vTaskMissedYield 08006b94 w F .text 00000002 HAL_TIM_TriggerCallback 08007690 w F .text 00000002 LPUART1_IRQHandler 08007690 w F .text 00000002 DMA2_Channel6_IRQHandler 08007690 w F .text 00000002 FDCAN1_IT0_IRQHandler 08001a60 g F .text 00000030 TIM2_IRQHandler 080073d8 g F .text 000000ac HAL_TIMEx_MasterConfigSynchronization 08003dd4 g F .text 00000028 vQueueAddToRegistry 08003110 g F .text 00000118 xTaskIncrementTick 20000d48 g O .bss 0000004c htim2 08006f54 g F .text 0000009c TIM_OC2_SetConfig 20000b54 g O .bss 00000004 NasosCoil 08007a08 g F .text 0000002e .hidden _Unwind_VRS_Get 08001c60 g F .text 000000c0 HAL_TIM_MspPostInit 08005a28 g F .text 00000090 ADC_Enable 08007690 w F .text 00000002 COMP7_IRQHandler 20020000 g *ABS* 00000000 _estack 08007690 w F .text 00000002 COMP1_2_3_IRQHandler 080002b0 g F .text 00000000 .hidden __gnu_Unwind_Restore_WMMXC 08007690 w F .text 00000002 EXTI1_IRQHandler 08007118 g F .text 0000001a TIM_ETR_SetConfig 080062f8 g F .text 000001d4 HAL_FDCAN_Init 080038e6 g F .text 00000084 xQueueGenericReset 08000344 g F .text 00000022 .hidden _Unwind_ForcedUnwind 200007f4 g .data 00000000 _edata 20000d3c g O .bss 00000004 TIM4_IRQ_TestFreq 2000095c g O .bss 0000006c hadc4 08007268 g F .text 00000170 HAL_TIM_PWM_Start 08007484 g F .text 000000d4 HAL_TIMEx_ConfigBreakDeadTime 08001c20 g F .text 00000040 HAL_TIM_Base_MspInit 20000a28 g O .bss 00000060 hdma_adc2 08002fea g F .text 00000068 xTaskCreate 08007690 w F .text 00000002 USART2_IRQHandler 08007690 w F .text 00000002 COMP4_5_6_IRQHandler 08004444 g F .text 000004e8 HAL_RCC_OscConfig 08008664 g O .rodata 00000004 PWM_Channel_Prescaler_TIM8 08000000 g O .isr_vector 00000000 g_pfnVectors 08005450 g F .text 00000088 ADC_DMAConvCplt 0800026c g F .text 00000000 .hidden __gnu_Unwind_Save_WMMXD 08004c64 g F .text 00000378 HAL_RCCEx_PeriphCLKConfig 080085c8 g F .text 00000010 _kill 08007690 w F .text 00000002 TIM20_BRK_IRQHandler 08007690 w F .text 00000002 I2C2_ER_IRQHandler 080033c4 g F .text 0000004c vTaskDelay 08001988 g F .text 00000034 DMA1_Channel2_IRQHandler 08007690 w F .text 00000002 TIM8_BRK_IRQHandler 0800366c g F .text 00000020 xTaskGetSchedulerState 08007248 g F .text 0000001e TIM_CCxChannelCmd 080007d0 g F .text 0000027c MX_ADC3_Init 08005442 w F .text 00000002 HAL_ADC_ConvHalfCpltCallback 08007690 w F .text 00000002 FLASH_IRQHandler 080085d8 g F .text 00000002 _exit 08007690 w F .text 00000002 TIM20_CC_IRQHandler 20000004 g O .data 00000380 Analog_Channel 08001936 g F .text 00000002 BusFault_Handler 08007690 w F .text 00000002 USART1_IRQHandler 08002304 g F .text 00000048 _ZN13PWM_Channel_tC2EP17TIM_HandleTypeDefmRhP12GPIO_TypeDeftS4_tmPVt 080040f4 g F .text 0000002c pxPortInitialiseStack 08007690 w F .text 00000002 SPI3_IRQHandler 08007dd0 w F .text 00000006 .hidden __aeabi_unwind_cpp_pr1 08001b80 g F .text 000000a0 HAL_TIM_PWM_MspInit 08007690 w F .text 00000002 I2C1_ER_IRQHandler 20000d34 g O .bss 00000004 TIM2_IRQ_TestFreq 08007690 w F .text 00000002 FMC_IRQHandler 08008358 g F .text 00000008 abs 20000d44 g O .bss 00000004 TIM8_IRQ_TestFreq 08004144 g F .text 00000044 vPortEnterCritical 0800755a w F .text 00000002 HAL_TIMEx_BreakCallback 20000d10 g O .bss 00000004 Dma1Channel1_TestCount 080054d8 g F .text 0000001a ADC_DMAError 08007690 w F .text 00000002 LPTIM1_IRQHandler 20000f30 g O .bss 00000038 PWM_03 08001a34 g F .text 0000002c DMAMUX_OVR_IRQHandler 08001f84 g F .text 0000005c Analog_Channel_EXE_Filter 08007690 w F .text 00000002 I2C4_ER_IRQHandler 20000e88 g O .bss 0000000e ADC_Code_2 08002618 g F .text 0000001c SetCurrent_C 08002520 g F .text 00000030 _ZN13PWM_Channel_t18Set_PWM_ThousandthEm 080025f4 g F .text 00000008 _ZN13PWM_Channel_t10SetCurrentEm 08004c40 g F .text 00000014 HAL_SYSCFG_VREFBUF_HighImpedanceConfig 08007690 w F .text 00000002 USBWakeUp_IRQHandler 08007690 w F .text 00000002 SAI1_IRQHandler 0800844c g F .text 0000005c raise 08005440 w F .text 00000002 HAL_ADC_ConvCpltCallback 08007690 w F .text 00000002 DMA2_Channel3_IRQHandler 0800164c g F .text 00000004 Error_Handler 08007690 w F .text 00000002 TIM1_BRK_TIM15_IRQHandler

PS G:\XXX-01\build>`

as we can see that variant of command 'arm-none-eabi-objdump.exe' also works.

I am worried about the window disassembler , like I understood this window has to show disassembled info but it was not displayed. Let have a look :

if (url) { vscode.window.showTextDocument(vscode.Uri.parse(url)); }

Like I understood url mustn't become 'undefined' or 'null' and I checked the code and it sems to me that url contains string but I am worried about function vscode.Uri.parse(url)...

Hmm... Anyway, 'vscode.window.showTextDocument(vscode.Uri.parse(url));' doesn't return the activated text editor

haneefdm commented 3 years ago

I think I know what is wrong. It is easy for me to fix this one case. But I need to know why and fix the root cause. The problem is that we are not finding the symbol 'main' although it is there in the elf file and the objdump clearly shows it. If it can't find main, what else (globals, locals, etc.) can it not find or got mischaracterized. This is what I am more worried about.

The problem is it will take me some time to create a test environment with the elf file (since I don't have the HW) to and I have one more pressing issue that needs attention.

Yes, quite a few of the VSCode APIs don't return anything meaningful and most stuff is asynchronous. You ask for something and sometime in the future, it happens. Its JavaScript/NodeJS magic.

VzdornovNA88 commented 3 years ago

the fix is to not depend on main ? =))))) just a joke

as I understand it , until a full investigation is carried out and the true cause is found , this task will not receive the status of a bug or new task ?

is it possible to get more detailed information with a link to the place in the source code where it broke or at least where you see a quick fix now, for the sake of interest?

I understand (about VS Code API), but in the case of 'vscode.window.showTextDocument(vscode.Uri.parse(url));' , magic hasn't worked =)))

haneefdm commented 3 years ago

I never used those Tags. It is a bug. I didn't even know I had permission to label things. This is not my repo :-)

haneefdm commented 3 years ago

I am trying to figure out why this is not working, So, if you want to help.

            let functions = this.functionSymbols.filter((s) => s.name === funcname);

It is probably returning an empty array for you. The rabbit hole starts. With the version of ARM tools and your executable, it is working fine for me. Hope it is not a Windows-specific issue (I am using a Mac)

@VzdornovNA88 Could you please put large amounts of text into a separate file and then attach it? Make scrolling and focussing a bit easier. Or you can use collapsible text

haneefdm commented 3 years ago

Also, we don't use objdump to do the disassembly. We use it only to get symbols table.

arm-none-eabi-objdump --syms -Wi -C XXX-01.elf

Maybe you can attach the output of that on your real executable unless that also is under NDA.

VzdornovNA88 commented 3 years ago

I have attached the output of similar command already in the last message, tomorrow I can apply your variant of that.

By the way, it could be really the specific system problem, but I didn't try my sandbox on Ubuntu 20 ,it's interesting case. Let me try it on next Monday.

Yes, I would like help you. I have little experience of running vs code extension under debugger I tried to figure out how clangd extension works in vs code, but I think it will be long time for me =)))

OK, your comment about long texts is accepted.

haneefdm commented 3 years ago

The -Wi -C are super important and will produce some very large output so might be good to redirect to a file.

VzdornovNA88 commented 3 years ago

objdump.zip

Hi, this is the result of arm-none-eabi-objdump --syms -Wi -C XXX-01.elf, I hope it will help...

VzdornovNA88 commented 3 years ago

Hi , I promised to provide the result of running the project on Ubuntu 20, so , I've done it , like I thought, it looks like it only works on a Linux-based distrib.

Environment :

Version: 1.61.1 Commit: c13f1abb110fc756f9b3a6f16670df9cd9d4cf63 Date: 2021-10-14T01:15:35.620Z Electron: 13.5.1 Chrome: 91.0.4472.164 Node.js: 14.16.0 V8: 9.1.269.39-electron.0 OS: Linux x64 5.4.0-81-generic snap

Settings :

`{ "name": "XXX-01 Debug", "type": "cortex-debug", "request": "launch", "runToEntryPoint": "main", "showDevDebugOutput": false, "servertype": "openocd", "cwd": "${workspaceRoot}", "interface": "swd", "device": "STM32G473VE",

        "executable": "${workspaceRoot}/build/XXX-01.elf",

        "svdFile"     :   "${env:CMAKE_NONE_EABI_STM32_TOOL_CHAIN}/cmsis-svd/data/STMicro/STM32G473xx.svd",
        "gdbPath"     :   "${env:CMAKE_NONE_EABI_STM32_TOOL_CHAIN}/eabi/bin/arm-none-eabi-gdb",
        "configFiles" : [ "${workspaceRoot}/openocd.cfg", ],
    }`

objdump.zip

cortex_debug_info.zip

haneefdm commented 3 years ago

@VzdornovNA88 That is very helpful as I was scratching my head. I will do a careful re-analysis of the issue using the same version of ARM tools as you are on Windows. My primary machine is Mac and I was working fine, I tried Windows and it worked as well but -- I wasn't using the same ARM tools as you.

Got some free time this week, so lets see.

haneefdm commented 2 years ago

We have changed strategies (after multiple failed attempts). We are not using objdump without the -Wi options which reduces the size of the output file -- although with missing info. Apart from objdump we now use nm to augment what info objdump gave us.

You can try out the latest and I can re-open this issue (or file a new one) if it is still an issue.

VzdornovNA88 commented 2 years ago

Thanks ,I am gonna try it out later maybe in month.