So, we'd like some small part of persistent data in our application. This works like this:
#pragma PERSISTENT(_counterAdmin)
static CounterAdmin_t _counterAdmin = {0};
As a result however, we get a bin file that is about 500MB (yes, megabyte!) in size, with only actually about 90k of code, and the rest filled with zero's. The application runs just fine with the debugger, and if we strip the zero's, I can use the flash tool to flash the device.
Bin file is made like this:
"C:/ti/ccsv6/utils/tiobj2bin/tiobj2bin" "app.out" "app.bin" "C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.5/bin/armofd" "C:/ti/ccsv6/tools/compiler/ti-cgt-arm_5.2.5/bin/armhex" "C:/ti/ccsv6/utils/tiobj2bin/mkhex4bin"
What's the catch here?
Another thing, we tried fixing the structure to a fixed address, but this appears not to work. We tied by editing the command file like this:
.TI.persistent : > 0x20004000
This sets the structure at the correct address, but persistence does not seem to work.