SPRUJ79 November 2024 F29H850TU , F29H859TU-Q1
A program operation modifies individual bits in a Flash word to read as 0 instead of 1. A program operation can only be performed on a previously erased bit. Flash programming must be aligned to 64-bit address boundaries, and each 64-bit word can only be programmed once per write/erase cycle.
The Flash State Machine provides a command to program the available user Flash regions: main Flash, SECCFG, and BANKMGMT. This command is also used to program the Error Correction Code (ECC) check bits. Program operations must be initiated using the F29x Flash API, or a GUI front-end such as the Code Composer Studio Flash plug-in or UniFlash. The API provides the ability to automatically generate and program ECC check bits together with the data being programmed. Programming is a non-blocking operation, so the application can perform other tasks while waiting for programming to complete.
After programming, the user must perform a verify operation on the programmed Flash region using the API function Fapi_doVerify(), or using one of the Flash API GUI front-ends. This function verifies the Flash contents against the supplied data.
On this device, any of the primary application CPUs (CPU1, CPU3) or the HSM CPU can program any of the Flash banks on the device after grabbing the Flash semaphore. Secondary CPUs such as CPU2 do not have access to Flash memory. For security, programming access can be restricted to authorized code only by configuring the Flash update owner LINK and CPU in the SSU. Additionally, specific sectors can be completely blocked from program and erase using write/erase protection bits (WEPROT). For more information on these protection mechanisms, see Section 10.9.1.