In Step 1, boot ROM code configures a set of security elements based on contents of the configuration memory (NONMAIN). This includes:
- Debug Security: Debug access can be allowed unconditionally, disallowed unconditionally or allowed after a successful password verification
- Mass Erase: Mass erase operation can be allowed unconditionally, disallowed unconditionally or allowed after a successful password verification
- Factory Reset: Factory reset operation can be allowed unconditionally, disallowed unconditionally or allowed after a successful password verification
- Write-protection of MAIN flash sectors: MAIN bank contents can be write protected at 1x sector or 8x sector granularity
- Write-protection of configuration memory (NONMAIN): Because boot configuration memory (NONMAIN) holds key security configuration settings, this configuration memory can be write protected to avoid inadvertent or malicious downgrading of security.
- Presence/Absence of Customer Secure Code (CSC): This attribute controls whether a second level of security and trusted flash-based code is provisioned or not.
- Bank Swap Policy: In dual/quad-bank devices, this attribute indicates if the device operates the flash banks in a swap mode or not. If swap mode, then by hardware default, the upper bank (or pair) is enforced read-write access privileges and no execute privilege. The lower bank (or pair) is enforced read-execute access privileges and no write/erase privilege.
- Delay Debug: Security applications can disable debug access during the execution of the CSC. This attribute controls whether debug access is delayed until the end of CSC execution or not.