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
https://github.com/posborne/cmsis-svd/tree/master/data 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: https://github.com/JinShil/memory_mapped_io 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