This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

msp430g2553指定变量的flash存储区域

使用  #pragma  DATA_SECTION(version,".MY_FUNC_ADDR1") 

然后在配置文件中 进行如下操作:

    FLASH1                   : origin = 0xC000, length = 0x0002

FLASH                   : origin = 0xC002, length = 0x37DE

  .MY_FUNC_ADDR1  : {} > FLASH1

可是在生成的hex文件或者.txt文件中不能显示0xC000处的值,只能从0XC002处的地址开始显示

@c002
0A 12 09 12 09 43 0A 43 4F 43 7F 90 0F 00 16 2C
4E 4F 0E 5E 0D 49 0D 5D 9D 9E B4 02 B4 02 01 2C

  • 你直接DEBUG下用 Memory Watch能看到0xC000的内容吗?

  • 你是不是定义了初始化变量?可能是把初始化变量的值放在了前面flash的区域。你可以看下你的Link文件是不是这样指定的。

    所以我一般不建议客户定义初始化变量,没太大意义。其实初始化变量对于编译器来说也就是把这个值放在flash中,然后上电后自动装载进去。

    所以你不如就在程序里面 初始化。