Other Parts Discussed in Thread: UNIFLASH
C2000 Team,
A customer is having some boot issue with F280049. I'll do my best to explain here.
They have a secondary bootloader (call it FBL_A) in flash bank 0. FBL_A uses CAN to load a program into flash bank 1. If they use Uniflash to program FBL_A, and then use FBL_A to load an app, it works. They can power cycle, and FBL_A runs and then transfers control to the app after verification of the app.
But, the secondary bootloader can also update itself. It loads a FBL_Updater into bank 1, and run it. Over CAN, the FBL_Updater will overwrite the FBL with a new FBL, call it FBL_B. If they power cycle the device now, FBL_B does NOT run (no CAN communication).
I connected CCS via the emulator, and set the EMU_BOOTPIN_CONFIG KEY value so that we 'Emulate Stand-alone Boot Mode'. If we do a CCS reset at this point and then run, FBL_B runs properly. But again, if we disconnect the emulator and power cycle, FBL_B does not come up properly.
The only difference between FBL_A and FBL_B is a serial number used for ID purposes only. If we use Uniflash to flash FBL_A or FBL_B, both work correctly. It is only when the FBL updates itself that things don't work correctly on a power cycle.
One other piece of information: with CCS connected, we seem to see an NMIWDRSn flag set in the RESC register. When FBL_B is not working, we get a XRSn pulsing at about 8.2 ms rate. I am not sure what is causing this.
I have spent a good amount of time investigating this and am out of ideas. Thoughts on what the problem could be?
Thank you,
David