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