IAR EW for MSP430的断点数量?

[复制链接]
12777|25
 楼主| yirongfu 发表于 2011-9-4 17:21 | 显示全部楼层 |阅读模式
用IAR调试MSP430进行硬件仿真时,设断点一般只设一个,都是在代码左侧双击一下出现红圆点,有时候想再增加一个断点,却无法再增加,需要将原有的断点去掉,也就是说只能有一个断点,项目设置选项如下图,按默认未改动。而且,调试状态下若要选择复位按钮,断点最好先去掉,否则IAR还会提示一个什么内容,不过那不是什么错误,倒无烦。
请问,调试断点能设几个呢?如果能设多个,该如何设置?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
yoyowodeai 发表于 2011-9-4 22:45 | 显示全部楼层
2个断点还不够你调试的吗?
 楼主| yirongfu 发表于 2011-9-5 10:17 | 显示全部楼层
可是现在只能同时设置一个断点的!
请教楼上朋友,两个断点怎么设置?
永远的不知 发表于 2011-9-5 16:51 | 显示全部楼层
这个可能和IAR软件有关,
这个文档给出了3.0版本的可以支持的断点数,
不同的单片机支持的断点数也不一样。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
t.jm 发表于 2011-9-5 17:11 | 显示全部楼层
hardware breakpoints不够用那就使用Virtual Breakpoints。
21ID 发表于 2011-9-6 10:37 | 显示全部楼层
有高手详细说一下嘛?
 楼主| yirongfu 发表于 2011-9-6 12:50 | 显示全部楼层
感谢版主提供的文档,其中有相关的一些信息,基本上能解答我的疑问了。如果不使用虚拟的断点,各系列MSP430支持的断点数量不同,支持的断点类型也不同,有代码(code)断点,还有数据(data)断点,范围(range)断点等等。文档的第22页有个列表,列出了支持的断点数量。而data和range breakpoints各需要消耗2个硬件断点。而我一般设置断点都是在编辑框左侧双击得到的,应该是code断点吧,这个好像只需要占用1个硬件断点?这个有点疑问,还需要研究实验一下。
像我问题中描述的调试环境下,按复位出提示的情况,应该就是文档中提到的“Resetting a program temporarily requires a breakpoint if Project - Options - Debugger - Setup - Run To is enabled”。
另外,大家还可以参考一下IAR帮助里的“MSP430 Embedded Workbench User Guide”(打开的文档是IAR Embedded Workbench® IDE for MSP430 User Guide),对断点类型有详细解释。
永远的不知 发表于 2011-9-6 13:33 | 显示全部楼层
好好学习,天天向上!
sqcumt123 发表于 2011-9-6 16:19 | 显示全部楼层
改用ramdebug方式,一般仿真器ram方式支持多断
tianm 发表于 2011-9-7 01:54 | 显示全部楼层
好好学习,天天向上!
永远的不知 发表于 2011-9-6 13:33

:lol
 楼主| yirongfu 发表于 2011-9-7 10:08 | 显示全部楼层
9# sqcumt123
您说的ram方式我在软件里头没找到啊?是IAR环境下的吗?是不是指虚拟断点?
jiayongli 发表于 2011-9-7 11:05 | 显示全部楼层
一般可以设置4个断点
 楼主| yirongfu 发表于 2011-9-20 12:30 | 显示全部楼层
前些天又试了下IAR,不使用软件断点,设置第2个硬件断点时,Debug Log窗口提示如下:
+ Tue Sep 18 18:04:24 2011: Failed to set hardware breakpoint. All available resources are already in use.
+ Tue Sep 18 18:04:24 2011: Virtual breakpoints can be enabled in Options dialog under Debugger->FET Debugger->Breakpoints  
+ Tue Sep 18 18:04:24 2011: Failed to set breakpoint: Driver error.
只设一个断点,运行到断点暂停时,Debug Log提示:
+ Tue Sep 18 18:13:00 2011: The stack 'Stack' is filled to 100% (80 bytes used out of 80). The warning threshold is set to 90.%
看这提示,难道是堆栈不够导致第2个断点(语句断点)无法设置?这是个问题,需要继续研究研究:dizzy:
另外,之前提到的不撤去断点,调试模式下按复位按钮,提示如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
yqg80 发表于 2011-9-20 17:41 | 显示全部楼层
学习了,断点还有这么多复杂的东东。
lilihua0721 发表于 2011-9-25 10:20 | 显示全部楼层
支持“改用ramdebug方式,一般仿真器ram方式支持多断”
elecintop 发表于 2011-9-25 22:21 | 显示全部楼层
:loveliness:原来如此,受益匪浅
tuzihog 发表于 2011-10-11 16:20 | 显示全部楼层
好贴留名
仔细研读
sqcumt123 发表于 2011-10-12 18:00 | 显示全部楼层
改用ramdebug方式,一般仿真器ram方式支持多断点
tuzihog 发表于 2011-10-14 21:28 | 显示全部楼层
我想知道楼主用的MCU的型号还有IAR的版本号!
我的MCU是449,IAR是6.0的,选择Emulated breakpionts可以设置8个断点
选择virtual breakpionts可以设置好多断点!
 楼主| yirongfu 发表于 2011-10-15 15:39 | 显示全部楼层
我想知道楼主用的MCU的型号还有IAR的版本号!
我的MCU是449,IAR是6.0的,选择Emulated breakpionts可以设置8个断点
选择virtual breakpionts可以设置好多断点!
tuzihog 发表于 2011-10-14 21:28


谢谢回答!
我用的IAR版本是IAR Embedded Workbench Evaluation for MSP430 4.20,未使用虚拟断点,当初有本帖的疑问主要是因为不同的示例程序下,能设置的硬件断点数量不一样。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:生活将我们磨圆,是为了让我们滚得更远。。。 我来到这个世上就没打算活着回去!

99

主题

919

帖子

2

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