0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

详解CoreSight技术中的调试和跟踪功能

strongerHuang 来源:strongerHuang 作者:strongerHuang 2022-04-12 20:16 次阅读

如今众多Cortex-M处理器能这么方便调试,在于有一项基于Arm Cortex-M处理器设备的CoreSight技术,该技术引入了强大的新调试(Debug)和跟踪(Trace)功能。

下面就来重点讲讲关于CoreSight中调试和跟踪的相关内容。

调试和跟踪功能

CoreSight两个主要功能就是调试和跟踪功能。

1.调试功能

运行处理器的控制,允许启动和停止程序

单步调试源码和汇编代码

在处理器运行时设置断点

即时读取/写入存储器内容和外设寄存器

编程内部和外部FLASH存储器

2.跟踪功能

串行线查看器(SWV)提供程序计数器(PC)采样,数据跟踪,事件跟踪和仪器跟踪信息

指令(ETM)跟踪直接流式传输到您的PC,从而实现历史序列的调试,软件性能分析和代码覆盖率分析

一张图了解整体内容:

详解CoreSight技术中的调试和跟踪功能

JTAG

JTAG是行业标准的接口,用于下载和调试目标处理器上的程序以及许多其他功能。它提供了连接设备的简便方法,并且在所有基于Arm处理器的设备上都可用。JTAG接口可与基于Cortex-M的设备一起使用,以访问CoreSight调试功能。

1.JTAG历史

JTAG是联合测试工作组(Joint Test Action Group)的简称,是在名为标准测试访问端口和边界扫描结构的IEEE的标准1149.1的常用名称。此标准用于验证设计与测试生产出的印刷电路板功能。

1990年JTAG正式由IEEE的1149.1-1990号文档标准化,在1994年,加入了补充文档对边界扫描描述语言(BSDL)进行了说明。从那时开始,这个标准被全球的电子企业广泛采用,边界扫描几乎成为了JTAG的同义词。

---引用维基百科

2.JTAG接口

JTAG的接口通常是4/5个接脚接口连到芯片上:

TDI(测试数据输入)

TDO(测试数据输出)

TCK(测试时钟)

TMS(测试模式选择)

TRST(测试复位)可选

详解CoreSight技术中的调试和跟踪功能

SWD串行线调试

SWD,Serial Wire Debug(串行线调试)模式是标准JTAG接口的替代方法,它仅使用两个引脚即可提供与JTAG相同的调试功能,而不会降低性能,并通过串行线查看器(SWV)引入了数据跟踪功能。

在JTAG引脚中包含SWD接口引脚,从而允许标准目标连接器中使用。引脚包含:

TCLK-SWCLK(串行时钟)

TMS-SWDIO(串行数据输入/输出)

TDO-SWO(串行线输出-SWV使用)

关于SWV

SWV:Serial Wire Viewer,串行线查看器

基于Cortex-M3、 M4、 M7的设备能够根据所需信息或分析的类型,以多种方式提供高速数据跟踪信息。当系统处理器继续全速运行时,它通过SWO引脚传输。

可从ITM(仪器跟踪宏单元)和DWT(数据观察点和跟踪)单元获得信息,其中包括:

PC(程序计数器)采样

显示CPU周期统计信息的事件计数器

具有定时统计信息的异常和中断执行

跟踪数据-用于时序分析的数据读取和写入

用于简单printf样式调试的ITM跟踪信息

可参看我之前的文章《打印输出教程》。

拓展:下载调试器

之前给大家分享过《下载调试接口 SWD 和 JTAG的区别》,选择下载调试器时也可以对比一下二者差异。

支持JTAG和SWD模式的下载调试器很多,J-Link、 ST-LINK、 ULINK这些大众化的工具都支持,还有很多小众的下载调试器(比如e-Link、 GD-Link等)同样也支持SWD模式。

那么,我们该选择哪一种呢? 哪一种更香呢?

支持全面的一点的算J-Link了,但正版的价格,对于普通个人来说,有压力。

有多种版本,算下来好几千一个。

详解CoreSight技术中的调试和跟踪功能

同样,正版ULINK也和J-Link一样,价格上千。当然,很多人买到的ULINK和J-Link都是盗版。

相比ULINK和J-Link而言,正版的ST-Link价格就很划算,一个正版ST-Link V2才两三百,但缺点就是只能针对STM8/32使用。

原文标题:ARM基础教程 | ARM Cortex-M的调试和跟踪技术

文章出处:【微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ARM
    ARM
    +关注

    关注

    134

    文章

    9063

    浏览量

    367021
  • 调试
    +关注

    关注

    7

    文章

    574

    浏览量

    33906
  • CoreSight
    +关注

    关注

    0

    文章

    6

    浏览量

    7875

原文标题:ARM基础教程 | ARM Cortex-M的调试和跟踪技术

文章出处:【微信号:strongerHuang,微信公众号:strongerHuang】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    ARM推出CoreSight SoC-600,实现下一代调试跟踪

    ARM于3月16日宣布推出CoreSight SoC-600下一代调试跟踪解决方案。该项新技术能通过 USB、PCIe 或无线等功能接口进
    发表于 03-17 09:28 3107次阅读

    ARM调试CoreSight、ETM、PTM、ITM、HTM、ETB等常用术语解析

    `[/url] CoreSightCoreSight CoreSight 是一种基础架构,它可对完整的芯片上系统 (SoC) 设计的性能进行调试、监视和优化,CoreSight跟踪
    发表于 10-13 09:26

    ARM调试CoreSight、ETM、PTM、ITM、HTM、ETB等常用术语解析

    CoreSightCoreSight CoreSight 是一种基础架构,它可对完整的芯片上系统 (SoC) 设计的性能进行调试、监视和优化,CoreSight跟踪宏单元在 So
    发表于 05-11 13:53

    CoreSight是什么?其功能有哪些?

    CoreSightCoreSight CoreSight是一种基础架构,它可对完整的芯片上系统 (SoC) 设计的性能进行调试、监视和优化,CoreSight跟踪宏单元在 SoC
    发表于 07-16 06:20

    ARM®CoreSight™SoC-400技术参考手册

    状态。本书是为以下读者编写的: • • 希望将 CoreSight SoC-400 整合到其设计并从 SoC 生成实时指令和数据跟踪信息的硬件和软件工程师。 软件工程师编写使用 CoreSi
    发表于 08-02 18:49

    CoreSight ETM-R4技术参考手册

    架构规范和CoreSight技术系统设计指南。更多的有关ETM体系结构的信息,请参阅嵌入式跟踪宏单元建筑规范。
    发表于 08-02 09:54

    CoreSight ETM11技术参考手册

    CoreSight ETM11的信息,请参阅第4章独立CoreSsight ETM11块。 •在CoreSight系统,如ETM11CS模块。有关在CoreSight系统中使用
    发表于 08-02 18:39

    CoreSight Trace内存控制器技术参考手册

    跟踪内存控制器(TMC)被设计为CoreSight Embedded的继任者 跟踪缓冲区(CoreSight ETB),使您能够使用以下方式捕获跟踪
    发表于 08-02 14:35

    CoreSight技术系统设计指南

    。 这是内核全速运行时的非侵入性调试,使用: -关于指令执行和数据传输的信息集合--实时在芯片外交付--用于将数据与开发工作站上的源代码合并以供将来分析的工具。 CoreSight技术满足了对多核
    发表于 08-12 06:00

    如何使用CoreSight Access Library 1.0版本进行目标跟踪

    侵入式跟踪和分析使您能够以非侵入性方式收集在目标平台上执行的指令序列-这在尝试调试棘手的实时问题或尝试优化代码时非常有用。 下面的屏幕截图显示了跟踪捕获的结果--您可以看到内核执行的
    发表于 08-12 07:52

    Arm CoreSight ETM-M33技术参考手册

    相关的周期计数。 ETM-M33包含使您能够控制指令跟踪的资源逻辑。 资源逻辑包括单个缩减功能计数器。 您可以指定特定应用程序所需的一组准确的触发器和过滤器条件。 ETM-M33是一个CoreSight组件
    发表于 08-17 06:24

    Arm CoreSight SoC-600技术参考手册

    可以是复杂的多处理器和包括许多异类处理器的多集群设计。 ·支持ARM调试接口(ADI)v6和CoreSight™v3架构,使您能够在系统构建调试
    发表于 08-17 07:45

    CoreSight组件技术参考手册

    CoreSight组件提供以下系统范围跟踪功能: ·整个系统的调试跟踪可见性·SoC子系统之间的交叉触发支持·单一流
    发表于 08-18 07:11

    Keil工具的ARM CoreSight基础知识

    ARM CoreSight技术是一套工具,可用于调试跟踪在基于ARM的设备上运行的软件。 调试功能
    发表于 08-25 07:53

    关于CoreSight调试跟踪的相关内容

    如今众多Cortex-M处理器能这么方便调试,在于有一项基于Arm Cortex-M处理器设备的CoreSight技术,该技术引入了强大的新调试
    的头像 发表于 11-03 16:10 2070次阅读