If you've written embedded software for ARM Cortex-M devices, then you know that ARM defines the core and the chip manufacturer provides the peripherals. Furthermore, the chip manufacturers provide SVD files that help us access the peripheral registers programmatically. What's been missing is an SVD-like file that describes the core registers.
It turns out that Segger created such a thing and I modified minisvd2nim to accept Segger's mutant SVD-like format. Then I took it one step further.
I created arm_cores to hold the generated output so that it is easy for you to clone arm_cores and add to your build path the core that you need.
Share and enjoy,
!!Dean
Future work is to create some useful subset of CMSIS/Core in native Nim , e.g., to provide access to things like the registers that are accessed via MSR/MRS.
Collaborators and PRs welcome.