一、前言 在项目开发中我们最常使用的一种功能就是串口调试,但是由于传统的串口调试会占用到我们开发板的硬件资源,同时可能还需要jlink之类的串口外接工具,使用起来并不是很方便。最近在使用瑞萨RA6M4开发板时就遇到了这样的问题:我们需要准备一个USB转TTL工具,通过连接板载串口引脚接线才能够使用串口功能,这样无疑是非常不方便的,所以在一番探索下,发现了这个宝藏小工具—-RTT Viewer。 二、简介 RTT Viewer是借助J-link的下载仿真工具来实现串口调试功能,这样可以不需要通过UART口来实现程序的Debug,使用非常方便。 在RT-Thread Studio中,由作者supperthomas制作的segger_rtt软件包,主要将JLINK作为RTT 的console口来使用,能够节省一些设备的UART资源。该软件包必须依赖于JLINK之上的,手上必须要有JLINK相关的硬件调试器才能使用。 三、使用说明 segger_rtt最早是对serial_v1串口框架进行软件包制作的,随着RT-Thread推出serial_v2版本,该串口框架在一些开发板上也得到使用。作者本人在使用瑞萨RA6M4开发板的时候,其使用的也是serial_v2标准,但是正常使用segger_rtt软件包时,发现根据作者的说明文档并不能正常使用,经过学习了解后发现,串口V1和V2的改动还是有挺大差异的(具体详见串口框架V1和V2版本对比)。 所以如何在不改变系统内核函数的前提下进行使用呢?在与作者supperthomas联系之后也是着手于对该软件包的bug修复,最初的尝试都是在改动系统内核的基础上进行,虽然实现了开机logo及串口输入输出的信息打印(感兴趣可以看看这篇文章瑞萨RA6M4开发板在RT-Thread中使用segger_rtt软件包),但是对于不同型号的开发板其内核设计可能也略有不同,而且失去了最初软件包设计使用的方便性,因此最终在和作者的共同努力和下,在不改变系统内核的基础上,也是成功的修复了这一bug,并能满足对串口v1和v2的使用需求。 下面是segger_rtt软件包的使用说明
编译下载后,打开RTT Viewer工具,选择型号并填入segger_rtt变量地址(该地址可在/Debug/rtthread.map文件中搜索_SEGGER_RTT变量找到该地址) |