0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Segger RTT调试工具的使用方法

恩智浦MCU加油站 来源:恩智浦MCU加油站 2025-03-28 14:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

上一期已经跟着小编介绍的安装步骤,相信大家都已经开始使用了Segger Ozone调试工具。那么今天小编继续趁热打铁,给大家介绍另一个Segger推出的调试辅助工具Segger RTT。

Segger RTT(Real Time Transfer)是一款由SEGGER公司开发的嵌入式系统监控和交互工具,主要用于嵌入式应用程序中的实时数据传输和调试。

定义与功能:

RTT是一种用于嵌入式系统的实时传输技术,能够在不影响嵌入式应用实时行为的情况下,实现高速双向通信。它不仅可以输出调试信息,还可以从外部输入控制命令,支持多个通道用于不同目的。

兼容性:

RTT支持多种单片机架构,包括ARM Cortex-A/R/M系列芯片,以及RISC-V和Renesas RX等。

主要特点:

高速传输速率:RTT使用调试通道进行通信,不占用额外的GPIO等外设接口,因此传输速率极快,不会影响嵌入式应用的实时行为

双向通信能力:RTT具备与目标嵌入式应用的双向通信能力,既可以输出调试信息,也可以接收外部控制命令

多通道支持:RTT在两个传输方向上支持多个通道,每个通道可用于不同的目的,如标准输出、错误输出、调试输出等

易用性:RTT的实现代码可以免费下载,并且可以轻松集成到任何现有的应用程序中。通过在PC上使用J-Link RTT Viewer工具,用户可以方便地查看和管理多个虚拟终端。

使用场景:

替代串口调试:RTT可以替代传统的串口调试方式,节省串口资源,并降低串口打印对系统实时性的影响

中断打印:RTT支持在中断中打印信息,这是传统printf函数无法实现的

多平台支持:RTT不依赖操作系统,可以在裸机上运行,并支持多种终端端口使用

实时数据读写管理:基于目标MCU内存中的RTT控制块结构体,RTT能够实现实时数据读写管理

接下来介绍下RTT的工作原理,简单来讲RTT的工作核心是一个位于RAM中的控制块结构,以及一个环形缓冲区来处理每个通道的每个配置方向(上行/下行)。每个缓冲区都可以在运行时由应用程序配置和添加。每个通道可以配置为阻塞或非阻塞模式。示意图如下:

3ec3146a-0aa6-11f0-9310-92fbcf53809c.png

在Zephyr中添加RTT也可以说是一步到位,得益于Zephyr的软件框架,我们只需要通过打开几个kConfig文件的变量即可:

CONFIG_UART_CONSOLE=n
CONFIG_RTT_CONSOLE=y
CONFIG_USE_SEGGER_RTT=y
CONFIG_SHELL_BACKEND_RTT=y

通过打开这几个配置变量,重新编译Zephyr代码,当我们想要通过调用printk来打印时,即可实现通过Segger RTT来进行输出:

3ee256d6-0aa6-11f0-9310-92fbcf53809c.gif

让我们来看下具体实现,通过单步调试,打开printk的源代码,我们可以看到,其底层实际上调用的是SEGGER_RTT_Write()函数: 这样一来,我们就可以省掉一个uart口,只通过Jlink这个调试端口进行log信息的打印。以防止某些时间敏感代码在运行时受到影响。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20146

    浏览量

    328822
  • 调试
    +关注

    关注

    7

    文章

    623

    浏览量

    35381
  • RTT
    RTT
    +关注

    关注

    0

    文章

    66

    浏览量

    18135
  • SEGGER
    +关注

    关注

    0

    文章

    60

    浏览量

    14762

原文标题:Zephyr领进门系列-Segger RTT的使用

文章出处:【微信号:NXP_SMART_HARDWARE,微信公众号:恩智浦MCU加油站】欢迎添加关注!文章转载请注明出处。

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【开源代码】-基于国民N32G45x系列MCU使用JLINK的开发组件工具-RTT Viewer 调试打印

    .c 和 SEGGER_RTT_printf.c文件添加到工程并添加头文件 6.使用方法 添加头文件 # include "SEGGER_RTT.h" 使
    的头像 发表于 10-27 12:06 5864次阅读
    【开源代码】-基于国民N32G45x系列MCU使用JLINK的开发组件<b class='flag-5'>工具</b>-<b class='flag-5'>RTT</b> Viewer <b class='flag-5'>调试</b>打印

    AG32 下使用 Segger RTT

    SEGGER RTTRTT 是一种调试手段。 它可以从 MCU 快速输出调试信息和数据,且不影响 MCU 的实时性。 在代码中对 pri
    发表于 05-29 09:44

    SEGGER_RTT怎么使用?如何调试

    SEGGER_RTT怎么使用?如何调试
    发表于 12-24 06:39

    怎样去调试RT-Thread的segger RTT中断功能

    用大量的时间。中断功能最忌讳的就是占用时间太长。最近调试发现,对于常用的STM32来说,有一个不占用时间的打印,那就是:segger RTTSegger
    发表于 03-14 11:45

    SEGGER_RTT是什么?如何去使用它

    SEGGER_RTT本文目标人群开发的时候经常采用 jlink 的硬件调试器进行调试(ST-LINK 也可以刷成 JLINK)。有时候想要在中断中打印一些信息的,但是 printf 在中断中不能打印
    发表于 03-24 10:06

    FPGA调试工具-chipscope

    FPGA调试工具chipscope,学习与使用FPGA必用的工具。。
    发表于 03-23 09:45 86次下载

    串口调试工具

    串口调试工具 便于单片机下载 串口调试工具 串口调试工具
    发表于 11-20 16:35 46次下载

    舵机调试工具

    飞思卡尔智能车舵机调试工具,其他舵机调试可自行修改舵机参数处理
    发表于 02-24 17:25 8次下载

    串口调试工具

    串口调试工具
    发表于 12-28 10:16 183次下载

    串口调试工具

    串口调试工具免费下载。
    发表于 09-13 17:41 35次下载

    调试工具检测

    调试工具检测
    发表于 01-31 15:01 0次下载

    modbus调试工具

    modbus调试工具
    发表于 04-28 13:50 97次下载

    串口调试工具

    串口调试工具
    发表于 04-28 13:53 7次下载

    脚本调试工具有哪些?脚本调试工具怎么用?

    脚本调试是软件开发过程中非常重要的一环,它能帮助开发者快速定位并解决代码中的错误。大多数编程语言都提供了各种各样的脚本调试工具,本文将介绍一些常见的脚本调试工具以及它们的基本使用方法
    的头像 发表于 12-01 14:40 1908次阅读

    SEGGER Ozone调试器支持第三方调试工具

    SEGGER强大的Ozone调试器和性能分析器,长期以来一直深受J-Link和J-Trace用户的信任,现在可以支持第三方调试工具了。
    的头像 发表于 09-29 11:45 691次阅读