Other Parts Discussed in Thread: HALCOGEN
Hello,
We are using the Hercules board rm48l952zwt and halcogen 4.03.00 for building the drivers and app code, and the TI bootloader on bank 0 sector 0 that boots and then jumps to the halcogen based drivers/app code. We discovered an issue with the TI bootloader, that if a power brownout occured in the bootloader it would corrupt the contents of flash. This was not a problem if we used a pure debug version based only on the halcogen built drivers, which locks bank 0 and 1 access and access to bank 7 is only allowed via the eeprom/flash emulation api. However, we need a bootloader because we want to allow for dynamic upgrades of our application on the field of course. In a different thread, a TI engineer said TI would work on a newer version of the bootloader because the one available for our platform is about 6 years old. Since we have to solve the problem for our customers, in the meantime, we created a bootloader from the HalCoGen generated code that does not have the brownout problem because access to flash for erases/writes is blocked by default in what HalCoGen generates. Now we want to only in the circumstance of an upgrade to allow erase/write access using the FAPI library as the TI bootloader allows for (and thereby limiting the risk of brownouts to only during upgrades), which registers in the flash controller do we use to allow for that (i.e., BROT, FBSE, etc.) and can erase/write access be controlled at the sector level (and the rest of the bank can be protected from brownouts by not enabling write/erase access) or is it only at the overall bank level that we either block access to erase/write or allow access? Thank you.