J-Trace入门系列1:感动人心的功能与更感动人心的售价

原创 RTThread物联网操作系统 2021-09-29 18:34

1. 简介

Jlink 想必大家都用过,相信登录过 segger 官方网站,下载最新的 jlink 驱动程序的时候,都会看到这样的图片:

在兴叹它那离谱的价格的同时,也会好奇这个东西比手里的x版货都有哪些优势和提升。

以上图片是 segger 官方对 J-Trace 的定位:

使用基于 segger 领先的 trace 方案 J-Trace PRO 实现对代码的收集、验证、分析功能。利用 Arm Cortex 内核的 trace 功能,在无限时长内,实现对所有指令的跟踪,实现对偶然出现的、难以被复现的 bug 追踪记录

  • 在完整的 System Clock 内实时流式传输 trace。

  • 使用在线代码分析功能来精细优化代码。

  • 指令级别的代码覆盖率检测,为满足安全性规约约束的需求。

  • 无限制的 trace 追踪,实现隔离和识别潜在的代码缺陷。

  • 完整的 J-Link 调试功能

可以看出它最大的卖点就在 arm trace 的信号流捕捉和分析,实现代码的精确流程跟踪,有了精确的代码跟踪,就可以借助 Ozone 工具提供实时分析代码覆盖率、指令回溯、CPU 资源监控等功能。


这么多优点,配合强大的 Ozone 调试平台,code coverage 实时统计,一键生成报表,boom。仿佛那最后的 bug 就可以用它来反复蹂躏、踩在脚底...感动人心!直到看到售价:

Price: €1,980 EUR

这个价格可以买一台高配的 MacBook 了,但对比其他支持trace接口的调试器来说,性价比出众,例如 trace32。

2. 物理连接

如图所示 segger 的 19 pin trace 接口(1.27mm 牛角),在 JTAG 基础上增加了 5 条 trace 线(4 条数据线 + 1 条时钟线,双边沿模式(DDR))。

有一点要注意一下,不要把两个接口都接到板子上:

Note: Never connect trace cable and JTAG cable at the same time because this may lead tounstable debug and trace connections.

注意:不要同时使用 trace 连接线和 JTAG 连接线,这将导致 debug 和 trace 的不稳定现象。

参考:《UM08001: J-Link / J-Trace User Guide》

3. 打钱

既然本篇目主要介绍 J-Trace 的入门教程,自然就需要有这么一台设备支持一下了。


三句话,让老板为我花了1W8,终于拿到它:

你要问盒子里有没有跳线帽,这个真没有:

可以看见这个板子使用了 ARM cortex A9 + FPGA 的 Zynq-7010 作为主控,通过 Zynq 专有总线与赛普拉斯 CYUSB3011 USB3.1 控制器连接,CYUSB3011 内部也具备一颗 ARM926 200MHz 的控制核心,用于协调 USB3.1 高速传输协议。


周边还有美满的千兆 phy 收发器,芯成的LPDDR2 128MBytes 533Mhz,用于高速收发和缓冲 trace packet,对于电脑主机来说尽量配备大内存和独立的 USB3.0 接口。


外围就是一些电平转换电路和电源了,都是 TI 的一些常见型号,总的来看 JTAG 和 trace port 的逻辑由 FPGA 硬件逻辑实现,当作 J-Link 可以用 zui 高速调试,下载效果要好很多。


4. 什么是 Trace

在上一节我们简单介绍了 J-Trace ,至于为什么三句话说服了老板,我们还是要以专业视角看 trace 的引入能够解决哪些实际的问题。


J-Trace 的标准包装很“贴心”地赠送了一张 STM32F407 核心板,它用的不是标准 Jtag 接口,而是支持 Trace 的接口,我们可以像官网那样去连接和测试 Trace 功能:


翻看 STM32F407 的 RM(RM0090.pdf) 手册,找到 Debug support 章节,可以看见 芯片内部负责 Debug 的系统框图:


可以看见我们主要关注且日常见到的一些片上调试模块:

  • SWJ-DP: Serial wire / JTAG debug port

  • AHP-AP: AHB access port

  • ITM: Instrumentation trace macrocell

  • FPB: Flash patch breakpoint

  • DWT: Data watchpoint trigger

  • TPUI: Trace port unit interface

  • ETM: Embedded Trace Macrocell

以及文中提及到,STM32F4xx 系列支持的扩展功能:

  • Flexible debug pinout assignment

  • MCU debug box (support for low-power modes, control over peripheral clocks, etc.)

归纳一下就是:


SWJ-DP 这个大家都熟悉,不必介绍,其他的也许使用过,但多数情况下我们不会在意它们的存在。

ITM 可以支持 SWO 输出调试,挖个坑下回填。

很多定位中低端的MCU就直接丢弃掉 Trace Port 相关电路单元了,加上对外接调试设备的高要求()以至于很多工程师并不知道 ARM Cortex 上其实还有 JTAG/SWD 之外的调试端口。

本文重心围绕指令追踪,我们重点来看 ETM:

对于ETM,需要了解:

  • ETM 的主要任务是帮助开发者重建程序执行序列,CPU 上所有指令的执行都可以被 ETM 追踪到。

  • 数据可由 DWT 或者 ITM 单元追踪到。

Embedded Trace Macrocell (ETM) 提供结合了 ARM 的调试和追踪机制,它可以做到在不干扰 CPU 的情况下获取 CPU 的运行状态,一旦捕捉到,便实时通过特定的 Trace 端口向外输出。


具备 ETM 模块的 MCU 可以实现详尽的指令执行历史记录,这些记录可以作为重现代码流程和执行时间的依据,使用分析软件实现代码分析,借此找到难以复现的bug。最难能可贵的是,它可以帮助我们找到失控的代码的根源所在。


此外,ETM还有更多特性有待进一步了解,比如常见的 ETB、Filter & Package Formatter 等细节属性,有待进一步啃手册了。


更多有关 ETM 资料,请翻阅《Embedded Trace Macrocell Architecture Specification》 、《ARM CoreSight Architecture Specification》 、《ARMv7-M Architecture Reference Manual》


综上,ETM 并不是对外输出的最终形式,在 STM32F4xx RM0090.pdf 中有如下结构:


可见 ETM 和 ITM 生成 CPU 运行的追踪信息后,由 TPIU 模块执行封包,并使用对外已经连接的序列器输出,由这张图片可以得出以下结论:



终于涉及到物理层连接了,自然就会引出物理连接概念:Trace signal timing (追踪信号时序)

上一章节我们知道 ETM 信息是可以和 CPU 同频的,以达到最佳的指令追踪覆盖效果,对于 Cortex-M 架构,ARM 有如下定义:

trace 时钟往往是 1/2 的 CPU 时钟,但是 trace data 线路可以是 DDR (双倍速率-亦称上升下降沿)方式通信,通常 data 线有4条,意味着一个 trace 时钟周期可以输出1个字节的 trace 数据。

trace 硬件接入,笔者经验总结:


如今 MCU 主频也在不断递进,为了保持高速的 trace 也必然对线路阻抗与信号输出能力提出了更苛刻的要求。由于是 DDR 方式地获取追踪数据,所以在 Layout 上就需要做好等长,为了保证良好的 trace 稳定性,也应当从 MCU IO 翻转输出能力和CPU主频两个角度的上限妥协一个较为稳定的时钟速率。


由于是高速 DDR 信号,时序上要尽量满足以下要求:

Trace CLK 作为时钟基准,如上图所示 Trace Data 被时钟上升或下降沿一分为二(50%占空比)是最佳的信号效果,如果 Trace Data 出现了较多的超前或者滞后,也可以在 Ozone 中设置延迟补偿,这里不过多介绍了。

5. 总结

  • Trace 能够帮助解决面向过程测试中,以不干扰CPU正常运行为前提,揭示程序运行踪迹,解决最麻烦的bug。

  • Trace 辅助工具可以实现代码分析与实时覆盖率统计,帮助我们以直观运行视角,揭示代码优化方向。

这套工具除了贵没别的不好,Ozone 调试功能强大且好用,它是免费的,只需要有 J-Link 就行。

下一篇我会介绍 J-Trace 的具体使用过程,展示 RT-Thread 在 trace 上的效果,敬请期待。



你可以添加微信17775982065为好友,注明:公司+姓名,拉进RT-Thread官方微信交流群!



👇 点击阅读原文进入官网

RTThread物联网操作系统 帮助您了解RT-Thread相关的资讯.
评论 (0)
  • 探针台作为半导体制造与测试的核心设备,通过精密定位与多环境适配能力,支撑芯片研发、生产及验证全流程。以下是其关键应用领域与技术特性:一、核心功能支撑1.‌电性能测试与分析‌l 在晶圆切割前,探针台直接接触芯片电极,测量阈值电压、漏电流、跨导等200余项参数,用于评估良品率及优化工艺设计。l 支持单晶体管I-V曲线测量,定位栅极氧化层厚度偏差(精度达0.2nm),为器件性能分析提供数据基础。2.‌纳米级定位与测量‌l 定位精度达±0.1μm,满足5nm及以下制程芯片的
    锦正茂科技 2025-04-27 13:09 128浏览
  • 一、智能家居的痛点与创新机遇随着城市化进程加速,现代家庭正面临两大核心挑战:情感陪伴缺失:超60%的双职工家庭存在“亲子陪伴真空期”,儿童独自居家场景增加;操作复杂度攀升:智能设备功能迭代导致用户学习成本陡增,超40%用户因操作困难放弃高阶功能。而WTR096-16S录音语音芯片方案,通过“语音交互+智能录音”双核驱动,不仅解决设备易用性问题,更构建起家庭成员间的全天候情感纽带。二、WTR096-16S方案的核心技术突破1. 高保真语音交互系统动态情绪语音库:支持8种语气模板(温柔提醒/紧急告警
    广州唯创电子 2025-04-28 09:24 92浏览
  •     今天,纯电动汽车大跃进牵引着对汽车电气低压的需求,新需求是48V。车要更轻,料要堆满。车身电子系统(电子座舱)从分布改成集中(域控),电气上就是要把“比12V系统更多的能量,送到比12V系统数量更少的ECU去”,所以,电源必须提高电压,缩小线径。另一方面,用比传统12V,24V更高的电压,有利于让电感类元件(螺线管,电机)用更细的铜线,缩小体积去替代传统机械,扩大整车电气化的边界。在电缆、认证行业60V标准之下,48V是一个合理的电压。有关汽车电气低压,另见协议标准第
    电子知识打边炉 2025-04-27 16:24 157浏览
  • 在电子电路设计和调试中,晶振为电路提供稳定的时钟信号。我们可能会遇到晶振有电压,但不起振,从而导致整个电路无法正常工作的情况。今天凯擎小妹聊一下可能的原因和解决方案。1. 误区解析在硬件调试中,许多工程师在测量晶振时发现两端都有电压,例如1.6V,但没有明显的压差,第一反应可能是怀疑短路。晶振电路本质上是一个交流振荡电路。当晶振未起振时,两端会静止在一个中间电位,通常接近电源电压的一半。万用表测得的是稳定的直流电压,因此没有压差。这种情况一般是:晶振没起振,并不是短路。2. 如何判断真
    koan-xtal 2025-04-28 05:09 103浏览
  • 晶振在使用过程中可能会受到污染,导致性能下降。可是污染物是怎么进入晶振内部的?如何检测晶振内部污染物?我可不可以使用超声波清洗?今天KOAN凯擎小妹将逐一解答。1. 污染物来源a. 制造过程:生产环境不洁净或封装密封不严,可能导致灰尘和杂质进入晶振。b. 使用环境:高湿度、温度变化、化学物质和机械应力可能导致污染物渗入。c. 储存不当:不良的储存环境和不合适的包装材料可能引发化学物质迁移。建议储存湿度维持相对湿度在30%至75%的范围内,有助于避免湿度对晶振的不利影响。避免雨淋或阳光直射。d.
    koan-xtal 2025-04-28 06:11 85浏览
  • 探针台作为高精度测试设备,在光电行业的关键器件研发、性能测试及量产质量控制中发挥核心作用,主要涵盖以下应用场景与技术特性:一、光电元件性能测试1.‌光电器件基础参数测量‌l 用于LED、光电探测器、激光器等元件的电流-电压(I-V)特性、光功率、响应速度等参数测试,支撑光通信、显示技术的器件选型与性能优化。l 支持高频信号测试(如40GHz以上射频参数),满足高速光调制器、光子集成电路(PIC)的带宽与信号完整性验证需求。2.‌光响应特性分析‌l 通过电光转换效率测
    锦正茂科技 2025-04-27 13:19 109浏览
  • 速卖通,作为阿里巴巴集团旗下的跨境电商平台,于2010年横空出世,彼时正值全球电商市场蓬勃发展,互联网的普及让跨境购物的需求日益增长,速卖通顺势而为,迅速吸引了全球目光。它以“让天下没有难做的生意”为使命,致力于打破国界限制,搭建起中国商家与全球消费者之间的桥梁。在其发展的黄金时期,速卖通取得的成绩令人瞩目。在欧洲市场,速卖通一度成为第一大电商平台。根据第三方机构《欧洲跨境商务》的评选,速卖通凭借出色的服务和消费者口碑,在“欧洲十大跨境电商平台”中脱颖而出,力压来自美国的亚马逊和eBay等电商巨
    用户1742991715177 2025-04-26 20:23 162浏览
  • 2025年全球人形机器人产业迎来爆发式增长,政策与资本双重推力下,谷歌旗下波士顿动力、比亚迪等跨国企业与本土龙头争相入局,产业基金与风险投资持续加码。仅2025年上半年,中国机器人领域就完成42笔战略融资,累计金额突破45亿元,沪深两市机器人指数年内涨幅达68%,印证了资本市场对智能终端革命的强烈预期。值得关注的是,国家发展改革委联合工信部发布《人形机器人创新发展行动计划》,明确将仿生感知系统、AI决策中枢等十大核心技术纳入"十四五"国家重大专项,并设立500亿元产业引导基金。技术突破方面,本土
    电子资讯报 2025-04-27 17:08 204浏览
  •   北京华盛恒辉电磁环境适应性测试系统是针对复杂电磁环境进行仿真、测试与评估的关键设备,以下从系统功能、技术架构、应用场景、核心优势、发展趋势五个维度展开全面解析:   应用案例   目前,已有多个电磁环境适应性测试系统在实际应用中取得了显著成效。例如,北京华盛恒辉和北京五木恒润电磁环境适应性测试系统。这些成功案例为电磁环境适应性测试系统的推广和应用提供了有力支持。   一、系统功能   复杂电磁环境构建   全生命周期测试能力   实时监测与反馈   二、技术架构   模块化设
    华盛恒辉l58ll334744 2025-04-26 17:21 195浏览
  •  集成电路封装测试是确保芯片性能与可靠性的核心环节,主要包括‌晶圆级测试(CP测试)‌和‌封装后测试(FT测试)‌两大阶段,流程如下:一、晶圆级测试(CP测试)1.‌测试目的‌:在晶圆切割前筛选出功能缺陷或性能不达标的晶粒(Die),避免后续封装环节的资源浪费,显著降低制造成本。2.‌核心设备与操作‌l ‌探针台(Prober)‌:通过高精度移动平台将探针与晶粒的Pad jing准接触,实现电气连接。l ‌ATE测试机‌:提供测试电源、信号输入及功能向量,接收晶粒反
    锦正茂科技 2025-04-27 13:37 151浏览
我要评论
0
2
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦