关于IAR的_no_init问题

2019-03-24 10:31发布

我定义一个结构体里面有一个100*100的二级数组。类似于
struct DATA
{
     unsigned char Data[100][100];
};
struct DATA   uart_data;
这样编译没有问题,仿真就不行了!
但我定义如下:
_no_init struct DATA   uart_data;
是可以仿真的,为什么呢? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
6条回答
zmsxhy
2019-03-25 10:59
a2656693 发表于 2015-1-28 14:21
430单片机默认上电是看门狗使能的。用户需要在32768个DCO时钟内进行设置或者关闭(这个可以在430的用户手册中找到。),DCO默认时钟视不同430型号而定。
楼主使用了100*100的大数组,单片机上电还在对这些变量初始化时,看门狗就已经复位,所以你的仿真是进不去的,因为看门狗一直在复位。
使用_no_init就是不对变量进行初始化,单片机上电迅速跳转到main中,就能实现仿真。
RAM占用小于单片机的RAM就没关系
豁然开朗啊,原来如些,谢谢你的指点。我刚刚还在纠结呢!我想我空间肯定是够的,原来是这个原因!虽然能用,但总要知道为什么才能用着安心!非常感谢!



一周热门 更多>

相关问题

    相关文章