EPOXY
EPOXY is a LLVM base compiler that applies security protections to bare-metal programs on ARM Cortex-M series micro-controllers. This includes privilege overlaying, wherein operations requiring privileged execution are identified and only these operations execute in privileged mode. It also applies code integrity, control-flow hijacking defenses, stack protections, and fine-grained randomization schemes. All of its protections work within the constraints of bare-metal systems.
Clements, AbrahamAnthony↗