Loading...
 
Skip to main content

System Workbench for STM32


I/O Registers

When I try and vew the I/O Registers when in the Debug perspective, I get "No CMSIS-SVD schema for this target". Should this be usable? Where can I set this? It's using a stm32f107 part.

thanks,
Paul

France

Hi,

This file should be located in your System Workbench installation in C:\Ac6\SystemWorkbench\plugins\fr.ac6.mcu.ide_1.2.0.201506031829\resources\cmsis\STMicroelectronics_CMSIS_SVD

If it is not there that means probably that, either there was a problem when you installed System Workbench, or that you are not using an up-to-date version.

Did you update your IDE (Help >> Check for Updates...) ? If you generated your project using a recent CubeMX version (needed for having System Workbench project generation) you may have generated a project that your (possibly outdated) version of System Workbench does not yet support...

Bernard


OK, I see that the actual file is there, but the I/O register view is still showin the No SMSIS-SVD error. The SW is up-to-date, I've attached a screenshot.

BTW, can I attach multiple files to one post? I don't see how to do this.

thanks,
Paul




I encountered the same problem when working on a "bare metal" STM32F072 project.

Getting the registers to show up turned out to be nothing more difficult than clicking the refresh button in the I/O register window. This button is located in the upper right corner, with an icon consisting of two yellow circular arrows.


Yes, I tried that, no luck.

thanks,
Paul


I had the same problem, and more.

The initial problem I had as when opening the 'Debug Configurations' and selecting my project's debug config I would get a pop-up that said I didn't have a board selected.
However, apart fro the STM32 family all the other dropdows for 'mcu' and 'board' were blank.

The fix for me was to:
1. update to the latest plugins:
OpenSTM32 IDE 1.12.0.201612060912 fr.ac6.feature.mcu.ide.feature.group Ac6
OpenSTM32 Linker Script editor 1.11.0.201611241417 fr.ac6.feature.mcu.ldscript.feature.group Ac6
OpenSTM32 Remote debugging support 1.11.2.201612060912 fr.ac6.feature.mcu.debug.feature.group Ac6

2. Open the Debug configuration for my project (the drop downs are now populated)

3. Press the refresh button in the top right of the I/O register. Which works now, but prior to step #1 it didn't


Hello,

I had the same problem too, like some others bevor in this forum.
Since this week i use a new PC with brand new Installations (SW4STM32 too, newest version). At the beginning, all works well and I/O-Registers was shown.
But today I/O-registers in Debug Mode shows the same error message: "No CMSIS-SVD schema for this target"

A click on the refresh button resolves the issue ... for this moment!
With my other PC all begann the same way. But next time refresh butten does not bring the solution. Since this time I/O register was never shown.

Now i fear, in the next sessions this will be the same problem.

Dont tell that the refresh button solves the issue!
Dont tell that a older version is the problem!
Dont tell that the installation path ist not correkt or the file dosnt exist!

In my case none of this was true, but no solution was offered in the forum until today. There must be a other reason!

Leo


Hello Leyonardo,

I agree with you, and I had the same issue as yours and answers are not solving them for me neither.

It seems I could get around that problem by applying the following procedure:

- At the root of your project directory on your hard drive, you should have a file named “ Debug.cfg”. Try to find it in subdirs if it is not located at the root. Also make sure that you ran the debugger once at least so that it is properly created.
- Do a backup of this file first
- Then open this file and look for the following line (depends on your target):
set CHIPNAME STM32F429ZITx
And replace it with this file name (remove the capital letters between the number and the ‘x’):
set CHIPNAME STM32F429x

The replacement text should be only one or two “x” after the number (e.g. 429 here). It must match the file names located in this directory (or close to that, check exact directory on your computer):
C:\Ac6\SystemWorkbench\plugins\fr.ac6.mcu.ide_2.0.0.201705091103\resources\cmsis\STMicroelectronics_CMSIS_SVD

The reason why we can do this is because the debugger does normally not need to know about the pin numbers (first letter), nor about the flash size (second letter) of the MCU.
Another way to do it would be to copy-paste the STM32F429x.svd to the STM32F429ZITx.svd file in the same directory as mentioned above.
Once the registers have been found, it seems to keep a cache of it in the program.

I don’t know if this is related only to the J-Link debugger mode (using the “GDB SEGGER J-Link” debug configuration) or also for the ST-Link configuration (using “Ac6 STM32” Debug Configuration), as the registers remain present if they have successfully been read once by the application.

At least it seems to properly solve the issue and for both configurations.

Please some people test this and report the result so Ac6 can include the appropriate fixes in the next release. Make sure the registers you are looking for do really show the proper values.

Hope this helps.
Dulan

Hi Dulan,
Thanks for your pointers. I attempted your proposal to copy and rename the .svd file.
It was not successful. I tried both making copies in their native location and also in my project directory; I tried matching the CHIPNAME and creating its prefixes, but no luck.
BTW, I'm working on an STM32F401CCU, using GDB remote debugging.
In the end this worked:
I briefly launched the the native "AC6 STM32 Debugging" configuration.
It failed because my debugger is remote, but it populated the IO registers immediately.
Then I went back to my GDB remote debugging.

Frustrating...


Is there a fix for remote debugging yet? I am running OpenOCD on a remote connected Raspberry pi using the OpenOCD eclipse plugin. There is no option to specify the target configuration and as the openOCD install is on a separate machine, the CHIPNAME info is not populated to the local GDB client.

Hi kulivontot,
It's been a while... After much messing around, the eventual "fix" was restart everything: RPi and, Eclipse. Then the IO registers would show up for a short while as I debugged. My next attempt required another restart.

I tried adding the following keys to the remote debugging .launch file but it doesn't seem to make a difference



I have no idea what determines the lookup for the .svd file, I would expect the openocd .cfg file to operate the same as running locally.



 
Collapse/expand modules below