打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
MDK下怎样才能让变量在复位时不被初始化
                       最近一个项目需要保存一下临时数据,而产品容易受干扰而复位。所以需要保存一下数据,那么只有在系统复位时候不再初始化变量即可。对应MDK(keil)来说是一个比较麻烦的问题。通过网络上找了大量资料和测试发现终于可以了。

       如果要实现以上要求,必须设置两点,缺一不可:

1. 在MDK的选项中设置如下:

 

2. 必须在程序代码中如下编写:

#define __noinit__ __attribute__((zero_init))   // 变量不初始化为0
__noinit__  int  tmp;                                              // 变量前加上宏__noinit__ 

当然也可以直接:

__attribute__((zero_init))    int  tmp; 

说明:__noinit__ 不是mdk的关键字

 

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
MDK下设置非零初始化
Keil、IAR实现处理器复位而变量不被初始化的方法
【精品博文】IAR下使用noinit段的方法和指定地址的变量分配
[转] Linux内核的同步机制之 completion
C 中字节对齐杂谈
在STM32上模拟Linux自动初始化过程
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服