聚丰项目 > 基于RT-Thread简单串口记录仪
基于SD卡以及硬件串口实现的一个简易串口记录仪。本作品可以通过开发板的硬件串口来接收串口日志数据,然后根据过滤规则进行数据的过滤,最后将符合条件的日志保存在SD卡内,其中日志文件根据配置文件进行自动创建。SD卡内存有配置文件,用于设置串口参数以及过滤规则文件,用来初始化日志过滤器,从而达到简单的过滤效果。本作品可以方便的用于研发测试过程中产品的测试日志记录跟踪,提升开发测试的效率。
wakojosin
分享wakojosin
团队成员
范工 嵌入式工程师
开发板硬件使用情况主要使用了两个外设,串口1和SD卡,下面简单介绍两部分的作用:
UART1,通过串口1接口被监控的设备的串口数据,串口接如下图引脚;
SD卡,
a. 通过SD卡保存串口1收到的串口数据;
b. 在启动的时候通过SD卡来加载配置文件,配置串口1的参数并且配置过滤器。
SD卡接口如下图:
硬件图片
RT-Thread使用情况概述:
驱动使用了:串口、Pin、RTC和SD卡;
组件使用了:msh、DFS、Fatfs、ulog、libc等;
内核通讯主要使用了信号量;
软件框图:
软件功能:
1. 初始化过程,首先等待SD卡初始化完成并且完成文件系统的挂载,然后从SD卡读取过滤列表及过滤类型,然后读取串口配置文件,最后初始化串口。
2. 循环逻辑,以行为单位读取串口日志,然后进入过滤器进行过滤,根据过滤器的过滤结果决定是否保存本行日志,如果保存则执行SD卡保存日志的功能。
3. 过滤模式介绍,过滤模式有四种,分别是相等或不相等,开始以及结尾,其中相等与不相等是互斥出现,相等优先级更高,开始和结尾可以同时出现也可以同时没有,相等表示日志中出现过滤列表中的字符串则被保存入日志文件,不相等则是出现过滤列表中的字符串则不被保存入日志文件;开始和结尾表示只匹配开始的字符串和(或)只匹配结尾的字符串。
gitee仓库地址:https://gitee.com/vandoul/plogger
如下图,过滤模式是相等,无开始和结尾限定,即日志中只要出现"uart:"或"spi:"的内容就可以存入日志文件。
依次发送:
uart:send test message2
spi:send test message3
myspi:send test message4
myuart:send test message5
send test message6
通过cat命令查看SD卡的日志文件,可以看到以及保存进日志文件的日志符合过滤规则,未满足的通过调试串口打印出来了。
(11.57 MB)下载