嵌入式之使用RTT打印LOG进行调试
安装JLink
值得注意的是,JLink版本尽量不要太老,旧版本库中可能缺少常用芯片(在Target Device Settings
界面选择Device
时可能找不到你用的芯片名)
安装过程:略
移植RTT
路径
找到
1 | JLink安装路径 -> Samples -> RTT -> SEGGER_RTT_V758c.zip(压缩包名与JLink版本对应) |
解压(如果该路径解压不了可复制到桌面后解压)
会有下列几个文件夹
- Config
- Examples
- RTT
- Syscalls
将除了Examples
外的所有文件夹复制到工程文件夹下,并添加各文件夹路径到编译器
删减
需要用到以下文件
1 | Config -> SEGGER_RTT_Conf.h |
注:我一般习惯将RTT
目录下的SEGGER_RTT_ASM_ARMv7M.S
与芯片的startup_xxxxxx.s
放在同一个文件夹,可根据自身习惯来,不影响。
编译
看有无错误,可能会有头文件包含路径的错误,纠正即可。
题外话
我在移植时,将所有.c
与.h
放在了同一个文件夹下,故应将SEGGER_RTT.h
中的#include "../Config/SEGGER_RTT_Conf.h"
改为#include "SEGGER_RTT_Conf.h"
;但是改完后报错:Failed to open #include file 'SEGGER_RTT_Conf.h'
,没办法,还是分开放吧。。。
将SEGGER_RTT_Conf.h
放在Config
文件夹中,#include "../Config/SEGGER_RTT_Conf.h"
这样包含就不报错,不清楚为什么。。。
调用
常用函数:
需含头文件SEGGER_RTT.h
1 | SEGGER_RTT_Init(); // RTT初始化 |
注:如果一切都没错误,但是就是不打印数据,可退出调试模式试试。。。
参考文章
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 龙猫知识库!