Part Number: TMS320F280049C
Tool/software:
Hi,
I'm working on a custom boot loader for the TMS320F280049C. Here's how my memory map is structured:
- Boot loader: 0x80000 – 0x81FFF
- Application Sector1 (Primary): 0x82000 – 0x8FFFF
- Application Sector2 (Backup): 0x90000 – 0x9DFFF
The boot loader supports dual-bank updates for backup recovery.
Problem Description:
If a power loss occurs while updating Sector1 — specifically after the erase step but before programming completes — :
- After power on boot loader detects the dual sector version numbers,
- Proceeds to jump to Sector2 at 0x90000.
**However**, during the jump to Sector2, a **continuous watch dog reset** occurs. The watchdog is already disabled, and the jump function is properly casting a function pointer to 0x90000.
Interestingly, if a power-off occurs during a Sector2 update, the boot loader can successfully fall back to Sector1 with no reset issue. But something tied to the system state when Sector1 is erased.
Observations :
- Verified that the application code in Sector2 is present and valid using CCS memory view.
- Jump logic checks pass and the call is made.
- After the jump attempt, the ECU resets repeatedly.
My Questions:
- What are the recommended steps to safely jump from the boot loader to a backup application located at 0x90000?
- How can I prevent this reset loop?
Has anyone encountered this?
Any suggestions or examples for proper jump context handling would be greatly appreciated.