13.2.3 SAM L11 Memory Mapping Configuration Summary
The table below summarizes the mapping of the SAM L11 memory regions.
Memory region | Base address | Size |
---|---|---|
Flash (BOOT region) | 0x00000000 | BOOTPROT * 256Bytes |
Secure Flash (BOOT region) | 0x00000000 | BS*256Bytes - BNSC*32Bytes |
Non-Secure Callable Flash (BOOT region) | Contiguous to Secure Flash (BOOT region) | BNSC * 32Bytes |
Non-Secure Flash (BOOT region) (1) | BS * 256Bytes | Flash (BOOT region) remaining size = (BOOTPROT * 256Bytes - BS*256Bytes) |
Flash (APPLICATION region) | BOOTPROT * 256Bytes | Flash size - BOOTPROT * 256Bytes (Flash BOOT region) |
Secure Flash (APPLICATION region) | BOOTPROT * 256Bytes | AS*256Bytes-ANSC*32Bytes |
Non-Secure Callable Flash (APPLICATION region) | Contiguous to Secure Flash (APPLICATION region) | ANSC * 32Bytes |
Non-Secure Flash (APPLICATION region) | (BOOTPROT+AS) * 256Bytes | Flash (APPLICATION region) remaining size = (Flash size - BOOTPROT*256Bytes - AS*256Bytes) |
Secure Data Flash | 0x00400000 | DS * 256Bytes |
Non-Secure Data Flash | Contiguous to Secure Data Flash | 2KB - Secure Data Flash size |
Secure SRAM | 0x20000000 | RS * 128Bytes |
Non-Secure SRAM | Contiguous to Secure SRAM | SRAM size - Secure SRAM size |
Note:
- Secure Flash (BOOT region) size cannot be null if a Non-Secure Flash (BOOT region) size is defined.
These are the default memories configurations from fresh from factory or after a
ChipErase_ALL
command:
Here is a typical configuration for a device with 64KB of Flash, 2KB of Data
Flash and 16KB of SRAM:
- BOOT region:
- Flash (BOOT region) size = 8KB => BOOTPROT = 8192 / 256 = 0x20
- Secure Flash (BOOT region) + Non-Secure Callable Flash (BOOT region) size = 1KB => BS = 1024 / 256 = 0x4
- Non-Secure Callable Flash (BOOT region) size = 32Bytes => BNSC = 32 / 32 = 0x1
- Non-Secure Flash (BOOT region) size = 8KB - 1KB = 7KB
- APPLICATION region:
- Flash (APPLICATION region) size = 64 KB - 8KB = 56KB
- Secure Flash (APPLICATION region) + Non-Secure Callable Flash (APPLICATION region) size = 16KB => AS = 16 * 1024 / 256 = 0x40
- Non-Secure Callable Flash (APPLICATION region) size = 32Bytes => ANSC = 32 / 32 = 0x1
- Non-Secure Flash (APPLICATION region) size = 56KB - 16KB = 40KB
- Data Flash region:
- Secure Data Flash size = 2KB => DS = 2048 / 256 = 0x8
- Non-Secure Data Flash size = 2 KB - 2 KB = 0KB
- SRAM region:
- Secure SRAM size = 4KB => RS = 4096 / 128 = 0x20
- Non-Secure SRAM size = 16KB - 4KB = 12KB