- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Cortex‐M3 权威指南 初稿 第15 章
第15章
调试系统架构
调试特性概览
CoreSight 技术概览
调试模式
调试事件
Cortex‐M3 中的断点
调试时访问寄存器
内核的其它调试特性
调试特性概览
一直以来,单片机的调试一直不是很突出的主题,很多简单些的程序在开发中,甚至都
没有调试的概念,而只是把生成的映像直接烧入片子,再根据错误症状来判断问题,然后修
改程序重新烧,周而复始,直到问题解决或放弃为止。能够格算得上调试的活动,至少也是
设置断点、观察寄存器和内存、监视变量等。使用仿真头和JTAG (如AVR),可以方便地实
现这些基本的调试要求。在开发比较大的应用程序时,强劲的调试手段是非常重要的。当
bug 复杂到无法分析时,只能用调试来追踪它。如果没有调试手段,简直就束手无策。
正因为此,在CM3 中,调试机能突然间从丑小鸭变成了白天鹅,得到了登峰造极般的,
令人非常惊艳的强化。CM3 提供了多种多样的调试组件,很多想到的和没想到的调试项目
这里都有,让人惊叹 “原来调试还可以做到这种程度”。为了方便进一步学习,我们把CM3
丰满的调试功能分为两类,每类中都有更具体的调试项目,如下所列:
1. 侵入式调试(这也是基本的调试机能)
a) 停机以及单步执行程序
b) 硬件断点
c) 断点指令(BKPT )
d) 数据观察点,作用于单一地址、一个范围的地址,以及数据的值。
e) 访问寄存器的值(既包括读,也包括写)
f) 调试监视器异常
g) 基于ROM 的调试(闪存地址重载(flash patching) )
2. 非侵入式调试(大多数人更少接触到的,高级的调试机能)
a) 在内核运行的时候访问存储器
b) 指令跟踪,需要通过可选的嵌入式跟踪宏单元(ETM)
c) 数据跟踪
d) 软件跟踪(通过ITM (指令跟踪单元))
e) 性能速写(profiling )(通过数据观察点以及跟踪模块)
可见,我们以前最常用的调试都属于侵入式调试。所谓 “侵入式”,主要是强调这种调
试会打破程序的全速运行。非侵入式调试则是锦上添花的一类,它对于调试大型和多任务环
境下的软件系统尤其有力。
在CM3 处理器的内部,包含了一系列的调试组件。CM3 的调试系统基于ARM 亲手打造
且吐血推荐的“CoreSight (内核景象)”调试架构。该架构是一个专业设计的体系,它允许
205
Cortex‐M3 权威指南 初稿 第15 章
使用标准的方案来访问调试组件,收集跟踪信息,以及检测调试系统的配置。
CoreSight 技术概览
CoreSight 调试架构覆盖了一个很大的面,包括调试接口协议、调试总线协议、对调试
组件的控制、安全特性、跟踪接口等。在《CoreSight Technology System Design Guide(Ref3)》
中,对CoreSight 有详细的讲述,此外,在Cortex‐M3 TRM 中也开出了若干章,专门叙述CM3
中调试组件的设计。但是这些内容通常只是给设计调试软件的人看的,我们软硬件开发者不
要陷得太深。不过,懂一点调试系统的组成结构和基本工作原理,还是很有助于让我们善加
利用这强大无比的调试系统,大幅加速程序的开发的。
处理器的调试接口
CM3 的调试系统已经与ARM7/ARM9 的大相径庭了,基于后来CoreSight 架构,它从头
到脚都是新的。以前的ARM 处理器都提供JTAG
文档评论(0)