In “EmbSysRegView 0.2.6 for Eclipse Neon and Oxygen” I have described how to add CMSIS-SVD register detail files to Eclipse using the EmbSysRegView plugin.
But what I need to add vendor or any other SVD files to it? Here is how:
CMSIS-SVD Files
With the installation method described in , all the data comes in a large .jar file inside the plugins folder:
A .jar file is nothing else than a .zip archive file, so I can open the file as any other .zip file:
So the approach is to add extra SVD files (extension .xml) to that structure and .jar file.
Kinetis Design Studio 3.2.0
KDS 3.x uses the unchanged/stock EmbSysRegView plugin, this makes it very easy. The data files are located in
<KDS installation folder>\eclipse\plugins\org.eclipse.cdt.embsysregview.data_0.2.4.freescale\data
Copy the files into the data folder of the plugin, .e.g.
<eclipse>\plugins\org.eclipse.cdt.embsysregview.data_0.2.6.r191\data
You can use any custom folder, e.g. I have used ‘KDS’ as folder below:
Now I have the files/devices available under that folder in the EmbSysReg selection:
That way I have all the extra NXP KDS register files available:
NXP S32 Design Studio
If using S32 Design Studio, this Eclipse distribution uses a custom and modified version of EmbSysRegView plugin. So the SVD files are hidden and part of devices support/service packs. You can find them after installation if searching for *.svd in the installation directory:
Copy the files into the data .jar file. Change the extension from .svd to .xml.
Other SVD files are inside device specific .jar files, inside the eclipse\plugins folder:
The files are named in the following format:
com.freescale.s32ds.cross.gnu.<device> com.nxp.s32ds.cross.gnu.arm.<device>
With this I get a set of S32 Design Studio SVD files I can add to my collection:
Inside the EmbSysRegister view, I can now open them under the S32 group:
Summary
Knowing the EmbSysRegView data structure and data file makes it possible to extend it with extra CMSIS-SVD files. A good place is to grab them from existing IDE installations: that way I can build up my set of SVD files for easier debugging.
Happy SVD-Jaring 🙂
Links
- EmbSysRegView 0.2.6 for Eclipse Neon and Oxygen
- http://embsysregview.sourceforge.net/
- https://sourceforge.net/projects/embsysregview/
- How to Add Register Details View in Eclipse
- SVD file description: https://www.keil.com/pack/doc/CMSIS/SVD/html/svd_Format_pg.html
Pingback: EmbSysRegView 0.2.6 for NXP Kinetis Design Studio V3.2.0 | MCU on Eclipse
The year is 2018. Has NXP finally found a way to make using embsysregview easier in MCUXpresso (other than downloading and installing a complete copy of KDS) ???
LikeLike
The MCUXpresso IDE comes with its own register/peripheral viewer, so the EmbSysRegView is not that much needed as in KDS.
If you want the EmbSysRegView in MCUXpresso IDE, then the simplest way is indeed to take the XML from KDS, unless you are ok with the ones which are available on the EmbSysRegView page.
LikeLike
Thanks Erich. I had tried the MCUXpresso IDE register view about six months ago and found it very buggy (and many others had found similar issues, based on posts to the NXP forum). I tried it again yesterday, and found it mostly seemed to work. It still lacks a lot of the additional information that embsysregview shows (eg register names in plain english., reset values, ability to set individual bits etc).
One frustrating oddity – at least on the KL28 bare metal board I’m using, it shows registry value in little-endian format instead of big-endian. Very confusing…
LikeLike
Yes, there has been many improvements in this area for the 10.1.x release. Is that little-endian thing for KL28 with the EmbSysRegView?
LikeLike
>> Is that little-endian thing for KL28 with the EmbSysRegView?
Nope, it is with the integrated IDE “Peripheral+” view. EmbSysRegView shows the values correctly (i.e. big-endian).
LikeLike
What debug probe did you use? Segger, P&E or CMSIS-DAP?
LikeLike
This was using Segger J-Link. I have screenshots comparing EmbSysRegView and Peripheral+ but don’t know how I can attach them to these comments.
LikeLike
You could send it to the email address listed on https://mcuoneclipse.com/about/ and I see if I can reproduce this.
LikeLike
Hi,
Do I have to create a jar file again, after adding the MCU specific SVD file? Eclipse oxygen works only with the JAR file, not the unzipped version of the data folder.
Thanks
Radhika
LikeLike
I’ve created an SVD file for a specific Maxim MCU, which works well in EmbSysRegView. I have a few boards based on the same underlying Maxim MCU. EmbSysRegView’s ‘Board:’ selector looks interesting. Anyone know how to use it?
LikeLike
I don’t think I have seen any SVD files which include such a board definition. Or at least I don’t remember seeing any boards listed.
LikeLike
Pingback: OpenOCD with MCU-Link | MCU on Eclipse
Pingback: Visual Studio Code for C/C++ with ARM Cortex-M: Part 4 | MCU on Eclipse