[应用相关] 后面不加@指定地址有没有问题

[复制链接]
873|15
 楼主| feiqi1 发表于 2022-9-18 17:08 | 显示全部楼层 |阅读模式
o_init unsigned char a;
这样定义对不对,后面不加@指定地址有没有问题。
litengg 发表于 2022-9-18 17:24 | 显示全部楼层
用no_init与__no_init有没有区别。
qiangweii 发表于 2022-9-18 17:37 | 显示全部楼层
反正在IAR下编译好象都能编译通过。
CallReceiver 发表于 2022-9-18 17:47 | 显示全部楼层
用no_init主要是为了防止看门狗导致系统复位后数据重初始化。
boy1990 发表于 2022-9-18 17:48 | 显示全部楼层
if((Flag1 != 0x5A) && (Flag2 != 0x5A))
{
     // 在此进行几个no_init变量初始化
     Flag1 = 0x5A;
     Flag2 = 0x5A;
}
这样防止看门狗复位时几个变量重新初始化。
boy1990 发表于 2022-9-18 17:51 | 显示全部楼层
采用这种方式处理时,有时候在系统掉电重新上电后发现某个no_int 定义数据会出现一个非正常值,如本来我应该初始化为0,但上电后发现这个值不为0,有没有可能这个变量根本就没有初始化,显示还是一个随机值呢。
sourceInsight 发表于 2022-9-18 17:53 | 显示全部楼层
一般是一些特殊数据!这些数据在系统复位(如看门狗复位或其他原因造成的复位)时的数值是不能改变的!
handleMessage 发表于 2022-9-18 17:58 | 显示全部楼层
请问你知道具体怎样修改xcl文件吗?
zhouhuanの 发表于 2022-9-18 17:59 | 显示全部楼层
最好复制一份,考到你程序的文件夹中,然后把这个文件配置到你的项目中
bbapple 发表于 2022-9-18 18:04 | 显示全部楼层
会不会存在跟RAM内定义的其它变量地址重复的情况。
wanglaojii 发表于 2022-9-18 18:12 | 显示全部楼层
_no_init 是一个SEGMENT,是给LINKER用的,定义到不初始化的块中去,编译器只给你分配空间,不给你初始化。
laozhongyi 发表于 2022-9-18 18:16 | 显示全部楼层
那也就是说_no_ini不能初始化了。
Edisons 发表于 2022-9-18 18:18 | 显示全部楼层
灭这样用过的,也不知道的
_gege 发表于 2022-9-18 18:22 | 显示全部楼层
RAM内定义的其它变量地址重复?
Mozarts 发表于 2022-9-18 18:23 | 显示全部楼层
__no_init是IAR扩展语法里面的一个扩展关键字。
Listate 发表于 2022-9-18 18:26 | 显示全部楼层
后面不加@指定地址没有问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

424

主题

1616

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部