聚豐項目 > 基于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)下載