Other Parts Discussed in Thread: C2000WARE, LAUNCHXL-F280049C
Tool/software:
Hi,
I am using F280049C microcontroller in my project.
I been having FPU overflow ISR raised in my project and I would like to trace the memory address of the function that cause the issue for better debugging purpose.
I have hooked the FPU overflow vector ID to a callback function and enabled the interrupt that got triggered.
I did the following trying to trace the address of the function but the hwi handle is optimised and Hwi_getIrp() is returning 0U.
// hook interrupt vect id to isr void HwiISR_init(void) { Hwi_plug(126U, FPU_isr); Hwi_enableInterrupt(126U); } // hook interrupt to callback function __interrupt void FPU_isr(void) { processFloatingPointOptErrors(); } // process error and get address of function causing issue void processFloatingPointOptErrors() { static Hwi_Handle isrHandle; isrHandle = Hwi_getHandle(126U); // the handle is always optimised uint32_t addr = Hwi_getIrp(isrHandle); // return 0U }
What did I missed?
My environment is as below:
Optimisation level: 0 - Register Optimisations
Speed vs. size trade-offs: 0 (szie)
CCS Version: 10.3.1.00003
Compiler version: TI v22.6.0.LTS
C2000Ware version: C2000Ware_4_02_00_00
Hardware: LAUNCHXL-F280049C Evaluation board