概要
基于STM32CubeMX新建rtthread nano工程,并于与rtt与ulog的完美结合,大大提高开发效率
技术名词解释
rtthread nano
rtt viewer
ulog
技术细节
1、以stm32f103c8为例
2、STM32CubeMX新建工程,添加rtthread nano,具体参考:
https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-nano/nano-port-cube/an0041-nano-port-cube
3、打开rtthread nano的配置
4、去掉rtthread nano已经定义的中断
5、生成代码
6、添加rtt驱动代码
7、包含头文件
8、修改#include <rtconfig.h>
9、新增board.h,修改board.c
10、在main.c中包含头文件测试
#include “SEGGER_RTT.h”
#include <stdio.h>
#include <rtthread.h>
11、在while中添加测试代码
printf(“rtt is ok!\r\n”);
rt_thread_delay(1111);
12、注意在SEGGER_RTT.c中完成printf重定向
13、下次测试rtt viewer,实现输入输出
14、添加ulog代码,并添加头文件文件夹
15、在main.c中添加头文件
#define DBG_TAG “main”
#define DBG_LVL DBG_LOG
#include <rtdbg.h>
16、在while中测试
LOG_D(“ulog debug is ok”);
LOG_E(“ulog error is ok”);
rt_thread_delay(1111);
17、在rtconfig.h中添加宏定义
/* Utilities */
#define RT_USING_ULOG
#define ULOG_OUTPUT_LVL_D
#define ULOG_OUTPUT_LVL 7
#define ULOG_ASSERT_ENABLE
#define ULOG_LINE_BUF_SIZE 128
/* log format */
#define ULOG_USING_COLOR
#define ULOG_OUTPUT_TIME
#define ULOG_OUTPUT_LEVEL
#define ULOG_OUTPUT_TAG
/* end of log format /
#define ULOG_BACKEND_USING_CONSOLE
#define ULOG_USING_FILTER
/ end of Utilities */
18、编译后下载
19、测试输入输出及过滤
20、重定向到xshell,可以显示不同的颜色
21、涉及的RTT,ULOG,board适用多种芯片,只要由STM32CubeMX生成工程,复制替换就行,目前测试的芯片如下:
源码下载链接:https://download.csdn.net/download/yin0706/88345346