SPRUJ79 November 2024 F29H850TU , F29H859TU-Q1
The SSU provides a mechanism to globally block program and erase operations to any Flash bank. To block all program and erase operations on code Flash banks throughout the device, write 1 to the WEPROT_CODE_BANKS.PROT register. To block program and erase operations to data Flash banks, write 1 to the WEPROT_DATA_BANKS.PROT register.
These protections can be hardened for safety or security purposes with the SSU’s LOCK/COMMIT scheme using the following registers: WEPROT_CODE_BANKS_LOCK, WEPROT_CODE_BANKS_COMMIT, WEPROT_DATA_BANKS_LOCK, and WEPROT_DATA_BANKS_COMMIT.
Additionally, individual Flash sectors can be protected from write and erase operations using the WEPROT_FLCx_By_* registers. For each bank, there are three registers. The first, WEPROT_FLCx_By_A, contains individual protection bits for the first 32 sectors in bank y of Flash Controller x. The other two, WEPROT_FLCx_By_B and WEPROT_FLCx_By_C, define protections for the remaining Flash sectors in the bank, in groups of 8 contiguous sectors. These registers also have LOCK and COMMIT mechanisms, similar to WEPROT_CODE_BANKS and WEPROT_DATA_BANKS.
All the Flash protection registers are mapped to the SECCFG sector, so that Flash protections defined in SECCFG are automatically loaded by the boot ROM at device start-up. Using this mechanism, Flash bank or sector protections can be locked and committed before the application starts, and critical Flash contents remain unmodifiable throughout the current power-on cycle.