Skip to main content
AJean.1
Associate
September 15, 2020
Solved

Is there any equivalent to SVD for memory description of STM32 SOCs? The idea is to generate linker scripts like registers desc with SVD files.

  • September 15, 2020
  • 3 replies
  • 1633 views

..

This topic has been closed for replies.
Best answer by Imen Ezzine

Hi AJean.1,

In fact these files are part of ST deliveries for the flasher support, then these files get integrated within the EWARM workbench IDE, so I believe you can find more about the License limitation via this link: www.st.com/SLA0044

I advise you to download the latest version of EWARM (IAR) IDE in order to have access for the latest supported stm32 products. And you will find the .ddf files under a similar path in your C: directory: Program Files (x86)\IAR Systems\Embedded Workbench 8.4\arm\config\debugger\ST

-Imen

3 replies

Imen Ezzine
ST Employee
September 15, 2020

Hi AJean.1,

To answer your question, no we don't have an equivalent to SVD files for memory description of STM32 SOCs. To explain more, SVD files are a way to translate the contents on the manual reference for different IPs for a given stm32 product. This Includes the different registers and fields etc...

Do you think you can provide an example of the result you wish to obtain, maybe I can guide you more then?

-Imen

AJean.1
AJean.1Author
Associate
September 15, 2020

Hello @Imen Ezzine​ ,

Thank you for your answer. The idea is to generate linker scripts like here automatically for any STM32 device.

Looking projects like this, it seems I might be able to steal data from CubeMX but having some official download link from ST with a fixed syntax might be better.

Alexis.

Imen Ezzine
ST Employee
September 17, 2020

Hi AJean.1,

Sorry for late reply!

Now that your request seems more clear and looking on the example you gave me, I can think may be some files from the IDE EWARM (IAR) can help you. In fact from your example you need the Flash and RAM division predefined for different stm32 products right?

  • My first proposition is the linker files under IAR install (.icf) that contains the rom/ram memories defined by start and end addresses (see below an example)0693W000003Rx8jQAC.png
  • A second more detailed proposition is to use .ddf files with more detailed view of memories (see below)0693W000003RxAkQAK.png

I believe it will be up to you to define a script to extract the infos you need which don't seem like a complicated task!

Let me know if this solve your problem?

Imlen

AJean.1
AJean.1Author
Associate
September 17, 2020

Hi @Imen Ezzine​ ,

.ddf files looks better to me, for two reason, first they seems easier to parse and second if they are form ST and I'm allowed to redistribute them in an open source project that would be awesome.

The only limitation I see here is that I might have to do some guess to find which RAM is CCM RAM, but that should be ok.

Where can I get ddf files?

Regards,

Alexis.

Imen Ezzine
ST Employee
September 18, 2020

Hi AJean.1,

In fact these files are part of ST deliveries for the flasher support, then these files get integrated within the EWARM workbench IDE, so I believe you can find more about the License limitation via this link: www.st.com/SLA0044

I advise you to download the latest version of EWARM (IAR) IDE in order to have access for the latest supported stm32 products. And you will find the .ddf files under a similar path in your C: directory: Program Files (x86)\IAR Systems\Embedded Workbench 8.4\arm\config\debugger\ST

-Imen