Forum Replies Created
-
AuthorPosts
-
support
KeymasterIt looks like your technical support period has expired. We would be happy to help you, however we would kindly ask you to renew your technical support on the following page first: https://sysprogs.com/splm/mykey
support
KeymasterLooks like something is broken with the symbols. Please make sure you understand which symbols are loaded, which paths are referenced by them, and what paths are expected by gdb.
February 7, 2025 at 17:58 in reply to: wrong XSPI memory size in — Memory utilization report — #36377support
KeymasterHi,
Due to historical reasons, the maximum memory size shown in the build output and in the Memory Explorer is fixed for each device type. It doesn’t affect anything other than the displayed utilization, so for the devices with variable size we usually just take the default value from the default vendor-supplied linker script.
You can always patch it on your side by editing the MemoryMap tag in BSP.XML under %LOCALAPPDATA%\VisualGDB.
Another option would be to configure VisualGDB to infer the memory map from the linker script (requires Custom edition) via VisualGDB Project Properties -> Memories.
support
KeymasterHi,
Please refer to the following thread: https://sysprogs.com/w/forums/topic/debugger-setup-for-black-magic-probe/
support
KeymasterHi,
Sure, this is already supported. You can use the Debug->Windows->Hardware Registers window, locate the appropriate pin status register (see the device datasheet for the exact name) and turn on the live mode for it (lightning bolt icon). You can also flag several similar registers as favorite, so you can quickly view their realtime values without having to locate each one individually.
support
KeymasterHi,
Looks like VisualGDB fails to generate BSP.cmake due to some error with the gpdsc file:
VisualGDB found an error: Файл ‘C:\Users\user\mySpace\workspace\_superior\stm32Project\firmware\TestFirmware\TestFirmware.gpdsc’ РЅРµ найден.
Please double-check the error message on your computer. If it’s still unreadable, please consider changing the message language to English via environment.
support
KeymasterHi,
The regular C++ cast expressions should work just fine. Either way, VisualGDB passes the watch expressions directly to GDB (you can achieve the same result by running “print <expression>” in the GDB Session window and check the GDB documentation for the supported syntax.
support
KeymasterHi,
VisualGDB passes the file name and arguments directly to ProcessStartInfo, so the behavior regarding path, etc is defined by it. You can try calling this function directly with different combinations of parameters to see what works the best.
support
KeymasterHi,
You can try building it with Arduino IDE. If the build time is the same on the same machine for the same project, it is not something VisualGDB can fix. If the build time is considerably different, we can help you track it down.
January 30, 2025 at 17:12 in reply to: Making an embedded project on existing CMake build is not a smooth process #36356support
KeymasterHi,
Thanks for the detailed feedback. We have addressed most of the issues in this build: VisualGDB-6.0.107.5295.msi. Specifically:
- We have added a checkbox for relocating the project file to the imported project’s directory, similar to imported STM32Cube/IAR/Keil projects. It is located under the import mode selection switches.
- The device selection tab is needed because many parts of VisualGDB (debug engine, tracing engine, live memory engine, etc) can enable various optimizations if the device type is known. You don’t strictly need to set it and can proceed with the empty “manual” mode or pick any similar device, but you may end up needing to manually fine-tune debugging or configure other parts of VisualGDB.
- The CMake binary is pre-loaded based on other settings from the previous page (e.g. whether you are building it remotely). We could theoretically add logic for checking whether these settings got changed after changing the CMake path, but given that the non-default paths are used rarely, going back and forth through the pages is also not very common, and the workaround is trivial, we would rather not add any additional complexity to that part.
- There was indeed a bug with the CMake presets. Importing a preset without a build directory would show a rather generic error message, and if you configured the directory manually, it would not be applied until you reopen the project. We have fixed both issues: instead of the generic message, VisualGDB now clearly asks if you want to review/adjust the presets (where the missing value is immediately highlighted), and the changes are properly applied without having to reopen the project.
support
KeymasterHi,
Thanks for the screenshots. With the variable values it looks like conflict between the bootloader symbols and application symbols (both have the same variable defined at different places). We have added another step to the application tutorial showing how to avoid it by disabling bootloader symbols and debugging only the application.
The second error is caused by a workaround that is no longer required with the latest GCC. We have fixed it in our development branch, and you can apply it on your side by removing these lines from %VISUALGDB_DIR%\gcc_compat.h:
#ifdef __ARM_EABI__ #define __LDREXW(expr) *(expr) #define __STREXW(expr, val) expr #endif
January 30, 2025 at 08:18 in reply to: “Device-specific files” folder includes version number but shouldn’t #36353support
KeymasterHi,
This probably happened because the project was created when the BSP was installed in the single version mode. Then the BSP got switched to the multi-version mode via VisualGDB Package Manager, that resulted in moving the files to the version subfolder.
If you are using GNU Make or MSBuild, the .vcxproj file has to explicitly reference the exact sources from the BSP, so you would need to update it via VisualGDB Project Properties -> Embedded Project -> Regenerate MCU Files. CMake-based projects just reference the BSP version and compute all paths dynamically, so they don’t need any changes.
support
KeymasterSorry, doesn’t look like any known issue. Please consider attaching a screenshot illustrating the problem along with the GDB log.
support
KeymasterHi,
You can try reporting it to ST. Our packages are directly based on their SDKs, so any fixes they make in the subsequent versions will be automatically included in our BSPs as well.
support
KeymasterHi,
OK, good news! ST has finally released the source code for the STM32H7R/S support in OpenOCD, so we merged it with our fork, enabling faster Live Memory and other features on these devices.
We have also published an updated BSP that includes the external memory manager and a few other STM32H7R/S-specific libraries as easy-to-use frameworks.
We have published a tutorial on a bootloader project and another one for the main application. Programming the latter requires installing the STM32CubeProgrammer tool, however now that OpenOCD support is properly merged, you can try creating an OpenOCD plugin for the external memory if you want to avoid external dependencies (we may eventually publish another tutorial on that, but not currently).
-
AuthorPosts