【下载进去无法运行】MSP430 程序能下载进去却无法运行

   现象: 在程序中定义了较大的全局数组,导致程序能下载进去却无法正常运行。将数组减小又可以恢复正常。

   原因是: 在main函数(关闭看门狗)之前,含有编译器添加的启动程序,程序启动后先初始化数组,结果超过了看门狗默认的间隔时间32ms,导致每次程序都无法正常运行。

 

 解决办法:

方法一 将一些变量(主要是大全局数组)定义成 no init类型
方法二 修改IAR的cstartup.s43程序,具体方法如下:(iar310a为例)
1 将cstartup.s43程序加载到用户自己的项目中,cstartup.s43在iar310a的路径如下$TOOLKIT_DIR$\src\LIB\
2 修改cstartup.s43中的__program_start子程序,加入关闭看门狗的命令 MOV #0x5A80,&0x0120
3 在Project->Options->Linker->Config页中选择Override default programe ,并将Entry lib 设置成 __program_start
 
 
http://bbs.lierda.com/showthread.php?t=11608
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值