Hello everybody,
we recently updated our cla-code. Now we need the whole LSRAM for the cla-data and cla-prog memory. This is why I mapped the other code to GSRAM.
Since this remapping, some other code fails. The failing code looks like this:
interrupt void Timer(void){
volatile static bool runTimeChecker = false;
/// ***************************************************************************
/// Check if this cycle is overloaded
if (runTimeChecker){
ESTOP0;
for(;;); //TODO: interrupt got called again before it finished properly -> system is overloaded
}
runTimeChecker = true;
//do some stuff here, details are unimportant for now
/// ***************************************************************************
/// Reset to let the runtimeCheck pass
runTimeChecker = false;
}
Since the remapping of Section ".bss" (global variables) from LSRAM3 to GSRAM0, this interrupt will always stop at ESTOP0.
The only explanation I can think of is that static variables placed in GSRAM are not initialized. (Maybe there is a restriction I don't know of)
What can I do to make the static variable initialize again without going back to LSRAM?
PS:
CCS: Version: 10.1.1.00004
Compiler: TI v20.2.1.LTS
I have a vacation from tomorrow including the next week, so I might reply to or accept your answer a bit delayed.
Thanks and Regards,
Marcel Kummer.