8 Product Memory Mapping Overview
Note: 
- Access attempts to any unimplemented memory location generates a bus error.
 - The PUKCC space is fixed as non-cacheable and bufferable.
 - The QSPI space “cacheable and bufferable” attribute is controlled using CFGCON1.QSCHE_EN.
 
| Register Name | Reset value from NVR memory? | Writable in User Mode? | Corresponding Write Lock Bit(s) | Purpose | |
|---|---|---|---|---|---|
| System Configuration | |||||
| CFGCON0(L) | 0x4400_0000 | X | X | CFGLOCK[1:0] | Misc. System Configuration | 
| CFGCON1(L) | 0x4400_0010 | X | X | CFGLOCK[1:0] | Misc. System Configuration | 
| CFGCON2(L) | 0x4400_0020 | X | X | CFGLOCK[1:0] | Misc. System Configuration | 
| CFGCON3 | 0x4400_0030 | — | X | CFGLOCK[1:0] | Misc. System Configuration | 
| CFGCON4(L) | 0x4400_0040 | X | X | CFGLOCK[1:0] | Misc. System Configuration | 
| CFGPGQOS | 0x4400_0050 | — | X | CFGCON0.PGLOCK | Bus Matrix Permission Groups | 
| CFGPCLKGEN1 | 0x4400_0060 | — | X | CFGLOCK[1:0] | Peripheral Clock Gen Reg-1 | 
| CFGPCLKGEN2 | 0x4400_0070 | — | X | CFGLOCK[1:0] | Peripheral Clock Gen Reg-2 | 
| CFGPCLKGEN3 | 0x4400_0080 | — | X | CFGLOCK[1:0] | Peripheral Clock Gen Reg-3 | 
| ID2 | 0x4400_0090 | X | — | N/A- Read Only | 32-bit Device ID | 
| USER_ID(L) | 0x4400_00A0 | X | X | CFGLOCK[1:0] | 16-bit User ID | 
| SYSKEY | 0x4400_00B0 | — | X | Sequence | System Lock feature | 
| PMD1 | 0x4400_00C0 | — | X | CFGCON0.PMDLOCK | Peripheral Module Disable | 
| PMD2 | 0x4400_00D0 | — | X | CFGCON0.PMDLOCK | Peripheral Module Disable | 
| PMD3 | 0x4400_00E0 | — | X | CFGCON0.PMDLOCK | Peripheral Module Disable | 
| Boot Configuration | |||||
BCFG0  | 0x4400_0200  | X | — | None | Pre-boot user configuration | 
Note: 
- Registers marked with (L) are loadable from Flash, and they can be controlled by software after the boot with the correct unlock sequence.
 - ID Register is a JTAB ID register, maintained for legacy reasons. The actual external-facing ID register is DSU.DID register. See DID register in the Device Service Unit (DSU) from Related Links.
 
| Peripheral | TA Clock | Size (Bytes) | Virtual Address | Physical Address | |||
|---|---|---|---|---|---|---|---|
| ABRV. | Description | Start | End | Start | End | ||
CM4 System Components accessible via CM4 PPB Bus (Only DAP and CM4 can access the registers)  | Base Address 0xE000_0000  | Base Address 0xE000_0000  | |||||
| ITM | Inst. TM | SYS_CLK | 4 KB | 0000_0000 | 0000_0FFF | 0000_0000 | 0000_0FFF | 
| DWT | Data WT | SYS_CLK | 4 KB | 0000_1000 | 0000_1FFF | 0000_1000 | 0000_1FFF | 
| FPB | Flash PB | SYS_CLK | 4 KB | 0000_2000 | 0000_2FFF | 0000_2000 | 0000_2FFF | 
| RSVD | Reserved | — | 4 KB*n | 0000_3000 | 0000_DFFF | 0000_3000 | 0000_DFFF | 
| SCS | Sys. CS | SYS_CLK | 4 KB | 0000_E000 | 0000_EFFF | 0000_E000 | 0000_EFFF | 
| RSVD | Reserved | — | 4 KB*n | 0000_F000 | 0003_FFFF | 0000_F000 | 0003_FFFF | 
| TPIU | Trace PIU | SYS_CLK | 4 KB | 0004_0000 | 0004_0FFF | 0004_0000 | 0004_0FFF | 
| ETM | ETM | SYS_CLK | 4 KB | 0004_1000 | 0004_1FFF | 0004_1000 | 0004_1FFF | 
| ETB | ETB | SYS_CLK | 4 KB | 0004_2000 | 0004_2FFF | 0004_2000 | 0004_2FFF | 
| RSVD | Reserved | — | 4 KB*n | 0004_3000 | 000F_EFFF | 0004_3000 | 000F_EFFF | 
| CROM | CSight ROM | SYS_CLK | 4 KB | 000F_F000 | 000F_FFFF | 000F_F000 | 000F_FFFF | 
| RSVD | Reserved | — | 4 KB*n | 0010_0000 | FFFF_FFFF | 0010_0000 | FFFF_FFFF | 
Note: 
- All system and debug components carry a unique ID accessible via its own register space.
 - The DAP derives the base address of the components from CROM entry values.
 - Component Base address = CROM Base address + CROM Entry value.
 - Core sight ROM entries are not provided in this document.
 - Refer to CM4F documentation for details on each component register space (developer.arm.com/documentation/ddi0439/b/System-Control/Register-summary).
 
