SVD_to_D is a command-line utility that generates D code from ARM Cortex-M SVD files.

SVD files are XML files that describe, in great detail, the memory layout and characteristics of registers in an ARM Cortex-M microcontroller. See for a curated list of SVD files for many ARM Cortex-M microcontrollers from various silicon vendeors.

From the information in an SVD file, code for accessing the microcontroller's memory-mapped-io registers can be automatically generated, and SVD_to_D does exactly that.

For a large microcontroller like the SM32F7, the amount of code generated can be more than 100k lines. See an example of generated D code here:

The code generated by SVD_to_D depends on this memory-mapped-IO library: That library uses D's CTFE and meta-programming features to generate highly optimized code (for both size and speed) at compile-time with additional features such as type safety and compile-time-enforced mutability.



Reply via email to