Mix-Secure Peripherals

There are five Mix-Secure peripherals that allow internal resources to be shared between the Secure and Non-Secure applications:

When a Mix-Secure peripheral is configured as Secure in the PAC, its register map is automatically duplicated in a Secure and Non-Secure alias:
The Secure alias has the following characteristics: The Non-Secure alias has the following characteristics:
Mix-Secure peripherals have always the following registers:
Important: It is recommended that the Non-Secure application first copy the content of NONSEC register inside NSCHK register, and then enable the NSCHK interrupt flags. Once done, any changes to the NONSEC register by the Secure application will trigger an interrupt so that Non-Secure application can take appropriate actions. This mechanism allows the Secure application to dynamically change the security attribution of a Mix-Secure peripheral and avoid illegal accesses from the Non-Secure application. The interrupt handler should always copy the NONSEC register to NSCHK register before exiting it.
Mix-Secure peripherals can have five type of registers:
Table 1. SAM L11 Mix-Secure Peripheral Registers Access
Mix-Secure Peripheral Register Secure Host Access Non-Secure Host Access
Secure Alias Non-Secure Alias Secure Alias Non-Secure Alias
Non-Secure Read / Write

Discarded

(Write ignored / Read 0x0)

No Error is generated

Discarded

(Write ignored / Read 0x0)

PAC Error is generated

Read / Write
Secure

Discarded (Write ignored / Read 0x0)

No Error is generated

Write-Secure

Read-only (Write ignored)

No Error is generated

Mix-Secure

Read/Write if the resource is available for the Non-Secure Application

Discarded if not (Write ignored / Read 0x0) and no error is generated

Write-Mix-Secure

Read /Write if the resource is available for the Non-Secure Application

Read-only if not (Write ignored) and no error is generated