The total amount of available addresses depends on the size of memory pointers. 32-bit machines can reference a contiguous memory space of 4 GB, which is segmented to host all the memory-mapped devices in the system. This may include:
- Internal RAM
- Flash memory
- System control registers
- Components internal to the microcontroller
- External peripheral bus
- Additional external RAM
Every region has a fixed physical address that may depend on the characteristics of the platform. All the locations are hardcoded, and some of them are platform-specific.
In the ARM Cortex-M, the total addressable space is divided into six macro regions. Depending on their purpose, the regions have different permissions, so that there are ...