国产MCU打印调试工具Segger RTT

项目开发的时候,调试阶段除了用调试工具打断点外,可以用UART 串口输出打印,但是需要硬件预留好调试口,最近发现一个工具不依赖硬件也能实现打印输出调试,效率极高,就是Segger RTT.

基本环境:

1.支持Jlink调试的mcu

2.cortex M4,我没有使用其它型号

优点:

优点不依赖硬件接口就能实现打印调试。

缺点:

需要占用几K的ram空间。

软件移植:

RTT官网下载软件包:J-Link RTT -- Real Time Transfer

将其中的文件加入的工程里,配置好头文件路径。

加入初始化代码:

复制代码
SEGGER_RTT_Init();
SEGGER_RTT_SetTerminal(0);
SEGGER_RTT_printf(0 , "Test msg\r\n");

日志查看工具:

jlink安装路径下打开

选好芯片对应的型号:

Terminals标签里有connect功能,重新调试的时候注意connect一次。

以上是STM32芯片的配置,像STM32是很通用的mcu了,jlink支持也很到位,市面上用的芯片都可以直接选择。现在基于arm m4的国产mcu也有很多,如果想用segger rtt可能会遇到target devices 列表里找不到的情况,这里会有2种解决办法:

第一种解决办法:

选择SWD+选一款最接近当前工程MCU的STM32芯片,ram、flash大小配置基本差不多的就行

比如杰发科的AC7840X,我用的就是如下配置是可以正常输出的

第二种解决办法:

有些过程芯片比如Z20K14x系列的用第一种办法就解决不了。需要修改Control Block的配置,使用Search Range模式,需要填入SEGGER_RTT.O的bss段起始地址

比如:

后续国产mcu更新到到jlink列表里,估计就可以找到对应的型号,就简单省事多了

相关推荐
Real.w7 小时前
极客星闪 | 筑基:轻量级方案之 VS Code + HiSpark 插件开发环境搭建
stm32·单片机·嵌入式硬件
上海合宙LuatOS7 小时前
LuatOS 框架的设计原理
java·开发语言·单片机·嵌入式硬件·物联网·硬件工程
电化学仪器白超7 小时前
PPTSYNC软件配置①
python·单片机·嵌入式硬件·自动化
项目題供诗1 天前
51单片机入门(六)
单片机·嵌入式硬件·51单片机
代码游侠1 天前
学习笔记——Linux内核与嵌入式开发1
linux·运维·前端·arm开发·单片机·嵌入式硬件·学习
宇钶宇夕1 天前
CoDeSys入门实战一起学习(二十八):(LD)三台电机顺起逆停程序详解—上升、下降沿使用上
单片机·嵌入式硬件·学习
qq_401700411 天前
STM32晶振频率怎么选
stm32·单片机·嵌入式硬件
BackCatK Chen1 天前
第 5 篇:TMC2240 寄存器体系详解|分类 + 读写逻辑 + 通用框架
单片机·嵌入式硬件·电机驱动·保姆级教程·tmc2240·寄存器详解·stm32实战
jingshaoqi_ccc1 天前
使用GD32F103C8T6开发板的标准库实现硬件I2C协议通信(附源码下载地址)
单片机·嵌入式硬件
qq_25814297-npl1 天前
三开门冰箱的接水盒(也称为储水盒或接水盘)正常情况下不会满水
单片机