Other Parts Discussed in Thread: MSPM0G3507
Tool/software:
I am developing read/write flash protection to be applied for production software. At startup in software, I verify if Nonmain configuration has same pre-configured static structures in my software, if CRC is different (for BCR or BSL structures) than statically calculated one, I trigger re-flashing of non-main then performing a BOOTRST.
My suggested configurations for Read/Write protection is as follows:
- App Debug policy: Disabled
- Mass Erase Policy: Disabled
- Factory Reset Policy: Enabled, (As the only flow back path to factory default for MAIN and NONMAIN memory)
- TI Failure Analysis: Enabled
- Apply write protection for the Nonmain and the Main memory.
1- I want to add a check if SWDP_MODE is disabled(unintentionally) before re-flashing Non-main. Is it possible to reflash Nonmain from user code and change SWDP_MODE from disabled to enabled? Or it is not allowed to write the Nonmain at all if SWDP_MODE was configured as enabled in case that static write protection for Nonmain is disabled (no protection)? (This is not mentioned specifically in User Guide for G series, link, it is mentioned only that any access is not allowed through SWD).
2- Do I need also to disable the bootloader mode (BSLMODE) to apply complete read protection for the device? Do I need in addition to explicitly disable BSL_PIN_INVOKE or will it be ignored already if BSLMODE is disabled?
3- What do you think about such boot configurations for production software?
