使用keil设置软复位变量不丢失的数据的区域

1、

使用keil设置软复位变量不丢失的数据的区域_第1张图片

勾选如上区域,修改分散加载文件。

2、编译生成,project.sct   分散加载文件,生成文件如下:

使用keil设置软复位变量不丢失的数据的区域_第2张图片

生成最新的区域。

  RW_IRAM2 0x2000BFF0 UNINIT 0x00000010  {
   .ANY (NOINT_RAM)
这个区域里的+RW +ZI不要添加,避免其他变量也加载进去。

如上命名,任意一个.c里都可以用这个段。

使用keil设置软复位变量不丢失的数据的区域_第3张图片

勾选上述配置,会生成.sct文件。不勾选就不会自动生成,这样就可以手动来修改了。

3、设置变量

unsigned char  test_backup[8] __attribute__((section("NO_INIT"),zero_init));  

    test_backup[0] = test_backup[0] + 1;
可以看到每一次软复位,就可以在上一次的数据基础上加1

下一篇发一下这一方面的理论知识。

 

你可能感兴趣的:(stm32,ARM,代码工具)