嵌入式软件的打印调试信息的方法

一、前言
在我们的嵌入式开发中,常常把printf重定向到mcu的串口外设,再配合上位机界面软件,通过打印调试信息的方式来调试我们的嵌入式软件。
此处,我们介绍另一种打印调试的方法——segger 的rtt 。rtt全称是real time transmit(实时传输),是segger公司推出的,是配合j-link使用的一种调试手段。其框图如下:
可见,我们的mcu通过j-link,凭借rtt就可往电脑打印调试信息,电脑端这边用的是j-link 的小软件 rtt viewer (不能是别的软件哦)。这样,我们就可以把mcu的串口资源释放出来了,特别对于一些串口资源不那么充足的mcu来说就可以省出一个串口去与其它外围芯片进行串口通讯。
二、segger_rtt的使用
所需准备,j-link及segger_rtt源码。下面演示在keil-mdk环境下使用segger_rtt:
1、安装j-link驱动
安装完之后就可在看到如图所示的j-link rtt viewer v6.44b,我们待会要把调试信息传输到这个软件上。
2、segger_rtt的收发测试
(1)把segger_rtt_v640添加到我们的工程文件夹中
segger_rtt_v640中的内容如下:
(2)把segger_rtt_v640下的rtt下的所有文件添加到我们的工程中
(3)添加文件路径
(4)在main.c中添加如下测试代码
需要注意的是:记得添加头文件segger_rtt.h,范例工程可在聊天界面回复关键词rtt进行获取。
(5)编译下载到flash中,并启动rtt viewer软件
这个测试程序是对segger_rtt进行收发测试,其中segger_rtt_printf与我们平时用的printf差不多。
三、最后
segger_rtt基本上可以替换掉我们的串口打印调试,关于segger_rtt还有其他可以学习的地方,比如输出颜色设置、多任务调度等,有需要的朋友可以自己进行学习使用。

风力摆pid调节_风力摆控制系统_风力摆系统结构图解
6寸柔性AMOLED显示模组与PEDOT触控面板的技术整合
矿机发展及种类介绍
NSK轴承的使用方法及注意事项
纯电动汽车和燃油车相比优势明显吗
嵌入式软件的打印调试信息的方法
手机连上WiFi后,需不需要关闭移动数据?
三星QLED 8K电视中国上市 为消费者打造沉浸式观影体验
TTL反相器的基本电路(六款TTL反相器的基本电路设计原理图详解)
波音公司表示将对737MAX飞机的飞控计算机软件进行升级
将摄像头与传感器数据进行整合以提高交通安全
IPS液晶屏幕缘何受追捧? 浅谈IPS屏幕发展历史
压电陶瓷传感器的特性及工作原理解析
华为董事长徐直军表示美国的打击和遏制给华为带来了很大的影响
中国移动开通5G基站7.4万个,发展670余万5G套餐客户
TDA8946J引脚功能及功率放大电路图
如何使用Arduino构建Geiger计数器
开关电源设计:何时选择BJT优于MOSFET?
苹果再次推迟AR/VR眼镜的发布
三星Galaxy S20体验 机皇宝座非常稳