8 years, 5 months ago.

Does ARM release microprocessor metadata?

Is there a place where I can get the metadata that essentially describes a particular ARM architecture? Obviously there is documentation and cpu header files, but I'm looking for a more raw format (JSON, XML, etc) that gives the mapping for each hardware block/register/peripheral to its address/bitmask. Ideally this would also contain a short description of each block. Does ARM release this kind of data? if not, why?

2 Answers

8 years, 5 months ago.

There's the CMSIS-SVD format, which I think has exactly what you're looking for in an XML format.

Unfortunately, the central device description database is apparently restricted. Depending on the vendor, you may be able to find the SVD files online (NXP posts some of theirs on lpcware.com, for example).

A cursory search shows that there's a GitHub repo that tries to aggregate SVD files into one place.

Accepted Answer

Thanks, this is in fact what I was looking for! Follow up question: Is there an SVD file for the ARM cortex-m architectures? I ask because from a cursory search, the SVD files from vendors don't define much if any architecture level stuff; for example, the core debug registers (DHCSR, DEMCR, DFSR, etc) don't seem to be included. In fact, an SVD file with architecture level information would be more useful to me than vendor peripheral spec.'s.

posted by tomas garcia 17 Nov 2015
8 years, 5 months ago.

ARM only designs the core. You can find it in the source code, but peripherals are designed by the manufacturers (STM, NXP, Freescale, etc). They also release that stuff in their datasheets and in header files. Not in JSON/XML format, since I don't think that has many uses.

Here are header files for Core M0: https://developer.mbed.org/users/mbed_official/code/mbed-src/file/a11c0372f0ba/targets/cmsis/core_cm0.h and LPC1768: https://developer.mbed.org/users/mbed_official/code/mbed-src/file/a11c0372f0ba/targets/cmsis/TARGET_NXP/TARGET_LPC176X/LPC17xx.h (Some other manufacturers also include some of the bitfields, NXP does it sometimes but not always apparantly).

The description is something to find in the reference manual of the MCU (NXP (sometimes) also includes the ARM core registers) and the ARM website.

Thanks for your response Erik. I want this kind of file to use for debugging the arm core. But in general I think this type of information provided in a minimal, standardized format, can be very useful for building development tools. If you look at the development tools that are out there (like openOCD), they all use some level of architecture specification but do that by manually picking and copying information from the reference manual (which is mostly just time consuming but is also error prone). Having a standard format means this info can be automatically parsed, and definition files automatically generated for whatever format you need.

posted by tomas garcia 17 Nov 2015

Hey, I read your post.Here you see the image and details.But if you want to collect then follow the site. https://ie10support.com/

posted by Internet Explorer 10 05 May 2018