移植J-Link RTT Viewer【实时日志】
SEGGER RTT【Real-Time Transfer】
SEGGER RTT支持使用J-link调试器输出来自目标微控制器的信息,也可以接收输入,并且在高速度交互的同时不会影响目标处理器的实时性,可以省掉平常打印日志用的串口。
RTT工具支持 ARM Cortex-M0/M0+/M1/M3/M4/M7/M23/M33 内核和瑞萨 RX100/200/600 内核。RTT工具的源码实现提供了完整的功能,可以*使用。
RTT的源码是作为J-Link软件包的一部分,在Jlink安装目录中的 Sample/RTT中,
默认路径:C:\Program Files (x86)\SEGGER\JLink\Samples\RTT
解压后的文件夹,目录结构图,只需要RTT文件夹
移植RTT步骤:
第一步:复制文件夹,从解压的文件夹:SEGGER_RTT_V698e 中复制整个 RTT 文件夹,到项目目录下面。
C:\Program Files (x86)\SEGGER\JLink\Samples\RTT\SEGGER_RTT_V698e
第二步:MDK中添加文件,创建项目文件夹:RTT
并添加2个C文件【SEGGER_RTT.c、 SEGGER_RTT_printf.c 】,
2个H文件【SEGGER_RTT.h、 SEGGER_RTT_Conf.h 】
S文件【SEGGER_RTT_ASM_ARMv7M.s 】别添加。
第三步:MDK中添加头文件路径,指定到RTT文件夹。
至此,移植完成。
RTT工具移植测试【使用】
第一步:打开JLinkRTTViewer。
该程序在JLink的默认安装路径内。
默认安装目录为:C:\Program Files (x86)\SEGGER\JLink\JLinkRTTViewer.exe。
双击运行,配置J-link连接方式、目标芯片型号、目标芯片的接口以及下载速度:
注意:虽然使用的是J-link但引脚使用的是SWD。
配置完成点击ok之后,显示RTT Viewer Connected表示已成功连接:
第三步:编写测试代码
在 main 函数调用初始化,然后直接可以使用。
注意:1.要引入头文件。2.要SEGGER_RTT_Init()初始化。3.在需要打印日志的位置使用SEGGER_RTT_printf(“日志内容”),即可。
封装使用(推荐)【自定义,没时间,先能用即可,此块内容,后续再补。】
输出:
1.中文的输出有乱码问题,可以再打开JLinkRTTClient.exe使用RTTClient输出,中文不会乱码,但MCU必须进入DEBUG模式。
2.RTT接管prinft重定向,MDK中启用 Use Micro LIB。在main.c最后实现fputc函数: