For the past dozen years my group has used Hew with the H8 family. I'd like to know if Synergy has something similar to the BTBL[] structure to specify the SRAM sections that are cleared by _INITSCT().
The background to this is, for H8, our flash update algorithm used a boot sector and an application sector. For the erase and burn functions we transferred execution to SRAM. We needed our application state variables in SRAM to be undisturbed through the flash update. We accomplished this by placing all key state variables in a special pinned B section ("BPersistent"), and using two different BTBL[] structures: on coldstarts, in the boot sector, we cleared both "BPersistent" and the default "B" section, but for the application sector we only cleared the default "B" section. This way, after burning new code and jumping to the new application image, the key state variables were still there.
I'm currently testing MMF-based flash updates with the DK-S3A7 evaluation board, based on examples by Richard Warner and Fatih Peksenar. I have two simple applications built to run at the MMF address. One blinks the red LED and is stored at 0x8000 and the other blinks the green LED and is at 0x84000. The simple bootloader jumps to the first image. I extended the examples to use switch SW2 to execute an MMF jump to the 'other' image.
It's working fine and I've done hundreds of jumps back and forth between the images. But we still have to meet the same requirement we had for the H8s, that (at least a portion of) SRAM not be cleared when the new image starts execution.
Suggestions how to accomplish this would be appreciated.