The layout of each Arm Cortex-M0+ peripheral’s registers is defined by the class named
after the peripheral (e.g. the layout of the SYSTICK peripheral’s registers is defined by
the ::picolibrary::Arm::Cortex::M0PLUS::Peripheral::SYSTICK class).
Peripheral registers are accessed via the member variables named after the registers (e.g.
the SYSTICK peripheral’s CSR register is accessed via the
::picolibrary::Arm::Cortex::M0PLUS::Peripheral::SYSTICK::csr member variable).
Peripheral register information is defined in member classes named after the registers
(e.g. SYSTICK peripheral CSR register information is defined in the
::picolibrary::Arm::Cortex::M0PLUS::Peripheral::SYSTICK::CSR member class).
Peripheral register field constants are defined in the following member structures:
Size: field sizes (e.g. the size of the ENABLE field of the SYSTICK peripheral’s CSR
register is defined by the
::picolibrary::Arm::Cortex::M0PLUS::Peripheral::SYSTICK::CSR::Size::ENABLE constant)Bit: field bit positions (e.g. the position of the ENABLE field of the SYSTICK
peripheral’s CSR register is defined by the
::picolibrary::Arm::Cortex::M0PLUS::Peripheral::SYSTICK::CSR::Bit::ENABLE constant)Mask: field bit masks (e.g. the mask for the ENABLE field of the SYSTICK peripheral’s
CSR register is defined by the
::picolibrary::Arm::Cortex::M0PLUS::Peripheral::SYSTICK::CSR::Mask::ENABLE constant)The ::picolibrary::Arm::Cortex::M0PLUS::Peripheral::MPU class defines the layout of the
Arm Cortex-M0+ MPU peripheral and information about its registers.
The ::picolibrary::Arm::Cortex::M0PLUS::Peripheral::MPU class is defined in the
include/picolibrary/arm/cortex/m0plus/peripheral/mpu.h/source/picolibrary/arm/cortex/m0plus/peripheral/mpu.cc
header/source file pair.
The ::picolibrary::Arm::Cortex::M0PLUS::Peripheral::MTB class defines the layout of the
Arm Cortex-M0+ MTB peripheral and information about its registers.
The ::picolibrary::Arm::Cortex::M0PLUS::Peripheral::MTB class is defined in the
include/picolibrary/arm/cortex/m0plus/peripheral/mtb.h/source/picolibrary/arm/cortex/m0plus/peripheral/mtb.cc
header/source file pair.
The ::picolibrary::Arm::Cortex::M0PLUS::Peripheral::NVIC class defines the layout of the
Arm Cortex-M0+ NVIC peripheral.
The ::picolibrary::Arm::Cortex::M0PLUS::Peripheral::NVIC class is defined in the
include/picolibrary/arm/cortex/m0plus/peripheral/nvic.h/source/picolibrary/arm/cortex/m0plus/peripheral/nvic.cc
header/source file pair.
The ::picolibrary::Arm::Cortex::M0PLUS::Peripheral::SCB class defines the layout of the
Arm Cortex-M0+ SCB peripheral and information about its registers.
The ::picolibrary::Arm::Cortex::M0PLUS::Peripheral::SCB class is defined in the
include/picolibrary/arm/cortex/m0plus/peripheral/scb.h/source/picolibrary/arm/cortex/m0plus/peripheral/scb.cc
header/source file pair.
The ::picolibrary::Arm::Cortex::M0PLUS::Peripheral::SYSTICK class defines the layout of
the Arm Cortex-M0+ SYSTICK peripheral and information about its registers.
The ::picolibrary::Arm::Cortex::M0PLUS::Peripheral::SYSTICK class is defined in the
include/picolibrary/arm/cortex/m0plus/peripheral/systick.h/source/picolibrary/arm/cortex/m0plus/peripheral/systick.cc
header/source file pair.
Arm Cortex-M0+ peripheral instances are defined in the
include/picolibrary/arm/cortex/m0plus/peripheral.h/source/picolibrary/arm/cortex/m0plus/peripheral.cc
header/source file pair.
Peripheral instance names are based on the names used in the “Cortex-M0+ Peripherals”
chapter of the “Cortex-M0+ Devices Generic User Guide” with the following change: a 0 is
added to the end of the name of peripherals that only have a single instance to
differentiate the peripheral name and the instance name.
The following peripheral instances are defined (listed alphabetically):
::picolibrary::Arm::Cortex::M0PLUS::Peripheral::MPU0 (only available if
PICOLIBRARY_ARM_CORTEX_M0PLUS_IMPLEMENTATION_HAS_MPU is true)::picolibrary::Arm::Cortex::M0PLUS::Peripheral::NVIC0::picolibrary::Arm::Cortex::M0PLUS::Peripheral::SCB0::picolibrary::Arm::Cortex::M0PLUS::Peripheral::SYSTICK0 (only available if
PICOLIBRARY_ARM_CORTEX_M0PLUS_IMPLEMENTATION_HAS_SYSTICK is true)