[ZLG-ARM] 请教周公,关于程序编译下载的问题

[复制链接]
2348|1
 楼主| dog0138 发表于 2007-11-8 23:32 | 显示全部楼层 |阅读模式
目前在用smartarm开发板<br />软件用ADS1.2<br />程序中设置一些全局变量<br /><br />如果在MAIN函数中&nbsp;对有些全局变量进行写操作的话&nbsp;程序就跑飞了比如:<br /><br />uint8&nbsp;r;<br />uint8&nbsp;j;<br />main()<br />{<br />……<br />j=0;<br />r=0;<br />……<br />}<br /><br />我在主程序中对j变量进行写操作不会跑飞,但是只要对r变量进行写操作就会跑飞<br /><br />后来在网上查说是在MIAN函数中要对该变量用VOLATILE进行声明<br />更改后的函数变成了这样<br />uint8&nbsp;r;<br />uint8&nbsp;j;<br />main()<br />{<br />……<br />volatile&nbsp;uint8&nbsp;r;<br />r=0;<br />j=0;<br />……<br />}<br />这样改后程序就运行正常了<br /><br />但是新的问题也同样出现了<br />如果我对j在程序中也用volatile&nbsp;进行声明&nbsp;如下所示<br />uint8&nbsp;r;<br />uint8&nbsp;j;<br />main()<br />{<br />……<br />volatile&nbsp;uint8&nbsp;r;<br />volatile&nbsp;uint8&nbsp;j;<br />r=0;<br />j=0;<br />……<br />}<br /><br />程序照样会跑飞<br /><br />请教周公是什么原因。<br /><br />另外&nbsp;&nbsp;我在程序中只对r进行声明的时候(代码如下所示)用JTAG方式跑不会跑飞,但是编译成.bin文件用H-JTAG附带的FLASHER下载或者是编译.hex文件用ISP下载,程序都不能正常执行(编译时候ADS的ARM&nbsp;Linker设置保证不会有错)。<br />uint8&nbsp;r;<br />uint8&nbsp;j<br />main()<br />{<br />……<br />volatile&nbsp;uint8&nbsp;r;<br />r=0;<br />j=0;<br />……<br />}<br />不知道是什么原因&nbsp;希望周公给与解答
armecos 发表于 2007-11-9 00:33 | 显示全部楼层

《ecos增值包》能够解决这个问题

原因不是你说的这些,不必胡乱猜测了,www.armecos.com免费下载提供多个bin文件演示for&nbsp;smartarm均能正确运行,不信可以试试,这说明我们能解决此类问题。<br />还有几百位网友和你有同样的困惑,下面是部分技术支持记录:<br /><br /><b>不能脱机运行问题的记录</b>
您需要登录后才可以回帖 登录 | 注册

本版积分规则

9

主题

14

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部