Description:
I developed my own project that includes both a timer and UART.
The UART is configured to trigger an interrupt service routine (ISR).
The timer is configured without interrupts and runs in polling mode.
When I program the device through JTAG for the first time, everything works normally — both the timer and UART ISR function as expected.
However, after power cycling and booting from Flash (Flash boot mode), I encounter the following issue:
The timer works normally at first.
Once the UART interrupt occurs and the ISR is entered, the program crashes immediately.
After the crash, even the timer stops running (as if the CPU halted).
It seems like the interrupt vector or memory mapping might not be properly initialized after Flash boot.
Question:
Could anyone advise how to properly troubleshoot or fix this issue on F29 MCUs?
Is there something specific that needs to be done to ensure the interrupt vector table and PIE initialization work correctly after Flash boot?
Environment:
MCU: TI F29H850TU9TZEX
SDK / Environment: f29h85x-sdk_1_01_00_00 / f29x_motorcontrol_sdk_1_00_00_00
Boot mode: Flash boot
Peripherals used: UART + Timer
Observation: Works fine under JTAG load, crashes only after Flash boot
Additional Details / Things Checked:
Interrupt Vector Table Relocation:
Verified that Interrupt_initVectorTable() is called early in the startup sequence.
Need to confirm whether the .PieVectTable section is correctly copied from Flash to RAM during boot.
PIE / Peripheral Interrupt Enable:
PIE and CPU interrupt enables (EINT, ERTM) are configured correctly.
Wondering if PIE initialization might be skipped or corrupted after Flash boot.
Boot Configuration:
Boot mode set to Flash Boot (Wait Boot mode confirmed).
JTAG load works fine, so the project image itself should be valid.
Memory Placement:
ISRs and vector table are located in RAM.
May require explicit copy from Flash to RAM in the startup routine (e.g. via memcpy()).
Request for Help:
If anyone has experience with UART interrupts failing after Flash boot on F29 devices, could you please share any known fixes or checklist items (e.g., vector table copy sequence, bootloader limitations, or linker placement issues)?