We have two custom PCB utilizing the MSP430F5528 with 128K Flash. Both boards use a custom bootloader that reads keys from INFOD upon boot up. IF the keys are valid then the application code (board specific code) is loaded. If the keys indicate FW update then the board waits for update sequence. Otherwise, the boards are initialized as a default boot device and no longer function since application code is not loaded.
Consistently I can cause the INFOD section of Flash to be erased by cycling the power to the board between 5 and 100 times at a rate of about 3-5 power cycles per second. The issue has also been observed during the normal use age of the boards, where they are functioning as designed within a system and after power is cycled (due to necessary reboot or mechanical obstruction) the boards with MSP430F5528 have their INFOD section erased and stay in boot code.
I have enabled the LOCKINFO key on the flash controller and programmed the SVS/SVM to perform POR if Dvcc or VCore is too low but nothing seems to fix the issue.
We are using the DCO configured to ~8MHz and system timers at DCO/2. The only time the boards read the INFOD sections are on startup and if a FW Update is initiated the INFOD is erased and new values are written.
What else could be causing this issue?