聚丰项目 > 基于RT-Thread简单串口记录仪

基于RT-Thread简单串口记录仪

基于SD卡以及硬件串口实现的一个简易串口记录仪。本作品可以通过开发板的硬件串口来接收串口日志数据,然后根据过滤规则进行数据的过滤,最后将符合条件的日志保存在SD卡内,其中日志文件根据配置文件进行自动创建。SD卡内存有配置文件,用于设置串口参数以及过滤规则文件,用来初始化日志过滤器,从而达到简单的过滤效果。本作品可以方便的用于研发测试过程中产品的测试日志记录跟踪,提升开发测试的效率。

wakojosin wakojosin

分享
1 喜欢这个项目
团队介绍

wakojosin wakojosin

团队成员

范工 嵌入式工程师

分享
项目简介
基于SD卡以及硬件串口实现的一个简易串口记录仪。本作品可以通过开发板的硬件串口来接收串口日志数据,然后根据过滤规则进行数据的过滤,最后将符合条件的日志保存在SD卡内,其中日志文件根据配置文件进行自动创建。SD卡内存有配置文件,用于设置串口参数以及过滤规则文件,用来初始化日志过滤器,从而达到简单的过滤效果。本作品可以方便的用于研发测试过程中产品的测试日志记录跟踪,提升开发测试的效率。
硬件说明

开发板硬件使用情况主要使用了两个外设,串口1和SD卡,下面简单介绍两部分的作用:

  1. UART1,通过串口1接口被监控的设备的串口数据,串口接如下图引脚;

    image.png

  2. SD卡,

    a. 通过SD卡保存串口1收到的串口数据;

    b. 在启动的时候通过SD卡来加载配置文件,配置串口1的参数并且配置过滤器。

    SD卡接口如下图:

    image.png

硬件图片

cb46914b22c1e21c5857a6726521fd5.jpg

软件说明

RT-Thread使用情况概述:

驱动使用了:串口、Pin、RTC和SD卡;

组件使用了:msh、DFS、Fatfs、ulog、libc等;

内核通讯主要使用了信号量;

软件框图:

image.png

软件功能:

    1. 初始化过程,首先等待SD卡初始化完成并且完成文件系统的挂载,然后从SD卡读取过滤列表及过滤类型,然后读取串口配置文件,最后初始化串口。

    2. 循环逻辑,以行为单位读取串口日志,然后进入过滤器进行过滤,根据过滤器的过滤结果决定是否保存本行日志,如果保存则执行SD卡保存日志的功能。

    3. 过滤模式介绍,过滤模式有四种,分别是相等或不相等,开始以及结尾,其中相等与不相等是互斥出现,相等优先级更高,开始和结尾可以同时出现也可以同时没有,相等表示日志中出现过滤列表中的字符串则被保存入日志文件,不相等则是出现过滤列表中的字符串则不被保存入日志文件;开始和结尾表示只匹配开始的字符串和(或)只匹配结尾的字符串。

gitee仓库地址https://gitee.com/vandoul/plogger

演示效果

如下图,过滤模式是相等,无开始和结尾限定,即日志中只要出现"uart:"或"spi:"的内容就可以存入日志文件。

image.png

依次发送:

uart:send test message2

spi:send test message3

myspi:send test message4

myuart:send test message5

send test message6

image.png

通过cat命令查看SD卡的日志文件,可以看到以及保存进日志文件的日志符合过滤规则,未满足的通过调试串口打印出来了。

附件

(11.57 MB)下载

评论区(0 )