SPRUJE7A January 2025 – July 2025 F29H850TU , F29H859TU-Q1
Configures Write(program)/Erase protection for the sectors.
Fapi_StatusType Fapi_setupBankSectorEnable(
uint32_t *pu32StartAddress,
uint32_t u32UserFlashConfig,
uint32_t reg_address,
uint32_t value
)
| pu32StartAddress [in] |
Flash memory address being written to |
|
u32UserFlashConfig [in] |
User flash configuration bitfield |
|
reg_address [in] |
Register address for Write/Erase protection
configuration. Protection masks apply to both
banks in an interleaved pair. Use FLASH_NOWRAPPER_O_CMDWEPROTA for the first 32 (0-31) sectors. Use FLASH_NOWRAPPER_O_CMDWEPROTB for the remaining main-array (32-128) sectors. Use FLASH_NOWRAPPER_O_CMDWEPROTNM for BANKMGMT and SECCFG |
|
value [in] |
32-bit mask indicating which sectors to mask from the erase and program operations. |
On this device, all of the flash main and nonmain (BANKMGMT, and SECCFG) sectors are protected from the erase and program operations by default. User applications must disable the protection for the sectors on which they want to perform erase and/or program operations. This function can be used to enable/disable the protection. This function must be called before each erase and program command as shown in the flash API usage example provided in the F29H85x SDK.
First input parameter for this function can be the address of any of these three registers: FLASH_NOWRAPPER_O_CMDWEPROTA, FLASH_NOWRAPPER_O_CMDWEPROTB, FLASH_NOWRAPPER_O_CMDWEPROTNM
CMDWEPROTA register is used to configure the protection for the first 32 sectors (0 to 31) of a bank. Each bit in this register corresponds to one sector of an interleaved bank. Therefore, when programming, users must configure this register twice (once for each bank in the bank pair B0/2 or B1/3). For example: Bit 0 of this register is used to configure the protection for Sector 0 and Bit 31 of this register is used to configure the protection for Sector 31. A 32-bit user-provided sector mask (second parameter passed to this function) indicates which sectors the user wants to mask from the erase and program operations, that is, sectors that are not erased and programmed. If a bit in the mask is 1, that particular sector is not erased/programmed. If a bit in the mask is 0, that particular sector is erased or programmed.
CMDWEPROTB register is used to configure the protection for interleaved sectors 32 – 127 in the main-array flash bank. Each bit in this register is used to configure protection for eight sectors together. This means bit 0 is used to configure the protection for all of the sectors 32 to 39 together, bit 1 is used to configure the protection for all of the sectors 40 to 47 together, and so on. A 32-bit user-provided sector mask (second parameter passed to this function) indicates which sectors the user wants to mask from the erase and program operations, that is, sectors that are not erased and programmed. If a bit in the mask is 1, that particular set of sectors is not erased/programmed. If a bit in the mask is 0, that particular set of sectors is erased/programmed.
CMDWEPROT_NM register is used to configure the protection for the BANKMGMT and SECCFG regions. Only bit 0 in this register is used to configure the protection. If bit 0 is configured as 1, BANKMGMT and SECCFG are not programmed. If bit 0 is configured as 0, the region(s) is programmed. Other bits of this register can be configured as 1s. Both the BANKMGMT and SECCFG regions can both be erased and programmed.
(Refer to the flash programming example provided in the F29H85x SDK at “f29h85x-sdk > examples > driverlib > single_core > flash > flash_mode0_128_program”)