SPRSP93 November 2024 F29H850TU , F29H859TU-Q1
ADVANCE INFORMATION
The F29H85x and F29P58x devices feature up to 4MB of program Flash memory. Program Flash consists of interleaved pairs of 512KB Flash banks, with up to two interleaved pairs (4 banks total) each assigned to Flash Controller 1 (FLC1) and Flash Controller 2 (FLC2). There is also a single 256KB data bank present in FLC1. The Flash banks are notated according to the Flash Controller and bank number. For example, FLC2.B0/B1 refers to the first interleaved pair of banks (B0 and B1) in FLC2, while FLC1.B4 refers to the single data bank in FLC1.
Each Flash bank is made up of 2KB physical sectors. The nominal size (for example, 512KB) denotes the size of the MAIN region. In addition, each Flash bank includes two special regions:
Flash memory on F29x devices can be addressed through multiple Flash Read Interfaces (FRIs), each with one or more read ports that address up to 1MB of Flash memory. The available FRIs are shown in Table 7-2. The actual Flash memory region that a read port addresses at a given time is dependent on the current system bank mode and swap configurations. For devices with CPU3 present, there are 4 bank modes available (0 to 3). For devices without CPU3 present, there are two bank modes available (0 to 1). CPU2 and CPU4 (if present) are secondary CPUs and cannot execute code directly from Flash.
FLASH READ INTERFACE | DESCRIPTION |
---|---|
FRI-1 | CPU1 program memory |
FRI-2 | CPU3 program memory |
FRI-3 | Firmware update region (FOTA/LFU) |
FRI-4 | Data Flash bank |
The Flash bank mode is configured by the BANKMODE register in the SSU_GEN_REGS register aperture, and is loaded from the BANKMGMT sector of the active code bank pair in FLC1 during device boot. When CPU3, is present, BANKMODE values of 0 and 1 map all program Flash to CPU1, while BANKMODE values of 2 and 3 map half of the available program Flash to CPU1 and the other half to CPU3. The odd numbered BANKMODE values (1 and 3) enable firmware updates with A/B swap, allowing code to execute from one half of Flash while the other half can be programmed with updated code. When the CPU1SWAP or CPU3SWAP bit in the SSU_GEN_REGS.BANKMAP register is set, the hardware swaps the Flash banks such that the newly programmed banks replace the old banks at the same read port addresses. This feature can be used to implement Firmware-Over-The-Air update (FOTA) or Live Firmware Update (LFU) in the target system application.
BANKMODE | Flash Mapping | Swap Enabled | 1-CPU Devices |
---|---|---|---|
0 | All program Flash mapped to CPU1 | No | Available |
1 | Yes | Available | |
2 | Program Flash memory is split between CPU1 and CPU3 | No | N/A |
3 | Yes | N/A |
For more information on Flash operation, see the F29H85x and F29P58x Real-Time Microcontrollers Technical Reference Manual.