Firmware Resource Usage

The firmware uses the Arm Cortex-M33 processor system stack. It expects that the Arm Cortex-M33 processor's stack pointer points to a valid stack that grows downward (i.e., decreasing memory addresses).

Other system memory used by the system are listed in the "Reserved Resources" table.

Table: Reserved Resources
Reservation Addresses Notes
NVR0 to NVR3 0x00080000 to 0x000803FF CryptoCell-312 support records and tables

NVR6

0x00080600 to 0x000806FF

System trim records. Firmware and sample applications use these records if available, selecting defaults per firmware settings if they are not available.

Optional contents include:

  • 0x80600 : 4-byte test signature

  • 0x80604 : 4-byte ICH_TRIM

    • To be stored to ACS_VCC_CTRL_ICH_TRIM in the ACS_VCC_CTRL register.

  • 0x80608 : 4-byte XTAL_TRIM

    • To be stored to RF_REG2E_XTAL_TRIM_XTAL_TRIM in the RF_REG2E register.

  • 0x806F0: 4-byte Unix-style test timestamp

  • 0x806FC : CRC32 calculated over 0x80600 to 0x806FB

NVR7 0x00080700 to 0x000807FF Trim records; accessible using the TRIM_Type structure from rsl15_map.h
MNVR 0x00080800 to 0x000808FF Manufacturing and manufacturing trim records; cannot be modified outside of manufacturing.
FLASH_RSVD 0x00158000 to 0x00158BFF Arm CryptoCell-312 DEU transfer space
FLASH_BOND_RSVD 0x00158C00 to 0x001593FF Recommended location for Bluetooth Low Energy bond information

Other system components (DMA channels, LSAD inputs, etc.) that are used by the firmware are noted in the documentation for the specific component.