TRAVEO™ T2G MCU: Code Flash Bus error during SFLASH programming
TRAVEO™ T2G MCU has a Supervisory Flash region (SFLASH) and specific system call (WriteRow) for programming to SFLASH.
- Supervisory Flash region (SFLASH)
Supervisory Flash region (SFLASH) is used to store the NORMAL/DEAD access restrictions, public key, application protection setting, TOC2 and user SFLASH rows by user.
TRAVEO™ T2G MCU has two SFLASH regions.
SFLASH region: 0x1700_0000 to 0x1700_7FFF (32KB)
Alternate SFLASH region: 0x1780_0000 to 0x1780_7FFF (32KB)
Note that the alternate SFLASH region is not intended to be programmed by the user. The purpose of this region is to store backup copy of the SFLASH. When system call is interrupted during SFLASH programming (e.g. due to power loss), the contents of the SFLASH can be damaged. A special recovery mechanism is implemented in the boot SROM which will restore SFLASH contents from the backup.
This system call is used to program the NORMAL/DEAD access restrictions, public key, application protection setting, TOC2 and user SFLASH Row in Normal protection state. WriteRow operation handles the sector erase and programming for both SFLASH region and alternate SFLASH region.
Since SFLASH region is located in code flash, access to any code flash banks (in both Single Bank mode and Dual Bank mode) while an SFLASH is being written can result in Bus error. To avoid bus errors during SFLASH programming, user program must be executed on the SRAM or user program other than CM0+ must be stopped.
This KBA applies to the following series of TRAVEO™ T2G MCUs:
- TRAVEO™ T2G CYT2xx series
- TRAVEO™ T2G CYT3xx series
- TRAVEO™ T2G CYT4xx series