I have two global variables.
int a = 123;
int F_a = 789;
my ld script is :
e.g.
.asec
{
.data.a
} > myram; // no load address, only reserve spaces in ram.
.Fsec
{
.data.F_a
} > myflash; // only load data 789 to FLASH
after boot then main then...init: copy F_a data in flash to .data.a 's ram address. now a value is 789.
then calibrate a to 790 for example through can or sci or something else, and then PROGRAM 790 to F_a in the flash for next power up and init a with 790.
but CAN NOT ERASE & PROGRAM Success! WHY?