打印

IAR EW for MSP430的断点数量?

[复制链接]
11205|25
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
用IAR调试MSP430进行硬件仿真时,设断点一般只设一个,都是在代码左侧双击一下出现红圆点,有时候想再增加一个断点,却无法再增加,需要将原有的断点去掉,也就是说只能有一个断点,项目设置选项如下图,按默认未改动。而且,调试状态下若要选择复位按钮,断点最好先去掉,否则IAR还会提示一个什么内容,不过那不是什么错误,倒无烦。
请问,调试断点能设几个呢?如果能设多个,该如何设置?

相关帖子

沙发
yoyowodeai| | 2011-9-4 22:45 | 只看该作者
2个断点还不够你调试的吗?

使用特权

评论回复
板凳
yirongfu|  楼主 | 2011-9-5 10:17 | 只看该作者
可是现在只能同时设置一个断点的!
请教楼上朋友,两个断点怎么设置?

使用特权

评论回复
地板
永远的不知| | 2011-9-5 16:51 | 只看该作者
这个可能和IAR软件有关,
这个文档给出了3.0版本的可以支持的断点数,
不同的单片机支持的断点数也不一样。
slau138k.pdf (4.11 MB)

使用特权

评论回复
5
t.jm| | 2011-9-5 17:11 | 只看该作者
hardware breakpoints不够用那就使用Virtual Breakpoints。

使用特权

评论回复
6
21ID| | 2011-9-6 10:37 | 只看该作者
有高手详细说一下嘛?

使用特权

评论回复
7
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),对断点类型有详细解释。

使用特权

评论回复
8
永远的不知| | 2011-9-6 13:33 | 只看该作者
好好学习,天天向上!

使用特权

评论回复
9
sqcumt123| | 2011-9-6 16:19 | 只看该作者
改用ramdebug方式,一般仿真器ram方式支持多断

使用特权

评论回复
10
tianm| | 2011-9-7 01:54 | 只看该作者
好好学习,天天向上!
永远的不知 发表于 2011-9-6 13:33

:lol

使用特权

评论回复
11
yirongfu|  楼主 | 2011-9-7 10:08 | 只看该作者
9# sqcumt123
您说的ram方式我在软件里头没找到啊?是IAR环境下的吗?是不是指虚拟断点?

使用特权

评论回复
12
jiayongli| | 2011-9-7 11:05 | 只看该作者
一般可以设置4个断点

使用特权

评论回复
13
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:
另外,之前提到的不撤去断点,调试模式下按复位按钮,提示如下:

使用特权

评论回复
14
yqg80| | 2011-9-20 17:41 | 只看该作者
学习了,断点还有这么多复杂的东东。

使用特权

评论回复
15
lilihua0721| | 2011-9-25 10:20 | 只看该作者
支持“改用ramdebug方式,一般仿真器ram方式支持多断”

使用特权

评论回复
16
elecintop| | 2011-9-25 22:21 | 只看该作者
:loveliness:原来如此,受益匪浅

使用特权

评论回复
17
tuzihog| | 2011-10-11 16:20 | 只看该作者
好贴留名
仔细研读

使用特权

评论回复
18
sqcumt123| | 2011-10-12 18:00 | 只看该作者
改用ramdebug方式,一般仿真器ram方式支持多断点

使用特权

评论回复
19
tuzihog| | 2011-10-14 21:28 | 只看该作者
我想知道楼主用的MCU的型号还有IAR的版本号!
我的MCU是449,IAR是6.0的,选择Emulated breakpionts可以设置8个断点
选择virtual breakpionts可以设置好多断点!

使用特权

评论回复
20
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

主题

911

帖子

2

粉丝