Cortex-M强大的调试和跟踪CoreSight技术

请注意,为官方帐户加注星标,不要错过令人兴奋的内容。

作者|更强的黄微信官方账号|如今,许多Cortex-M处理器都可以如此轻松地进行调试。

有一种基于Arm Cortex-M处理器设备的CoreSight技术。

引入了功能强大的新调试(Debug)和跟踪(Trace)功能。

让我们集中讨论有关CoreSight中的调试和跟踪的相关内容。

strong Huang 1调试和跟踪功能CoreSight的两个主要功能是调试和跟踪功能。

1.调试功能对运行中的处理器的控制,使程序的启动和停止可以逐步查看源代码和汇编代码。

在处理器运行时设置断点。

读取/写入存储器内容和外围寄存器,以立即对内部和外部FLASH存储器进行编程跟踪功能串行线查看器(SWV)提供程序计数器(PC)采样,数据跟踪,事件跟踪和仪器跟踪信息指令(ETM)跟踪,这些信息直接流式传输到您PC,从而实现历史序列调试和软件性能分析和代码覆盖率分析了解整体内容的图片:StrongHuang 2 JTAG JTAG是行业标准接口,用于在目标处理器上下载和调试程序以及许多其他功能。

它提供了一种连接设备的简便方法,并且在所有基于Arm处理器的设备上都可用。

JTAG接口可与基于Cortex-M的设备一起使用,以访问CoreSight调试功能。

1. JTAG历史记录JTAG是联合测试行动组的缩写,是IEEE标准1149.1中的通用名称,称为标准测试访问端口和边界扫描结构。

本标准用于验证通过设计和测试生产的印刷电路板的功能。

在1990年,JTAG被IEEE 1149.1-1990文件正式标准化。

1994年,添加了补充文档来描述边界扫描描述语言(BSDL)。

从那时起,该标准已被全世界的电子公司广泛采用,边界扫描几乎已成为JTAG的代名词。

---来自Wikipedia的报价。

2. JTAG接口JTAG接口通常是连接到芯片的4/5针接口:TDI(测试数据输入)TDO(测试数据输出)TCK(测试时钟)TMS(测试模式选择)TRST(测试)黄3 SWD串行线调试SWD,串行线调试(serial wire debug)模式是标准JTAG接口的替代方法,它仅使用两个引脚来提供与JTAG相同的调试功能,而不会降低性能,并且引入了通过串行线查看器(SWV)进行数据跟踪功能。

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

引脚包括:TCLK-SWCLK(串行时钟)TMS-SWDIO(串行数据输入/输出)TDO-SWO(串行线输出-SWV使用)关于SWV SWV:串行线查看器,基于Cortex -M3,M4的串行线查看器M7设备可以根据所需的信息类型或分析以多种方式提供高速数据跟踪信息。

当系统处理器继续全速运行时,它将通过SWO引脚进行传输。

可以从ITM(仪器跟踪宏单元)和DWT(数据观察点和跟踪)单元获取信息,包括:PC(程序计数器)采样事件计数器,显示带有周期统计信息的CPU周期统计信息,异常和中断执行跟踪数据-Data阅读和写作以进行时序分析。

在我以前的文章“ printf系列教程”中,可以找到用于简单的printf样式调试的ITM跟踪信息,有关更多信息,请参见背景回复[printf系列教程]。

strongstrongHuang 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,并教您如何实现此功能。