Part Number: TMS320F280039
Other Parts Discussed in Thread: C2000WARE
It is a 3 phase inverter application.
Main control loop executed in pwm1 interrupt.
#pragma CODE_SECTION(EPWM_INV_ISR, "ramfuncs"); //for placing ISR to RAM
//#pragma CODE_SECTION(EPWM_INV_ISR, ".TI.ramfunc"); //tried this too, same result
When downloading to RAM (no flash debug), the function takes ~20uS. //F280039_ram_lnk,cmd
Time measurement done by driving a GPIO pin at entry and resetting at exit.
When using flash, still with ISR running from RAM, it takes 25uS, big difference.
from linker CMD.
#else //using COFF
.TI.ramfunc : LOAD = FLASH_BANK1_SEC29,
RUN = RAMGS12,
LOAD_START(_RamfuncsLoadStart),
LOAD_SIZE(_RamfuncsLoadSize),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
RUN_SIZE(_RamfuncsRunSize),
RUN_END(_RamfuncsRunEnd),
ALIGN(8)
#endif
Any help please?
How to ensure, the ISR is running from RAM only?
Regards
Sandeep