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

    文章

    623

    浏览量

    35382
  • Cortex
    +关注

    关注

    2

    文章

    220

    浏览量

    48409
  • CoreSight
    +关注

    关注

    0

    文章

    6

    浏览量

    8239

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ENV2.0工具 pkgs 更新异常的原因?

    : 去C:env-windowspackagespackagesperipheralshal-sdkstm32下发现根本没有h7的hal库的下载相关内容 在env中进行pkgs --upgrade
    发表于 09-12 07:30

    变形监测包含哪些内容?变形监测的重要性

    变形监测包含哪些内容?变形监测的核心在于持续获取工程结构关键部位在空间位置(位移、沉降、倾斜)和内部状态(应变、裂缝)上的变化信息。下面就让南京峟思给大家具体的介绍变形监测的相关内容:几何量监测
    的头像 发表于 08-27 11:27 380次阅读
    变形监测包含哪些<b class='flag-5'>内容</b>?变形监测的重要性

    TSV制造技术里的关键界面材料与工艺

    在TSV制造技术,既包含TSV制造技术通孔刻蚀与绝缘层的相关内容
    的头像 发表于 08-01 09:24 1588次阅读
    TSV制造技术里的关键界面材料与工艺

    功率半导体器件——理论及应用

    功率半导体器件的使用者能够很好地理解重要功率器件(分立的和集成的)的结构、功能、特性和特征。另外,书中还介绍了功率器件的封装、冷却、可靠性工作条件以及未来的材料和器件的相关内容。 本书可作为微电子
    发表于 07-11 14:49

    使用Percepio View免费跟踪工具分析Zephyr应用

    Percepio View免费跟踪工具现在可以针对Zephyr应用程序进行跟踪和可视化分析了。Percepio View可以帮助开发人员理解和调试Zephyr的固定优先级的多线程行为
    的头像 发表于 05-27 15:08 583次阅读
    使用Percepio View免费<b class='flag-5'>跟踪</b>工具分析Zephyr应用

    【「# 运算放大器参数解析与LTspice应用仿真」阅读体验】+全书概览与第一章阅读分享

    节朴素的介绍了相关内容。整体而言都是基础知识,但是比较重要的内容, 所以作为随手翻阅可以参考的资料也是不错的, 当然作为温故知新参考也是可以的,作为相关工程人员快速了解
    发表于 05-22 23:18

    调试时Memory窗口中Flash内容不更新的原因和解决办法

    调试时在代码对Flash进行写操作时(比如Bootloader对Code Flash进行升级操作,Application对Data Flash进行写操作),Memory窗口中Flash内容不更新。
    的头像 发表于 04-01 09:18 979次阅读
    <b class='flag-5'>调试</b>时Memory窗口中Flash<b class='flag-5'>内容</b>不更新的原因和解决办法

    请问STM32G473是否支持硬件AES?

    STM32G473参考手册及数据手册中含有硬件AES相关内容及寄存器相关描述。但STM32G473xx.h并无AES相关寄存器,pack版本已更新为最新。以地址方式直接赋值,Keil
    发表于 03-12 06:38

    前端调试实践

    前言 在日常调试问题中,相信我们很多人都是用console去排查相关的问题,虽然问题也可以排查出来,但是有时它的效率并不高。这篇文章主要讲解关于断点和一些日常调试技巧的
    的头像 发表于 03-11 15:41 548次阅读
    前端<b class='flag-5'>调试</b>实践

    求助,为什么ETH配置没有Advanced Parameters?

    我观察了CubeMX12.0.1和Cube IDE1.16.1,发现在ETH中都没有Advanced Parameters选项卡,为什么?那我又该怎么设计相关内容
    发表于 03-11 06:15

    DLPR150PROM-2.3.1版本的固件是否包含图像信息,如何切换图像?

    DLPR150PROM-2.3.1版本的固件是否包含图像信息,如何切换图像?DLPC150 Programmer’s Guide文档没有相关内容
    发表于 02-21 06:53

    驱动板设计注意事项

    设计驱动板时我们需要考虑电路原理与元器件选择、PCB设计、热管理、电磁兼容性(EMC)、其他注意事项。以下是关于相关内容的详细介绍,让我们一起来简单的了解一下吧!
    的头像 发表于 02-12 13:48 1060次阅读

    THS8200输出1080P50/60格式YPbPr视频时无信号是怎么回事?

    输入是16位YCbCr 4:2:2格式的信号,EAV/SAV同步,所有I2C配置按照参考脚本slec026a和slec026b的相关内容来设置的。 现在如果输入格式是1080P25和P30时,可以
    发表于 01-22 07:05

    深蕾半导体开发者中心上线多个AI Demo样例

    近日深蕾半导体开发者中心更新了VS680 AI演示视频、AI Demo样例、VS680快速开发手册等相关内容
    的头像 发表于 01-10 14:48 750次阅读
    深蕾半导体开发者中心上线多个AI Demo样例

    晶体生长相关内容——晶型控制与衬底缺陷

    晶体生长在分析晶体生长时,我们需要考虑多个关键因素,这些因素共同影响着晶体生长的质量和进程。本文介绍了晶体生长相关内容,包括:杂对晶格硬度变化影响、碳化硅晶型控制、衬底缺陷控制和电气特性控制
    的头像 发表于 12-30 11:40 1218次阅读