IAR,循环单步走不动!

[复制链接]
3113|6
 楼主| liliauyu 发表于 2007-12-12 21:01 | 显示全部楼层 |阅读模式
IAR&nbsp;FOR&nbsp;ARM&nbsp;LPC2132<br />进入到for循环以后,单步就走不动了,<br />例如for(i=0;i&lt50;i++)<br />{<br /><br />}<br />他的过程是先执行i=0;然后是括号里面的;然后i++,再i&lt50,然后就停在这一步了!这是为什么啊?<br />
 楼主| liliauyu 发表于 2007-12-12 21:17 | 显示全部楼层

在 simultor 的情况下是可以的!

  
阿南 发表于 2007-12-13 09:32 | 显示全部楼层

查看一下反汇编代码(即混合模式查看),可能是程序没有装载

  
 楼主| liliauyu 发表于 2007-12-13 10:06 | 显示全部楼层

程序没有装载成功?

阿南版主:<br />不好意思我刚学ARM,许多问题都不明白<br />程序没有装载成功会是什么现象呢?<br />即有什么提示吗?<br />可是他在RAM区的时候是可以的。
LittleKen 发表于 2007-12-13 10:17 | 显示全部楼层

察看一下编译器的优化等级设置

如果设置了优化等级,IAR的编译器没有用过,比如用gnu&nbsp;-O3,这段代码是被优化掉了的,因为他没有做什么事情。反汇编是没有代码的。如果-O0,就保留这段代码
wlq_9 发表于 2007-12-13 10:27 | 显示全部楼层

断点占用

单步的时候,不要在别的地方保留断点,不然就会出现单步走不动的情况.还有,<br />linker--&gtformat--&gtdebug&nbsp;information&nbsp;for&nbsp;c-spy下面的选项不要选中,因为运行时间控制模块也要占用一个断点.
 楼主| liliauyu 发表于 2007-12-13 10:56 | 显示全部楼层

谢谢!

谢谢,各位的热情帮助!<br />问题得到解决了。<br />但是对这些问题还是一知半解,以后还要努力!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

17

帖子

0

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