在没有串口printf输出的情况下,可以使用SEGGER-RTT进行嵌入式开发调试。
RTT Real Time Terminal 即jink的实时终端
使用方法
1. 安装jlink V5.02或以上版本的驱动
我装的是V5.02d版本Jlink,可以在网上找到安装包进行安装。
安装完成后,打开安装路径,可以看到以下应用程序:
我们用到的是头两个。
2. 将SEGGER-RTT的源文件配置到项目程序中
网上下载源文件RTT_Implementation_140925解压得到
将RTT文件夹和Syscalls文件夹复制到工程路径下,并在工程中添加文件
SEGGER_RTT.c、SEGGER_RTT.h、SEGGER_RTT_Conf.h、SEGGER_RTT_printf.c和RTT_Syscalls_KEIL.c,如果用的是其他IDE,就添加RTT_Syscalls_IAR.c或RTT_Syscalls_GCC.c。
在“Options for Target”中包含头文件路径。
3. 应用示例
如图,添加头文件“SEGGER_RTT,h”和“SEGGER_RTT_Conf.h”,
然后调用SEGGER_RTT_Init()初始化
此时便可以使用SEGGER_RTT_printf()函数进行打印输出了
打开以下两个程序
此时还没有连接上设备,在J-Link RTT Logger中提示输入设备信息
头三项实际填写,相关信息在Keil中可以找到,其他选择默认,一路Enter
J-Link RTT Logger显示如下
J-Link RTT Client显示已连接,并成功输出打印内容