Memory system and memory partitioning
If the Security Extension is implemented the 4GB memory space is partitioned into Secure and Non-secure memory regions.
The Secure memory space is further divided into two types:
Secure (S)
Secure addresses are used for memory and peripherals that are only accessible by Secure software or Secure masters.
Secure transactions are those that originate from masters operating as, or deemed to be, Secure when targeting a Secure address.
Non-secure Callable (NSC)
NSC is a special type of Secure location. This type of memory is the only type which an
ARMv8-M processor permits to hold an SG instruction that enables software to transition
from Non-secure to Secure state. The inclusion of NSC memory locations removes the need
for Secure software creators to allow for the accidental inclusion of SG instructions,
or data sharing encoding values, in normal Secure memory by restricting the
functionality of the SG
instruction to NSC memory only.
Non-secure (NS)
Non-secure addresses are used for memory and peripherals accessible by all software running on the device.
Non-secure transactions are those that originate from masters operating as, or deemed to be, Non-secure or from Secure masters accessing a Non-secure address. Non-secure transactions are only permitted to access NS addresses, and the system must ensure that NS transactions are denied access to Secure addresses.