?今天我們學習合宙模組日志總體介紹,以下進入正文。
一、本文討論的邊界
本文是對合宙 4G 模組, 以及 4G+GNSS 模組的日志功能的總體介紹。通過日志,可以對研發過程中,以及模組運行過程中的各種故障進行分析。
二、4G模組日志的幾種類型界
4G 模組的日志有兩種類型: 業務日志和底層日志。業務日志是指在用模組的客戶代碼輸出的日志,包括 AT指令交互的日志和二次開發的業務代碼輸出的日志。
2.1 AT 交互的業務日志
把模組作為 AT 指令的方式做開發的時候, 可以通過串口工具,抓取 AT 指令的日志。也可以由設備的主控 CPU,輸出和模組的 AT 指令的交互日志。AT 交互的日志,用普通的串口工具,比如 sscom,LLcom,都可以使用。
2.2 二次開發的業務日志
在用 LuatOS 二次開發的代碼里面, 用 print()函數, 就可以輸出任何的信息到 Luatools。通過 Luatools 的日志查看界面, 就可以非常方便的查看, 保存,分析業務日志。使用 Luatools 查看日志的詳細資料,可以查看:
2.3 底層日志
當遇到疑難問題, 用業務日志無法定位問題原因的時候, 就需要抓取底層日志,交給合宙的技術同事分析問題。
無論是 AT 指令方式的開發,還是在模組內部做二次開發,都可以抓取底層日志。
三、怎么抓底層日志
本章的內容,適合合宙 780 系列模組,700系列模組,不適合 724和795系列模組。底層日志工具,叫做 EPAT 工具。
3.1 下載底層日志工具
點擊如下鏈接,直接下載底層日志工具EPAT:合宙模組底層日志抓取和分析工具 。
3.2 日志輸出端口
如徹底講清楚USB驅動問題這篇教程所說,USB的虛擬端口中,有一個底層日志的輸出端口。可以從設備管理器的端口屬性中根據“設備實例路徑”中的值是否是0004,來判斷底層日志的輸出端口。
正常情況下,要用USB物理接口抓取日志,因為USB虛擬出來的端口的輸出速率很高,基本不會出現丟日志的現象。
而串口抓底層日志,很容易丟失日志,導致抓不全日志,給問題分析帶來很大的障礙。
3.3 EPAT工具中圖標功能
- 1)重啟模塊
- 2)勾選選擇的端口從其他串口調試工具嘗試打開是否可以正常輸出數據(亂碼)
- 3)如果使用AT固件,默認DBG_UART端口輸出是3M波特率,可以通過AT+ECPCFG=logBaudrate,6000000 指令修改,波特率設置請不要低于3M,不然很容易出現丟日志、抓的不全。
?
打開日志文件,需要在打開EPAT工具時跳出的"Select Data Source"選擇框中選擇"Select From Local Files",才能點擊使用功能,可以打開ZIP壓縮包和Bin格式的日志文件。?
保存日志,會將已抓取到的日志導出,以ZIP壓縮包的方式保存,方便提供給技術同事或研發同事分析。?
更新解析日志的數據庫文件,在抓日志的時候,可以不匹配,等在使用EPAT打開日志文件的時候再做匹配解析。?
篩選查看日志,如果不了解,用不到這個功能?
啟動開始抓日志,如果沒有日志出來,請檢查日志端口有沒有選擇正確,有沒有勾選打開;確認端口正確,也以勾選,還是沒有日志出來,請嘗試:?
暫停日志?
停止抓日志,點擊完停止后,就可以選擇保存日志 發給技術/研發同事分析了。?
清除日志,建議每次正式準備抓日志前清理一下日志,這樣保存出來的日志給技術同事分析會方便很多。?
搜索日志內容?
設備端口配置界面
3.4 EPAT底層日志抓取方法
① 打開EPAT工具,抓日志選擇第一項“Serial Device”
?
② 選擇日志端口,準備抓取log
?
- (1)打開設備端口配置界面
- (2)關閉或打開端口,如果端口被占用,工具也不會提示"端口已被占用",所以如果發現端口選擇正確,并且日志還是沒有出來的話,可以確認下日志端口是否有被占用,而導致EPAT沒有打開日志端口。
- (3)日志端口可以同時打開兩個,一個用模塊的DBG_UART端口打開,另一個使用USB的日志輸出端口,AT固件需要設置AT+ECPCFG=logPortSel,2(重啟生效)才能設置日志端口可以從USB和DBG_UART兩個端口輸出。好處是在進入休眠的時候,待USB斷開,就會用DBG串口輸出日志,等模塊喚醒時就會重新虛擬出來USB端口,就會從USB的日志口抓取日志。這樣抓取休眠中的程序日志 也基本上不會出現日志丟失的情況。
- (4)打開日志輸出端口和修改波特率的界面
- (5)選擇日志輸出端口
- (6)USB的虛擬日志端口不用特意修改波特率;
DBG_UART端口默認為3M波特率輸出,請不要隨意更改,如果技術/研發同事發現日志丟失嚴重,可手動寫入修改為6000000(6M)波特率;
③ 抓取底層日志
?
如果輸出的日志有亂碼,先確認波特率是否有改動,是不是默認3M波特率抓取的,或確認串口線是否支持3M波特率輸出。然后再點擊上圖紅框中的圖標匹配數據庫comdb解析文件。
④ 獲取數據庫db文件
抓日志時,可以不做數據庫匹配,只需要把文件發給技術同事就可以了;但如果技術同事建議本地先匹配數據庫文件后再抓取,那優先保證日志可以正常輸出出來,然后再匹配數據庫文件。
- LuatOS開發的db文件獲取
在底層core .soc后綴的固件中,通過解壓縮工具打開該文件,可以看到里面會有一個comdb.txt文件,在EPAT選擇更新數據庫文件的時候 選擇該文件,隨后點擊"UPDATE",如果變為綠燈 代表匹配成功;如果是還是紅燈表示 選擇的db文件和現在模塊中燒錄的固件不匹配;
?
- AT開發的db文件獲取
AT開發方式只能從技術同事中獲取,一般AT的底層問題,不需要客戶去看,所以一般不需要匹配數據庫文件,抓取成功日志將zip日志壓縮包和模塊使用的AT固件完整版本號(發ATI 指令查看版本號)發給技術同事,分析時自行匹配。
數據庫文件更新成功后, 燈會變成綠色
⑤ 保存日志
?
- 導出日志前,先停止打印 - 點擊保存日志的圖標
保存的日志文件不要以相同名稱文件覆蓋的形式保存,否則日志會保存失敗,實際內容不會覆蓋。
⑥ 將保存出來的ZIP日志壓縮包發給技術分析。
?審核編輯 黃宇
-
模組
+關注
關注
6文章
1584瀏覽量
30959 -
日志
+關注
關注
0文章
140瀏覽量
10779
發布評論請先 登錄
相關推薦
分布式日志追蹤ID實戰
Wine開發系列——如何使用Wine日志調試問題
玩轉Nginx日志管理:高效排查問題的終極指南
1個工具4類日志,幫你解決99%的問題

systemd journal收集日志的三種方式

統一日志數據流圖

linux日志管理之journalctl命令

日志框架簡介-Slf4j+Logback入門實踐

鐵威馬教程 如何收集NAS的日志

奇怪!應用的日志呢??

評論