共2条
1/1 1 跳转至页
IAR3,MSP430F1611 IAR3.1中使用MSP430F1611 时出现的问题解决方法

问
状态:
芯片 --- 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
全天在线
共同交流
芯片 --- 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 跳转至页
回复
有奖活动 | |
---|---|
【EEPW电子工程师创研计划】技术变现通道已开启~ | |
发原创文章 【每月瓜分千元赏金 凭实力攒钱买好礼~】 | |
【EEPW在线】E起听工程师的声音! | |
“我踩过的那些坑”主题活动——第001期 | |
高校联络员开始招募啦!有惊喜!! | |
【工程师专属福利】每天30秒,积分轻松拿!EEPW宠粉打卡计划启动! | |
送您一块开发板,2025年“我要开发板活动”又开始了! | |
打赏了!打赏了!打赏了! |
打赏帖 | |
---|---|
分享汽车通信和多媒体总线结构被打赏20分 | |
【我踩过的那些坑】结构堵孔导致的喇叭无声问题被打赏50分 | |
NUCLEO-U083RC学习历程38+串口通过队列的方式输出两个字符串被打赏20分 | |
【我踩过的那些坑】分享一下调试一款AD芯片的遇到的“坑”被打赏50分 | |
电流检测模块MAX4080S被打赏10分 | |
【我踩过的那些坑】calloc和malloc错误使用导致跑飞问题排查被打赏50分 | |
分享电控悬架的结构与工作原理(一)被打赏20分 | |
多组DCTODC电源方案被打赏50分 | |
【我踩过的那些坑】STM32cubeMX软件的使用过程中的“坑”被打赏50分 | |
新手必看!C语言精华知识:表驱动法被打赏50分 |