7 Product Mapping and Peripheral Access

The following figure shows the default memory mapping of the Arm Cortex-M core.

Figure 7-1. Cortex-M Memory Mapping
Table 7-1. Code Area for Application Core (Core 0 Access Only)
Base AddressEnd AddressMemorySizeComment
0x00000000Boot Memory16 MbytesROM Code
0x01000000Internal Flash16 MbytesCode - Non Cached
0x020000000x0201FFFFReserved
0x02020000CPKCC ROM64 Kbytes
0x020300000x0203FFFFReserved
0x020310000x02031FFFCPKCC RAM
0x020320000x03FFFFFFUndefined (Abort)
0x04000000QSPI MEM32 MbytesCode - Non Cached
0x06000000QSPI MEM AESB32 MbytesCode through AESB - Non Cached
0x080000000x0FFFFFFFUndefined (Abort)
0x10000000Undefined (Abort)16 Mbytes
0x11000000Internal Flash16 MbytesCode - Cached
0x12000000Undefined (Abort)16 Mbytes
0x13000000Undefined (Abort)16 Mbytes
0x14000000QSPI MEM32 MbytesCode - Cached
0x160000000x1FFF9FFFQSPI MEM AESB32 MbytesCode through AESB - Cached
0x1FFFA0000x1FFFBFFFDTCM8 Kbytes
0x1FFFC0000x1FFFFFFFITCM16 Kbytes
Table 7-2. Code Area for Metrology Core (Core 1)
Base AddressEnd AddressMemorySizeComment
0x00000000Boot Memory48 KbytesSRAM1 and SRAM2 for RO Code, RO Data and RW Data
Table 7-3. SRAM Area for Application Core (Core 0)
Base AddressEnd AddressMemory
0x200000000x2007FFFFSRAM0(1)
0x200800000x20087FFFSRAM1
0x200880000x2008BFFFSRAM2
Note:
  1. In a small product configuration, depending on the real size of the embedded SRAM0, the expected responses when accessing SRAM0 area are:
    • accessing 256 Kb/half upper area -> ABORT (SRAM0 size < 512 Kb)
    • accessing 2nd quarter (128 to 256 Kb) -> ABORT (SRAM0 size < 256 Kb
Table 7-4. SRAM Area for Metrology Core (Core 1)
Base AddressEnd AddressMemory
0x200000000x2007FFFFSRAM0
0x000000000x00007FFFSRAM1
0x200880000x2008BFFFSRAM2

SRAM1 shown in the mapping above is seen at the address 0x20080000 (through S-bus) from Core 0 side and at address 0x00000000 (through I/D Bus) from Core 1 side. Instruction fetch from Core 1 to the 0x20080000 SRAM1 address range is possible but leads to reduced performance due to the fact that instructions and read/write data go through the System Bus (S-Bus). Maximum performance for Core 1 (Metrology Core) is obtained by mapping the instruction code to the address 0x00000000 (SRAM1 through I/D-Code) and read/write data from the address 0x20088000 (SRAM2 through S-Bus). For Core 0 (Application Core), maximum performance is achieved when the instruction code is mapped to the Flash address and read/write data are mapped into SRAM0.

Table 7-5. AHB-to-APB Bridges
Base AddressInstance
0x40000000BRIDGE 0
0x44000000BRIDGE 2
0x46000000BRIDGE 3
0x48000000BRIDGE 1
0x4A000000BRIDGE 4
Table 7-6. BRIDGE 0 Peripheral Mapping
Base AddressPeripheralComments
0x40000000FLEXCOM0
0x40004000FLEXCOM1
0x40008000FLEXCOM2
0x4000C000FLEXCOM3
0x40010000FLEXCOM4
0x40014000FLEXCOM5
0x40018000FLEXCOM6
0x4001C000FLEXCOM7
0x40020000QSPI
0x40024000ADC
0x40028000ACC
0x4002C000IPC0
0x40034000MEM2MEM0
0x40038000TC0
0x4003C000TC1
0x40040000TC2
0x40044000MATRIX1
0x40048000PIOA, PIOB, PIOC
0x4004C000Reserved
0x40050000System Controller
0x40054000Reserved
Table 7-7. BRIDGE 1 Peripheral Mapping
Base AddressPeripheralsComments
0x48000000EMAFE
0x48004000MEM2MEM1
0x48008000TC3
0x4800C000PIOD
0x48010000UART
0x48014000IPC1
0x48018000MCSPI
0x4801C000PWM
0x48020000MATRIX3
0x48028000Reserved
Table 7-8. BRIDGE 2 Peripheral Mapping
Base AddressPeripheralsComments
0x44000000AESCore 0 only
0x44004000AESBCore 0 only
0x44008000SHACore 0 only
0x4400C000TRNGCore 0 only
0x44010000ICMCore 0 only
0x44014000Reserved
Table 7-9. BRIDGE 3 Peripheral Mapping
Base AddressPeripheralsComments
0x46000000CPKCCCore 0 only
0x46004000MATRIX0Core 0 only
0x46008000CMCC0Core 0 only
0x4600C000CMCC1Core 0 only
0x46010000Reserved
0x460E0000SEFC0Core 0 only
0x460E0200SEFC1Core 0 only
0x46000000Reserved
0x460E0400Reserved
0x46800000PMC
0x46800200Reserved
0x46800400Reserved
Table 7-10. BRIDGE 4 Peripheral Mapping
Base AddressPeripheralsComments
0x4A000000MATRIX2
0x4A004000Reserved
Table 7-11. System Controller
Base AddressPeripheralsComments
0x40050000Reserved
0x40050200CHIPID
0x40050400SFR
0x40050600SFRBU
0x40050800Reserved
0x40052000SYSC
Table 7-12. External SRAM
Base AddressPeripheralsComments
0x60000000 to

0x9FFFFFFF

Undefined (Abort)
Table 7-13. External Peripherals
Base AddressPeripheralsComments
0xA0000000Undefined
0xA1000000Internal Flash WriteStrongly ordered Alias address for Flash Controller Page Buffer
0xA2000000Undefined
0xA3000000Undefined
0xA4000000Undefined (Abort)

Memories and peripherals accessed by the cores are listed below:

  • Core 0 (Application Core):
    • All internal memories
    • All internal peripherals
  • Core 1 (Metrology/Coprocessor Core):
    • SRAM0/1/2 memories
    • All internal peripherals except where noted as “Core 0 only” in the tables above

If Core 1 is not used (clock stopped and reset active), all the peripherals, SRAM1 and SRAM2 of the Subsystem 1 can be used by the Application Core (Core 0) as long as the peripheral bus clock and reset are configured.

For detailed memory access versus Matrix hosts/clients, refer to the section Bus Matrix (MATRIX).