关注+星标公众号,不错过精彩内容
来源 | 瑞萨嵌入式小百科
RTT的打印功能是一个非常高效的打印方式,比传统的UART串口打印效率要高很多,打印“Hello World”只需要0.84us.
实现RTT打印的方法其实也很简单,只需要在你所在工程添加RTT源码,调用打印接口即可。
下面给大家详细描述一下基于RA2单片机移植RTT打印功能。
硬件采用EK-RA2E1官方开发板:
软件部分的添加流程:
新建RTT_function工程示例:
点击Next:
取工程名字为RTT_function并点击Next:
选择开发板型号、编译工具、J-Link工具等。再点击Next:
选择Execuable和No RTOS选项,并点击Next:
勾选Bare Metal-Blinky并选择Finish选项。
在新建的RTT_function工程中生产fsp相关文件:
然后进行编译查看是否有编译错误:
添加RTT功能相关文件:
在新建的SEGGER_RTT文件夹中添加相关的.c和.h文件:
需要添加的.c和.h文件分别为:SEGGER_RTT.c, SEGGER_RTT.h,SEGGER_RTT_printf.c和SEGGER_RTT_Conf.h
如下图:
相关的文件内容可从对应的此参考示例中进行copy,或从官方SDK中示例adc_ek_ra2e1_ep中进行内容的复制:
在src文件加common_utils.h文件:
Common_utils.h相关的文件内容可从对应的此参考示例中进行copy,或从官方SDK中示例adc_ek_ra2e1_ep中进行内容的复制获得。
添加简单的打印测试代码:
在文件hal_entry.c下的函数hal_entry的while(1)大循环中添加 APP_ERR_PRINT("*** RTT_printf *** \r\n");
本例程会每隔1s进行** RTT_printf_test **的打印:APP_PRINT()是一般的调试信息打印,APP_ERR_PRINT()是打印当前运行的函数名和调试信息,一般用做错误信息的打印。
编译程序:
仿真全速运行程序:
选择Debug Configurations:
点击全速运行:
打开GDB RTT viewer(安装J-Link驱动程序,这里以7.62版本为例):
点击OK:
可看到下面的:
看到这里,你是不是觉得很简单?
------------ END ------------
推荐阅读:
瑞萨RA8系列教程 | 初识瑞萨 RA8 系列单片机
瑞萨RA8系列教程 | 瑞萨 RA8 开发环境搭建,并点亮一个LED
瑞萨RA8系列教程 | 基于 Keil 开发 RA8单片机
瑞萨RA8系列教程 | 学习RA8常用哪些文档手册?
瑞萨RA8系列教程 | 瑞萨RA8单片机IO中断配置
瑞萨RA8系列教程 | 基于e2s在RA8上跑RTOS实现的方法
瑞萨RA8系列教程 | 基于e2s实现RA8串口输出配置
瑞萨RA8系列教程 | RA8单片机SysTick使用描述
瑞萨RA8系列教程 | RA8输出PWM实现方法
瑞萨RA8系列教程 | RA8基于e2s实现RTC实时时钟功能
······