Part Number: TMS570LS3137
Other Parts Discussed in Thread: HALCOGEN
Details of the setup:
IDE used: Code Composer Studio
Board used: TMS570LS3137 - HDK board
Processor & compiler details:
->Current: ti-cgt-arm_20.2.5.LTS
->Previous: ti-cgt-arm_18.12.4.LTS
->Note: Issue reproducible in both versions
Boot sequence expected:
In the _c_int00() function of the sys_startup.c file, we have the main() function being called.
But right before executing this main(), copyAPI2RAM() function is being executed. This function of ours does nothing but takes a copy of the FlashAPI to the RAM from ROM.
The expected sequence is:
void _c_int00()
{
__TI_auto_init();
_copyAPI2RAM_(); //copy of the FlashAPI to the RAM from ROM.
main();
}
Problem statement:
In the OS which is used in my SW, there were 32 timed tasks (periodic tasks) configured in the SW.
The disassembly of copyAPI2RAM API was as below.
But whenever there were more than 32 timed tasks (periodic tasks) configured, my SW didn't reach main() at all.
There was always a RESET that was happening at the execution of _copyAPI2RAM_();
It is the same function copyAPIRAM() that is being executed.
But couldn't understand why the compiler changes the disassembly instruction for the very same API which had no changes linked to this _c_int00();
Could someone please share your views on this?
Thanks & Regards,
Sharmili Narayanamurthy