The main characteristic of the 32-bit cores in the Cortex-M family are:
- 16 generic-purpose CPU registers
- Thumb 16-bit only instructions for code density optimizations
- Built-in Nested Vector Interrupt Controller (NVIC) with 8 to 16 priority levels
- ARMv6 (M0, M0+) or ARMv7 (M3, M4, M7) architecture
- Optional 8-region memory protection unit (MPU)
The total memory address space is 4 GB. The beginning of the internal RAM is typically mapped at the fixed address of 0x20000000. The mapping of the internal flash, as well as the other peripherals, depends on the silicon manufacturer. However, the highest 512 MB (0xE0000000 to 0xFFFFFFFF) addresses are reserved for the System Control Block (SCB), which groups together ...