这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 基础知识 » IAR3,MSP430F1611 IAR3.1中使用MSP430F1611 时出

共2条 1/1 1 跳转至

IAR3,MSP430F1611 IAR3.1中使用MSP430F1611 时出现的问题解决方法

院士
2006-09-17 18:14:16     打赏
IAR3,MSP430F1611 IAR3.1中使用MSP430F1611 时出现的问题解决方法



关键词: MSP430F1611     IAR3.1     使用     出现         

院士
2006-12-22 22:43:00     打赏
2楼
问 状态:
芯片 --- F1611,有10K内存
编译器 --- IAR3.1
问题 :
当在RAM中对其中一变量开辟的尺寸是512字节时,程序总占用3.5K RAM空间,可以正常烧到芯片中,也可以正常运行;
当对同一变量开辟的尺寸是1024字节,而其它均未改变时,程序总占用4.0K左右RAM空间,可以正常烧到芯片中,却无法运行!!!!

请教高手,如何解决以上问题?是IAR 编译器的问题,还是芯片本身的问题,或是程序的问题?


还有,同样是上一程序,当变量尺寸是512字节时,芯片在JTAG控制下可以正常运行。而断开JTAG,则芯片独自运行时,到运行到程序中一个特定的菜单时就出错。难以理解。

望高手不惜指教 1: 这不是IAR的BUG吧?请做一个测试程序贴出来. 2: 这个问题,我同事也遇到了,他用的是149。解决方法是:将数组或其他一次性分配很大RAM空间的变量分开多次定义。我同事的菜单问题就是这样解决的。 3: 是不是对栈溢出了? 4: 方法一 将一些变量定义成 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 5: 这是启动代码的问题,在清除RAM时,wDT复位了 6: 定制用户的cstartup.s43文件,加入用户的专用代码。 7: 用__no_init声明变量,成功解决问题.不愧为高手,一针见血。在此特表感谢 8: 不知怎么搞得我的机子就是下载不了iar 3.1A(30天版),不知哪位好心人能够给我发一份,小弟不胜感激!!!!!
qq:419755298
全天在线
共同交流

共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]