Contents RM0493
2/1851 RM0493 Rev 5
Contents
1 Documentation conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
1.1 General information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
1.2 List of abbreviations for registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
1.3 Glossary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
2 Memory and bus architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.1 System architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
2.1.1 CPU C-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.1.2 CPU S-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.1.3 GPDMA1-bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
2.1.4 Bus matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.1.5 AHB/APB bridges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.2 TrustZone
®
security architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
2.2.1 Default TrustZone security state . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.2.2 TrustZone peripheral classification . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
2.3 Memory organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.3.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
2.3.2 Memory map and register boundary addresses . . . . . . . . . . . . . . . . . . 80
2.3.3 Embedded SRAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
2.3.4 Flash memory overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
3 System security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.1 Key security features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
3.2 Secure firmware install
(a)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.3 Secure boot
(a)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
3.3.1 Unique boot entry and BOOT_LOCK . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.3.2 Immutable root of trust in system flash memory . . . . . . . . . . . . . . . . . . 88
3.4 Secure firmware update . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.5 Resource isolation using TrustZone
(a)
. . . . . . . . . . . . . . . . . . . . . . . . . . . 88
3.5.1 TrustZone security architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
3.5.2 Armv8-M security extension of Cortex-M33 . . . . . . . . . . . . . . . . . . . . . . 89
3.5.3 Memory and peripheral allocation using IDAU/SAU . . . . . . . . . . . . . . . 90
3.5.4 Memory and peripheral allocation using GTZC . . . . . . . . . . . . . . . . . . . 92