嵌入式RTT调试接口详见

发布时间:2023年12月18日

1. 简介

Real Time Transfer(简称RTT)是Segger公司推出的用于嵌入式系统监控和交互的工具,其融合了SWO(SWD调试技术中的调试日志输出)等能力,且具备极高的性能。RTT的技术特点如下:

  • 与目标嵌入式应用的双向通信能力
  • 不影响嵌入式应用的实时行为的高速传输速率
  • 使用调试通道用作通信(相当于不用再额外占用GPIO等外设接口)
  • 不需要在目标嵌入式系统增加额外的硬件或引脚
  • 任何的J-Link型号都支持(J-Link型号列表和比较可参考https://www.segger.com/products/debug-probes/j-link/models/model-overview/)
  • 能被ARM Cortex-A/R/M系列芯片支持,以及被RISC-V和Renesas RX支持
  • 提供完整的RTT的实现代码

优点:

RTT能够在不影响嵌入式应用的实时行为下,能够高速双向通信,既可以输出调试信息,也能够从外部输入相关的控制命令。RTT可以在两个传输方向(输出和输入)上支持多个通道,不同的通道可用于不同的目的。

2. 使用场景

在嵌入式设备开发时,需要使用硬件接口完成软件调试,如打印一些调试信息,而通常大家都是使用UART接口,实现日志信息打印的,那有了UART接口,且UART接口大家都比较熟悉,为何还要用RTT呢?下面汇总一下RTT接口使用的场景:

  • 处理器芯片较少,串口外设较多,没有可预留给调试使用的串口
  • 降低产品成本,可去掉调试串口,至保留Jlink烧录口,即可完成烧录,有可使用做RTT调试
  • 针对一些复杂场景的设备调试,既要连接烧录接口,又要连接调试串口,给调试增加复杂度,可使用Jlink接口同时完成调试与烧录

3. 连接方式

使用Jlink调试器,USB端口连接PC,SWD端口连接嵌入式设备,如下图所示:
在这里插入图片描述

4. 上位机软件

4.1 J-link RTT viewer

PC上可使用J-link RTT viewer工具(https://www.segger.com/downloads/jlink/),完成调试数据的收发,且可以有多个虚拟终端,可以用来打印不同的信息(如一个窗口做标准输出,一个窗口做错误信息的输出,一个窗口做调试信息输出)

J-Link RTT Viewer是主要的Windows的GUI应用,用来使用RTT调试的所有功能。RTT Viewer可以单独使用,开启一个连接到J-Link,或者在运行调试会话时并行使用,RTT Viewer支持所有RTT的主要功能:

  • 通道0的Terminal output
  • 通道0的输入
  • 在一个目标通道上支持高达16个虚拟Terminal
  • 可控的字符输出:字体颜色控制,控制台消息擦除
  • 通道1的Logging数据等

关于J-Link RTT Viewer的详细说明可参考J-Link用户指南文档(https://wiki.segger.com/UM08001_J-Link_/_J-Trace_User_Guide#RTT)。

通过RTT通信,可以使用任何J-Link。通过终端(通道0)进行通信的简单方法是,当到J-Link的连接处于活动状态时,使用Telnet客户机或类似的设备创建到localhost:19021的连接。

5. 工作原理

详细的工作原理可阅读官方介绍:

https://www.segger.com/products/debug-probes/j-link/technology/about-real-time-transfer/

6. 软件支持

https://github.com/supperthomas/RTTHREAD_SEGGER_TOOL

文章来源:https://blog.csdn.net/wu_chaowei/article/details/135045559
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。