libopencm3
A free/libre/open-source firmware library for various ARM Cortex-M3 microcontrollers.
CM3 Core
Here is a list of all modules:
[detail level 1234]
 DebuggingMacros and functions to aid in debugging
 CM3 DefinesDefined Constants and Types for Cortex M3 core features
 Cortex Core Defineslibopencm3 Defined Constants and Types for the Cortex Core
 Cortex Core Atomic support DefinesAtomic operation support
 MPU Defineslibopencm3 Cortex Memory Protection Unit
 MPU Registers
 MPU TYPE register fieldsThe MPU_TYPE register is always available, even if the MPU is not implemented
 MPU CTRL register fieldsDefines for the Control Register
 MPU RNR register fieldsDefines for the Region Number Register
 MPU RBAR register fieldsDefines for the Region Base Address Register
 MPU RASR register fieldsDefines for the Region Attribute and Size Register
 MPU RASR AttributesNot all attributes are available on v6m
 NVIC Defineslibopencm3 Cortex Nested Vectored Interrupt Controller
 Cortex M0/M3/M4 System InterruptsIRQ numbers -3 and -6 to -9 are reserved
 SysTick Defineslibopencm3 Defined Constants and Types for the Cortex SysTick
 Clock source selection