百方网
百方曝光台
当前位置: 首页 » 行业资讯 » 技术专利 » 正文

MSP430 大型数组 上电不启动

http://news.byf.com   2018-04-28  来源:百方网 
新闻纠错

现象:程序烧录板子后,单片机不启动,卡死。注释掉部分字节数组后,才能运行。

分析:

这是IAR编译的方法,导致看门狗溢出了。MSP430单片机一上电看门狗就已经启动,但是在进入main()函数之前,软件会先初始化用到的一些数据,比如数组。如果数定义的比较大,初始化时间比较长,那就有可能导致看门狗溢出了,单片机复位,然后重启,再初始化,再溢出,再复位..程序永远也进不去主函数。

解决方法:

 使用低级初始化函数:int __low_level_init(void)  。该函数会自动把低级初始化函数放在程序的最开始处,在此可以关闭看门狗,等低级初始化函数执行完之后,才会进行数据初始化,最后再进入main()函数。

void main()

{

}

int __low_level_init(void)  
{  
  WDTCTL = WDTPW+WDTHOLD;                   // Stop WDT  
   

   

  return 1;  

也不用调用该函数,编译器自动将其放在最开始处。

当然也可以把所有硬件初始化函数写进来,这样在进入main函数之前,把硬件都准备好了,避免了其他bug产生。

__no_init unsigned char  all_25665[] ={

//4K多字节

};

百方网微信
免责声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议,文章内容仅供参考。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
40.5K电气行业新闻、技术文章投稿QQ:179005781 邮箱:zw@byf.com
本文相关关键词: IAR编译 单片机 程序
行业热点
必维与良信签订战略合作协议,共同推动低压电器行业绿色低碳发展

必维与良信签订战略合作协议,共同推动低压电器行业绿色低碳发展

 近日,必维集团(Bureau Veritas,以下简称"必维...[详细]

富士胶片Jet Press 750S为包装印刷行业构建新质生产力

富士胶片Jet Press 750S为包装印刷行业构建新质生产力

4月11日,2024中国印刷包装高附加值前沿成果主题分...[详细]

关于我们 | 广告服务 | 会员服务 | 隐私申明 | 友情链接 | 联系我们 | 法律顾问 | 网站地图 | 管理制度 (c)2008-2021 BYF All Rights Reserved