Forum Replies Created
-
AuthorPosts
-
intector
ParticipantHello,
Thank you for the fast answer.
I’m not sure what is happening behind the curtains of OpenOCD. I just noted that if I use the
SCB_EnableDCache();
I have no values or just the initial values for the datatype. I made a test in STM32CubeIDE, which does not matter; I always see the values regardless.How could I enable the DCache and still debug with updated values? I don’t know much about OpenOCD; it’s more like a “Black Box Tool.”
Thank you
Kai
intector
ParticipantHello,
Thank you for the fast answer.
It’s quite possible that this is not a known issue, but what makes me wonder is those error messages:
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Error: Failed to read memory at 0x70000c00
Error: Failed to read memory at 0x70000d12
Error: Failed to read memory at 0x70000c1a
Why does it have an issue with the libusb_open(), and why is it problematic to read the memory at those addresses? I can read those addresses in the memory listing without any issues.
However, I’ll follow your recommendation and start a new project from scratch as soon as possible. In the meantime, I decided to switch to an STM32H753 MCU. Those “Bootflash” MCUs are fantastic devices, but it’s hard to find good support for them. I might get back to those later.
Thank you
Kai
intector
ParticipantHello,
I have a project with an STM32H7R3L8H6H MCU, and I can’t see the values of the variables at breakpoints. This issue occurred earlier, but I applied a patch, and everything worked fine. For some reason, the problem is back. When I start debugging, the variables’ values are always at their initial values.
Here is the “VisualGDB Program Output” window content:
C:\Users\KaiJensen\AppData\Local\VisualGDB\EmbeddedDebugPackages\com.sysprogs.arm.openocd.st\bin\openocd.exe -c "gdb_port 59761" -c "telnet_port 59759" -f interface/stlink-dap.cfg -f target/stm32h7rx.cfg -c init -c "reset init" -c "echo VisualGDB_OpenOCD_Ready"
Open On-Chip Debugger 0.12.0 (2025-01-22) [https://github.com/STMicroelectronics/OpenOCD]
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "dapdirect_swd". To override use 'transport select <transport>'.
stm32h7x_dbgmcu_mmw
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Info : STLINK V3J15M7 (API v3) VID:PID 0483:374E
Info : Target voltage: 3.294024
Info : Unable to match requested speed 1800 kHz, using 1000 kHz
Info : Unable to match requested speed 1800 kHz, using 1000 kHz
Info : clock speed 1000 kHz
Info : stlink_dap_op_connect(connect)
Info : SWD DPIDR 0x6ba02477
Info : [stm32h7x.cpu0] Cortex-M7 r1p2 processor detected
Info : [stm32h7x.cpu0] target has 8 breakpoints, 4 watchpoints
Info : gdb port disabled
Info : starting gdb server for stm32h7x.cpu0 on 59761
Info : Listening on port 59761 for gdb connections
[stm32h7x.cpu0] halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0800119c msp: 0x20010000
Info : Unable to match requested speed 4000 kHz, using 3300 kHz
Info : Unable to match requested speed 4000 kHz, using 3300 kHz
VisualGDB_OpenOCD_Ready
Info : Listening on port 6666 for tcl connections
Info : Listening on port 59759 for telnet connections
Info : accepting 'gdb' connection on tcp/59761
Info : Device: STM32H7Rx/7Sx
Info : flash size probed value 65535k
Info : STM32H7 flash has a single bank
Info : Bank (0) size is 65535 kb, base address is 0x08000000
Info : New GDB Connection: 1, Target stm32h7x.cpu0, state: halted
Warn : Prefer GDB command "target extended-remote :59761" instead of "target remote :59761"
[stm32h7x.cpu0] halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0800119c msp: 0x20010000
Info : Unable to match requested speed 4000 kHz, using 3300 kHz
Info : Unable to match requested speed 4000 kHz, using 3300 kHz
[stm32h7x.cpu0] halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0800119c msp: 0x20010000
Info : Unable to match requested speed 4000 kHz, using 3300 kHz
Info : Unable to match requested speed 4000 kHz, using 3300 kHz
force hard breakpoints
Error: Failed to read memory at 0x70000c00
Error: Failed to read memory at 0x70000d12
Error: Failed to read memory at 0x70000c1a
Info : dropped 'gdb' connection
shutdown command invoked
I also attached the logfile.
Thank you
Kai
Attachments:
You must be logged in to view attached files.intector
ParticipantHello Support,
The issue with missing values during debugging is back. I can compile my project without any issues, and the debugger stops on the correct breakpoints, but the variables show only the initial values.
This is from the “VisualGDB Program Output” window:
C:\Users\KaiJensen\AppData\Local\VisualGDB\EmbeddedDebugPackages\com.sysprogs.arm.openocd.st\bin\openocd.exe -c "gdb_port 59761" -c "telnet_port 59759" -f interface/stlink-dap.cfg -f target/stm32h7rx.cfg -c init -c "reset init" -c "echo VisualGDB_OpenOCD_Ready"
Open On-Chip Debugger 0.12.0 (2025-01-22) [https://github.com/STMicroelectronics/OpenOCD]
Licensed under GNU GPL v2
For bug reports, read
http://openocd.org/doc/doxygen/bugs.html
Info : auto-selecting first available session transport "dapdirect_swd". To override use 'transport select <transport>'.
stm32h7x_dbgmcu_mmw
Error: libusb_open() failed with LIBUSB_ERROR_NOT_SUPPORTED
Info : STLINK V3J15M7 (API v3) VID:PID 0483:374E
Info : Target voltage: 3.294024
Info : Unable to match requested speed 1800 kHz, using 1000 kHz
Info : Unable to match requested speed 1800 kHz, using 1000 kHz
Info : clock speed 1000 kHz
Info : stlink_dap_op_connect(connect)
Info : SWD DPIDR 0x6ba02477
Info : [stm32h7x.cpu0] Cortex-M7 r1p2 processor detected
Info : [stm32h7x.cpu0] target has 8 breakpoints, 4 watchpoints
Info : gdb port disabled
Info : starting gdb server for stm32h7x.cpu0 on 59761
Info : Listening on port 59761 for gdb connections
[stm32h7x.cpu0] halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0800119c msp: 0x20010000
Info : Unable to match requested speed 4000 kHz, using 3300 kHz
Info : Unable to match requested speed 4000 kHz, using 3300 kHz
VisualGDB_OpenOCD_Ready
Info : Listening on port 6666 for tcl connections
Info : Listening on port 59759 for telnet connections
Info : accepting 'gdb' connection on tcp/59761
Info : Device: STM32H7Rx/7Sx
Info : flash size probed value 65535k
Info : STM32H7 flash has a single bank
Info : Bank (0) size is 65535 kb, base address is 0x08000000
Info : New GDB Connection: 1, Target stm32h7x.cpu0, state: halted
Warn : Prefer GDB command "target extended-remote :59761" instead of "target remote :59761"
[stm32h7x.cpu0] halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0800119c msp: 0x20010000
Info : Unable to match requested speed 4000 kHz, using 3300 kHz
Info : Unable to match requested speed 4000 kHz, using 3300 kHz
[stm32h7x.cpu0] halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x0800119c msp: 0x20010000
Info : Unable to match requested speed 4000 kHz, using 3300 kHz
Info : Unable to match requested speed 4000 kHz, using 3300 kHz
force hard breakpoints
Error: Failed to read memory at 0x70000c00
Error: Failed to read memory at 0x70000d12
Error: Failed to read memory at 0x70000c1a
Info : dropped 'gdb' connection
shutdown command invoked
I also attached the log file.
Thank you
Kai
Attachments:
You must be logged in to view attached files.intector
ParticipantHello,
Thank you for the fast answer.
The reason for that behavior was the linker file. I compared the linker file with one generated by STM32CubeMX and found that some spaces in the wrong places caused this problem. I don’t understand how this could cause such issues, but it’s working now. I’ll probably have to learn more about the linked script syntax.
Again, thank you
Kai
intector
ParticipantHello,
I encountered many boulders on my way, but my project is finally ported to the STM32H7R3L8H6H MCY and compiles without errors. The download to the external memory is also working, and the debugger stops on the breakpoints. The only issue is that I can see any values on any variables. Some variables have random values, and others have standard initial values, but no changes are shown during debugging.
I had this issue earlier and followed the instructions you guys gave me in my earlier post about it, after which it worked. The issue came back for some reason, and I can’t see any values. The program runs and stops on the breakpoints, but that is it pretty much.
I’ve attached the log file for your information.
Thank you
Kai
Attachments:
You must be logged in to view attached files.February 8, 2025 at 09:16 in reply to: wrong XSPI memory size in — Memory utilization report — #36378intector
ParticipantHey,
Thank you very much for the fast answer. This is what I already thought. I’ve found the entry in the CSP.XML, but I wasn’t sure if that was the correct location.
thank you
Kai
intector
ParticipantHello,
Thank you for the excellent support. It works like a charm.
intector
ParticipantHello,
Thank you for the fast reply to my question.
Here are some more details on my issue:
- I used a board with a STM32H7R3L8H6H MCU
- To create the test project, I used STM32H7S78-DK –> Template_XSIP –> Boot
- It places the __disable_irq() function, calling the Error_Handler function. This gets red underlined because it can’t find the declaration. In STM32CubeIDE it uses the declartion in cmsis_gcc.h. In VisualGDB, it doesn’t offer this file as a solution. The screenshot __disable_irq_error.jpg shows the location in the main.c file where this function is called. The screenshot cmsis_selection.png shows the files that VisualGDB offers.
- The screenshot no_values01.jpg shows the variables without values during debugging.
Please check the attached files for more information.
I tried a test with the USB-CDC example for the NUCLEO-STM32H7S3L8, which you used in your tutorial, and this doesn’t have this issue. The variables have values in that case.
Attachments:
You must be logged in to view attached files.intector
ParticipantHello Support,
I upgraded my VisualGDB to custom to follow your tutorials. I’m trying to get my board running by following your tutorials. Unfortunately, I can’t see any values when I stop on breakpoints. I also tested a NUCLEO-STM32H7S3L8 board but ran into the same problems. What could be the problem?
intector
ParticipantHey Guys,
Thank you for this great tutorial. I finally can get away from that awful STM32CubeIDE with its annoying STM32CubeMX code generation.
I’m working on a project for which I designed the PCB. It uses the STM32H7R3L8H6H MCU, an 8GByte EMMC08G-MV28, a 32MByte MX25UW25645GXDI00, and a 32MByte APS256XXN-OBR, among other peripherals. I’ve attached some pictures of it.
I have the memory working at 200 MHz, but it was a project. The STM32Cube_FW_H7RS_V1.1.0 package contains several errors regarding the XSPI drivers, and the documentation isn’t updated either.
Again, thank you for your support, and keep in mind:
“Always be yourself. Unless you can be a pirate. Then always be a pirate.”
-
This reply was modified 1 month, 1 week ago by
intector.
Attachments:
You must be logged in to view attached files.intector
ParticipantHey,
That’s excellent news. Just in time, I finished my new board with an STM32H7R3L8H6H. I’m looking forward to your tutorial.Great job, guys, and never forget:
“Always be yourself.
Unless you can be a pirate.
Then always be a pirate.”intector
ParticipantHey,
Did you have a chance to test the STM32H7S/R series MCU?
intector
ParticipantHey Guys,
That works just fine, thanks.
intector
ParticipantHi,
Thank you for the fast answer. I’ve done this before, and I was just wondering if I could change the definitions myself.
-
AuthorPosts