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

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

3天内不再提示

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

strongerHuang 来源:strongerHuang 作者:strongerHuang 2020-11-03 16:10 次阅读

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

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

strongerHuang

1

调试和跟踪功能

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

1.调试功能

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

单步调试源码和汇编代码

在处理器运行时设置断点

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

编程内部和外部FLASH存储器

2.跟踪功能

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

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

一张图了解整体内容:

strongerHuang

2

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(测试复位)可选

strongerHuang

3

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跟踪信息

4

拓展:下载调试器

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

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

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

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

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

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

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

当然,ST-Link还有一个神操作:变成J-link,请参看我的文章《ST-Link如何秒变J-link,手把手教你实现该功能》。

责任编辑:xj

原文标题:Cortex-M强大的调试和跟踪CoreSight技术

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

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

    关注

    7

    文章

    527

    浏览量

    33625
  • Cortex
    +关注

    关注

    2

    文章

    194

    浏览量

    45743
  • CoreSight
    +关注

    关注

    0

    文章

    6

    浏览量

    7822

原文标题:Cortex-M强大的调试和跟踪CoreSight技术

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

收藏 人收藏

    评论

    相关推荐

    TMS320F28335学习之中断和定时器的相关内容

    本次总结为中断和定时器的相关内容。除了基本的寄存器配置,初始化,中断主要是掌握三级中断制,定时器主要关注定时器的工作原理和中断时间的设置。
    的头像 发表于 11-08 10:17 823次阅读
    TMS320F28335学习之中断和定时器的<b class='flag-5'>相关内容</b>

    LDO相关内容介绍

    在电压转换电路中,LDO和DC-DC电路是最常用的两种方式,本篇主要介绍LDO相关内容。 LDO是线性电源的一种,它可以实现电源电压的转换,不过主要用在降压领域。它的全称是Low Dropout
    的头像 发表于 11-06 11:09 296次阅读
    LDO<b class='flag-5'>相关内容</b>介绍

    来讲讲与工具密切配合的CoreSight

    通过这些组件的组合和配置,CoreSight可以实现对复杂SoC的debug和trace功能。开发人员可以使用调试工具链来访问和处理CoreSight生成的跟踪数据,以进行故障排除、性
    的头像 发表于 10-30 17:54 887次阅读
    来讲讲与工具密切配合的<b class='flag-5'>CoreSight</b>

    CoreSight DAP相关资料

    本指南的目的是让您更好地了解: ·什么是CoreSight调试访问端口(DAP)及其工作原理。 ·什么是接入端口(AP)及其工作原理。 ·什么是ROM表,以及它是如何实现的。 ·使用ARM
    发表于 08-25 07:54

    Keil工具的ARM CoreSight基础知识

    ARM CoreSight技术是一套工具,可用于调试跟踪在基于ARM的设备上运行的软件。 调试功能用于观察或修改设计部分的状态,而跟踪功能
    发表于 08-25 07:53

    CoreSight™ 访问工具(CSAT)用户指南

    单元访问CoreSight系统,并在需要时提供相关跟踪捕获功能。 除了访问CoreSight组件之外,CSAT还具有足够的命令来控制两个调试
    发表于 08-18 07:38

    CoreSight组件技术参考手册

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

    Arm CoreSight ETM-M33技术参考手册

    指令跟踪。 ETM-M33能够追踪: ·所有指令,包括条件代码通过/失败。 ·采用的直接和间接分支操作的目标地址。 ·例外情况。 ·启用暂停调试模式时进入调试状态或从调试状态返回。 ·
    发表于 08-17 06:24

    CoreSight™访问工具(CSAT)用户指南

    单元访问CoreSight系统,并在需要时提供相关跟踪捕获功能。 除了访问CoreSight组件之外,CSAT还具有足够的命令来控制两个调试
    发表于 08-16 08:13

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

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

    CoreSight技术系统设计指南

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

    如何使用高级配置和电源接口(ACPI)支持CoreSight跟踪组件

    本规范描述了如何使用高级配置和电源接口(ACPI)支持CoreSight[1]跟踪组件。该规范基于ACPI _DSD图形规范[2],该规范提供了对表示作为一组连接设备排列的系统组件的支持
    发表于 08-08 06:16

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

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

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

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

    在 I/O 看未来 | 多设备相关内容三大更新

    作者 / 开发者关系工程师 Sara Hamilton 您是否错过了今年 Google I/O 大会上多设备相关内容的最新动态?别担心,我们将在本文为您介绍作为开发者不容错过的 Android
    的头像 发表于 07-12 17:40 242次阅读
    在 I/O 看未来 | 多设备<b class='flag-5'>相关内容</b>三大更新