Tool/software: Code Composer Studio
I searched, and saw that it is necessary to use #pragma NOINIT and #pragma LOCATION. I saw several forms, and I'm not able to save that data to the desired address.
Here's the way I'm trying:
#include "driverlib.h" #pragma NOINIT(beta) #pragma LOCATION(beta, 0x8C00) int beta; int main(void) { WDT_A_hold(WDT_A_BASE); beta = 1; return (0); }
This is .txt file:
@4400 81 00 00 24 B1 13 00 00 B1 13 64 00 0C 43 B1 13 4C 00 1C 43 B1 13 5E 00 32 D0 10 00 FD 3F 03 43 @ff80 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF @ffcc 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 00 44 B2 40 00 A5 A0 05 3F 40 80 04 82 4F A6 05 3F 40 C0 08 82 4F A4 05 3F 40 FF FF 82 4F A8 05 3F 40 01 A5 82 4F A0 05 C2 43 A1 05 10 01 CF 0C 3F 50 0C 00 2F 4F 7F F0 7F 00 7F D0 80 00 4F 4F 3F 50 00 5A 3C 50 0C 00 8C 4F 00 00 10 01 3C 40 50 01 B1 13 2C 00 40 18 92 43 00 8C 0C 43 10 01 03 43 FF 3F 03 43 1C 43 10 01 q
I did it differently (#pragma PERSISTENT), and it worked. However, the variable is saved "fixed" at program start. That is, I can not save any variables during the program.
Here's the example:
#include "driverlib.h" #pragma PERSISTENT(beta) #pragma LOCATION(beta, 0x8C00) int beta = 10; int main(void) { WDT_A_hold(WDT_A_BASE); beta = 1; return (0); }
This is .txt file:
@4400 81 00 00 24 B1 13 00 00 B1 13 64 00 0C 43 B1 13 4C 00 1C 43 B1 13 5E 00 32 D0 10 00 FD 3F 03 43 @8c00 0A 00 @ff80 FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF @ffcc 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 18 44 00 44 B2 40 00 A5 A0 05 3F 40 80 04 82 4F A6 05 3F 40 C0 08 82 4F A4 05 3F 40 FF FF 82 4F A8 05 3F 40 01 A5 82 4F A0 05 C2 43 A1 05 10 01 CF 0C 3F 50 0C 00 2F 4F 7F F0 7F 00 7F D0 80 00 4F 4F 3F 50 00 5A 3C 50 0C 00 8C 4F 00 00 10 01 3C 40 50 01 B1 13 2C 00 40 18 92 43 00 8C 0C 43 10 01 03 43 FF 3F 03 43 1C 43 10 01 q
What's wrong, I can not use NOINIT? And, using NOINIT, can the variable be saved during the program?