IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 使用Jlink RTT工具打印日志 -> 正文阅读

[嵌入式]使用Jlink RTT工具打印日志

使用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工程中,并在添加相关路径和头文件。

image-20211013223957410

移植RTT代码

  • 移植代码到工程中,包含对应的.c文件和头文件路径。
  • 加入测试函数SEGGER_RTT_printf,参数1通道设置为0, 其他参数用法和printf类似。建议在定时函数中加入以下测试代码,编译,下载到MCU中。
  • 注意:不要直接放到while(1)里面,否则可能因为循环过快导致log无法输出。
  • 该流程已富芮坤8018平台为例进行移植,其他平台也是类似的。
SEGGER_RTT_printf(0, "Hello world RTT %d\r\n", n);

连接RTT VIEW

  • 使用Jlink commander的 connect命令将Jlink与板子连接,详情可见文档上面介绍Jlink commander的文档 https://wiki.tuya-inc.com:7799/page/1448282563461263413
  • 在计算机中搜索JLINKRTT,并打开RTT VIEW终端

image-20211014143319564

  • 连接设备,选择设备类型和RTT地址。该设备是CORTEX-M3的内核,SWD连接方式, 速率可自行设置,建议设置高一些。
  • 在很多设备上RTT地址是可以自动是被到的,对于富芮坤这样不能自动识别的设备,需要自行输入RTT地址,RTT地址即为代码中结构体_SEGGER_RTT的地址,可在代码中自行打印,也可在生成的map文件中获取, map文件中地址中查找如下图。
    image-20211014172635555

image-20211014145551519

  • 输入地址后,即可在RTT VIEW终端中,查看打印的RTT log信息了。

image-20211014143155986

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-10-15 11:57:21  更:2021-10-15 11:57:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:25:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码