So, as an experiment, i started look at what a cortex-m crate would look like it if was modelled on the aarch32-cpu crate. But, I have a *weird* problem with qemu-system-arm. My example program runs on a bunch of Arm MPS2 and MPS3 machines (QEMU's emulation of the Arm developer kits with various Cortex-M cores loaded into its FPGA). It works great on most of the machines, but on the MPS3-AN524 (a Cortex-M33), the systick example enters the HardFault handler with a stack pointer of 0xFFFFFFE0. It then faults in the HardFault handler (because that's not a good stack pointer) and QEMU dies. But if I run the same binary with "-s -s" and connect with GDB, the program runs to completion without issue.