使用Jlink RTT工具打印日志

本文介绍了如何使用JlinkRTT工具替代串口进行日志打印,RTT提供高速、实时的通信,不干扰MCU运行。通过移植SEGGER_RTT的源代码到MCU工程,配置RTT地址,并在代码中调用SEGGER_RTT_printf函数输出日志。最后,通过Jlinkcommander连接设备,打开RTTVIEW终端查看日志。该方法适用于各种基于Cortex-M3内核的微控制器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用Jlink RTT工具打印日志

背景

  • 平常调试代码中使用串口打印log,往往需要接出串口引脚,比较麻烦,并且串口打印速度较慢,串口的中断可能会影响代码的执行效率。

  • SEGGER RTT支持使用J-link调试器输出来自目标微控制器的信息,也可以接收输入,并且在高速度交互的同时不会影响目标处理器的实时性,可以省掉平常打印日志用的串口。

Jlink RTT简介

  • RTT( Real Time Terminal)是SEGGER公司新出的可以在嵌入式应用中与用户进行交互的实时终端。J-Link驱动4.90之后的版本都支持RTT。

    RTT既可以从MCU上输出信息、也可以向应用程序发送信息,由于其高速的特性,所以不影响MCU的实时性。

    实现原理: 固件代码将要输出的log数据按照RTT的格式写到确定地址的内存中去,然后RTT通过swd口读取对应内存地址的数据,并显示到PC终端上。RTT的工作框图如下图所示:

  • [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hiZXlJHn-1634204906327)(https://gitee.com/hesuping/picgo/raw/master/img/J-Link_RTT.svg)]

Jlink RTT 代码获取

  • RTT工具的源码实现提供了完整的功能,可以自由使用。RTT的源码是作为J-Link软件包的一部分,在Jlink安装目录中的 Sample/RTT中。将RTT目录中的这四个文件移植到MCU工程中,并在添加相关路径和头文件。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

物联网布道师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值