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

    文章

    578

    浏览量

    33923
  • Cortex
    +关注

    关注

    2

    文章

    202

    浏览量

    46478
  • CoreSight
    +关注

    关注

    0

    文章

    6

    浏览量

    7891

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

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

收藏 人收藏

    评论

    相关推荐

    BTB扩展接口:LCD、Camera、UART、I2C等|详解篇

    今天我们来学习的是BTB扩展接口的LCD、Camera、UART、I2C详解,特别分享Air201硬件BTB扩展接口相关内容
    的头像 发表于 11-30 09:39 280次阅读
    BTB扩展接口:LCD、Camera、UART、I2C等|详解篇

    求助,关于tlv320aic3254evm-u的pps使用问题求解

    正常以后,打开pps调用example文件夹的任意工程,然后再点download到evm之后,mic和hp的功能就失效了,查找了支持社区的相关内容,有的进士提出cs要和pps配合使用,我想知道应该怎么配合调试,pps的指导手册
    发表于 11-04 07:25

    请问purepath studio如何进行AEC?

    我们想测试AIC3256的AEC效果,用purepath studio进行编程时发现components里没有AEC相关内容。 上图是TI的一份应用报告里给出的components一栏,AEC
    发表于 10-23 07:05

    TAS6424(L)-Q1 Fault脚如何控制拉低?

    请问是否有TAS6424(L)-Q1的相关应用文档,介绍以下相关内容: Fault脚如何控制拉低?当过压多少伏之后产生Fault信号,恢复后没有声音输出,如何控制其恢复正常? 相关的保护诊断的判断/控制/操作逻辑等文档; 谢谢
    发表于 10-11 06:13

    【GD32 MCU 入门教程】二、GD32 MCU 烧录说明 (2)SWD/JTAG在线下载

    GD32系列MCU支持SWD和JTAG(部分型号不支持)接口进行下载调试,这些功能通过ARM CoreSight组件的标准配置和链状连接的TAP控制器来实现的。调试跟踪功能集成在AR
    的头像 发表于 08-08 17:34 664次阅读
    【GD32 MCU 入门教程】二、GD32 MCU 烧录说明 (2)SWD/JTAG在线下载

    求助,关于LM331 F/V转换电路输入电容选择的问题求解

    数据手册F/V转换电路的输入电容都是470pF,请问下这个电容的选择依据或者改变这个值的影响都有什么,在手册没有找到相关内容,请大神帮忙解答一下
    发表于 07-31 06:14

    ESP32-WROOM跑了官方的语音识别的asr例程,但是切换到语音识别就会出错的原因?

    /heap_caps.c\", line 304, function: heap_caps_free 就上面这个错误提示,这是为什么呢,我觉得是寻址问题,但我并没有修改相关内容,只是修改了一下I2S相关引脚。 很疑惑,希望有人可以解答一下。
    发表于 07-19 08:27

    接口测试是测试什么内容

    接口测试是软件测试的一个重要组成部分,主要用于验证系统组件之间的交互是否符合预期。接口测试可以确保各个模块之间的数据传输、控制流和错误处理等方面能够正常工作。本文将详细介绍接口测试的相关内容,包括
    的头像 发表于 05-30 15:11 1239次阅读

    谷歌Chrome浏览器优化“隐藏IP地址”功能,提升安全性

    近日,消息来源@Leopeva64在推特上提到,谷歌已对“隐藏IP地址”功能进行了描述调整,对此进行了相关内容的翻译,具体如下:“若Chrome浏览器认为某网站存在跟踪行为,部分流量将通过隐私服务器传输”。
    的头像 发表于 05-23 15:05 873次阅读

    PCB引脚通孔与测试点间距评估

    在PCB设计,测试点和引脚通孔之间的间隙是一个重要的参数。根据您提供的信息,以下是测试点和引脚通孔之间间隙的相关内容
    发表于 04-30 10:59 942次阅读
    PCB引脚通孔与测试点间距评估

    请问STM32F75X ETH模块在半双工RMII模式下如何判断报文冲突?

    如标题,翻遍了手册没有查到相关内容也没有相关的时序图 只有MII模式下的冲突时序,MII模式下有COL信号告知MAC冲突,但是RMII模式下没有COL信号! MAC通过什么机制断定报文冲突?求 这方面的机制介绍!!! MAC在什么情况下会冲突重发?
    发表于 04-16 07:52

    求助,是否有STM32G0在Type-C E-Marked Cable上的应用例程?

    官网上的STM32G0例程只有Type-C Source和Sink的应用,没有 E-Marked Cable的相关内容,CubeMX也无法创建此类工程。但从现有例程代码里也能找到SOP\'和SOP\'\'一些定义,不知为何ST官方没有发布E-Marked Cable相关
    发表于 04-07 08:08

    STM32F407+CUBEMX+DP83848K,LED_speed黄灯上电常亮,LED_Link绿灯一直不亮为什么?

    如题,用CUBEMX配置好RCC,ETH,LWIP相关内容后,直接生成代码编译下载,LED_Link绿灯一直不亮,MAC端网口也显示未连接
    发表于 03-19 07:02

    如何在SlaveFifoSync例程添加HID设备枚举?

    HID的相关内容删去Cypress FX3 USB StreamerExample Device是可以正常使用的。我slaveFifo采用的端口是0X01和0X81,hid采用的端口是0X87。 请问我该如何修改程序?
    发表于 02-28 06:31

    苹果获取头显专利:可精准控制地理位置相关内容展示

     这项名为《限制指定私人内容的方法及设备》的专利旨在让用户只在特定环境下才可通过 Vision Pro 头显获取相应数据。以 IT之家提供的专利实例来看,用户可以设定 Vision Pro 的权限,令家中或者办公室特定区域的用户方能看见所需的数据。
    的头像 发表于 01-31 10:23 530次阅读
    苹果获取头显专利:可精准控制地理位置<b class='flag-5'>相关内容</b>展示