国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

合宙基于移芯平臺的模塊死機問題詳解

青山老竹農 ? 來源:jf_82863998 ? 作者:jf_82863998 ? 2024-08-20 11:35 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

?

我們在分析模塊死機原因的時候主要會用到兩個工具:luatools和EPAT

相關關聯文檔和下載地址如下:

Ramdump里分析內存泄漏問題

無法抓底層log的情況下如何導出死機dump

Luatools下載調試工具

EPAT抓取底層日志

Flashtools_v4.1.9下載

luatools和EPAT這2個工具,具體使用方法要了解,本文不做深入講解,EPAT抓取底層日志文檔內有詳細使用說明

luatools用于捕獲從USB口的用戶log,即luat_debug_print輸出的log,僅用于csdk和luatos。AT版本沒有用戶log和用戶串口通道,需要使用EPAT工具抓取。

EPAT用于捕獲USB口,UART0(DBG_UART串口) 的底層log,在luatools沒有開啟的時候,EPAT同樣捕獲用戶log的大部分內容,這個時候用戶log會從底層log輸出,標識為luatos,等級為error,所以不要把用戶log當做error!

luatools捕獲用戶log時,自動識別GB2312還是UTF8編碼,也能正確打印64bit數據和浮點數據

EPAT只能識別GB2312編碼,不能正確打印64bit和浮點數據,在用UART0捕獲數據時會丟失部分log,尤其是優先級低的,所以用戶log的等級是error,優先級高

雙方都是USB口對接的情況下,USB虛擬串口沒有波特率限制,任意選擇,實際傳輸速率都是一樣的

為啥要區分用戶log通道和底層log通道,因為移芯不開放底層log解析方法

csdk固件默認死機后存儲死機信息到flash后重啟,luatos固件死機后會存儲死機信息到flash,然后等EPAT或者luatools抓取死機信息,等待大約40秒左右會重啟。

一、出現死機問題分析

A 怎么抓LOG

A1 認識USB虛擬串口

由于電腦識別出來串口名字都是一樣的,因此需要從串口屬性上來區分對應功能,具體看下面截圖紅框

A1.1 用戶log通道

?

wKgZomaaFwWASNeYAACrVioBmcQ761.png

A1.2 底層log通道

wKgZomaaFw2AFVo4AACqCeVAnSI621.png


A1.3 用戶串口通道

wKgaomaaFxWAbyycAACpqmi_dsg684.png


A2 抓log

如果使用EPAT工具抓取日志,說明請看 EPAT抓取底層日志文檔

A2.1 USB可用

建議方案1,只用luatools勾選USB打印模式即可,沒有配置上的要求,luatools會自動識別log通道,需底層log的,工具配置--》log--》勾選ap log,luatools會自動識別log通道,底層log保存在log/4gdiag。luatools版本必須在2.2.1及以上

建議方案2,直接用EPAT,按照EPAT手冊操作即可,如果luatools開著,工具配置--》log--》不要勾選ap log

A2.2 USB不可用

只能用EPAT通過DBG_UART抓LOG了,需要6M波特率抓取(USB轉TTL工具也要支持6M波特率),如果是AT版本還需要通過發送以下指令配置

AT+ECPCFG=logCtrl,2             // 輸出全部日志
AT+ECPCFG=logPortSel,1          // 只從DBG_UART串口輸出日志
AT+ECPCFG=logBaudrate,6000000   // 設置波特率為6M

B 遇到死機怎么辦

設置死機不重啟方法

AT固件:發送 AT+ECPCFG="faultAction",0 或者 AT*EXASSERT=1 指令開啟死機不重啟。

LuatOS開發:調用 mcu.hardfault(0) 接口開啟死機不重啟。

CSDK開發:在task中執行 luat_debug_set_fault_mode(LUAT_DEBUG_FAULT_HANG); 開啟死機不重啟。

B1 EPAT抓底層log,固件設置成死機不重啟

EPAT會自動抓,并且自動彈出ramdump處理界面,按照手冊操作即可。

B2 luatools抓底層log,固件設置成死機不重啟

luatools也會自動抓ramdump,但是只能保存成文件,仍然需要用EPAT來手動進入處理ramdump界面,后續處理見B1

B3 固件設置成死機重啟,或者沒有工具抓底層log

幫助文檔:無法抓底層log的情況下如何導出死機dump

C 死機重啟原因常見情況分析

死機需要底層log和ramdump處理結果綜合判斷,luatos固件還要看用戶log,這里討論如何定位出錯代碼位置或者出錯原因

C1 luavm拋出的異常

這個看用戶log就行,如果開啟了errdump,還能在iot平臺上看到

C2 斷言死機

看底層log就可以,搜索EcAssert字樣,可以看到斷言的位置

如果沒有底層log,ramdump里需要看list source的代碼上下是不是調用了ec_assert_regs,然后在stackframe with local里看看調用順序,大概率能看到斷言的位置。

斷言死機如果是malloc失敗,那么就是ram不足了。

C3 內存不足

這是最常見的死機原因,而且9成9可以判斷是內存泄露,剩下也有可能malloc時的參數不對,申請了不可能申請到的空間大小。內存不足直接表現,C2中已有部分描述,如果有底層log,還可以從死機時打印的信息來判斷

wKgaomaaFyGAE7sjAAMkNBsNIV0748.png

這里表示動態分配ram時,最大的block只有712字節了,這是非常典型的內存不足引起的死機,正常來說,至少要有個70KB左右的空間來滿足LTE協議棧的需求

如果ramdump信息完整,則可以從ramdump里找到查找方向從Ramdump里分析內存泄露問題

C4 看門狗死機

在底層log和ramdump里都能看到,

wKgZomaaFymAQeTOAAC0ATfKQoM742.png

ramdump里能看到最后停在NMI Handler里。

看門狗死機,要么死循環,要么操作時間太長,消除死循環,或者主動喂一下狗。壓力測試和RSA運算時特別注意一下。

C5 疑難雜癥

真正遇到hardfault時,需要先從底層日志里看死機的直接原因,也就是arm內核遇到的致命錯誤,當然多種多樣,常見的地址錯誤(常見data access)有數據存取時的總線錯誤(常見precise data access,imprecise data access等等),指令錯誤(常見switch to an invalid state (e.g., ARM))等等。

以下個人經驗:

先要排除一下棧溢出的可能,一旦棧溢出,什么奇怪的現象都有可能發生,運氣好的,觸發斷言,運氣不好的,就什么錯誤都可能發生,任務鏈表都可能被破壞,導致ramdump里的信息都會缺失。

1.ramdump信息完整

如果ramdump信息完整,則可以從ramdump大致分析出有沒有棧溢出現象從Ramdump里看棧溢出

如果ramdump的信息看起來完整,stackframe with local里調用順序也比較合理,那么就能定位發生問題的函數和語句,后續就看代碼調試吧,這是比較理想的情況。

地址錯誤的,大概率是讀寫了一個不可讀寫的地址,但是注意,有時候非ram和flash地址,直接讀取并不一定會出錯。

總線錯誤,大概率是數據對齊的問題,比如uint32_t *指針,去讀取一個uint8_t *指針指向的內容,一旦uint8_t *指針存放的地址不是32位對齊的,編譯器又沒有對應優化處理,死機是很正常的

指令錯誤,這種常見的函數指針用出問題,導致函數退出時,PC指針已經不能指向正確的代碼指令,從而執行了非arm的指令

2.ramdump的信息不完整

如果ramdump的信息都不完整,底層log也丟完,或者壓根沒法抓,建議通過刪減代碼,加打印語句等方法來定位出錯的語句,多次嘗試縮小范圍,直到成功,有經驗,對源碼了解的,能加快這一進度。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 模塊
    +關注

    關注

    7

    文章

    2838

    瀏覽量

    53313
  • 死機
    +關注

    關注

    0

    文章

    17

    瀏覽量

    8799
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    亞太地區首家一次性通過!中昇eSIM平臺獲GSMA認證

    近日,中昇自主研發的eSIM連接管理平臺成功通過全球移動通信協會(GSMA)SAS-SM權威審核并獲得認證證書。本次審核全程零不符合項(零NC項),一次性順利通過,使得中
    的頭像 發表于 03-09 17:06 ?700次閱讀
    亞太地區首家一次性通過!中<b class='flag-5'>移</b><b class='flag-5'>芯</b>昇eSIM<b class='flag-5'>平臺</b>獲GSMA認證

    猛!MCU模組:Air1601/1602雙星出擊!

    在嵌入式開發中,你是否曾面臨這樣的困境:高清UI渲染依賴昂貴高端芯片、圖像處理卡頓、多網通信協同復雜、工業級穩定設計繁瑣……Air1601/Air1602系列MCU模組應運而生:——以“高清顯示
    的頭像 發表于 02-13 14:05 ?592次閱讀
    猛!<b class='flag-5'>合</b><b class='flag-5'>宙</b>MCU模組:Air1601/1602雙星出擊!

    高效接入語音交互:模組音頻方案如何選?

    本文特別分享4G模組選型與硬件設計要點,為開發者提供實用參考。 一、模組音頻支持概況 從主芯片是否原生支持音頻功能來看,4G模組大致可分為兩類: 1.1 主芯片支持音頻功能 比如:經典老
    的頭像 發表于 02-08 14:59 ?639次閱讀
    高效接入語音交互:<b class='flag-5'>合</b><b class='flag-5'>宙</b>模組音頻方案如何選?

    采用科泰分立器件的工業PLC電源模塊防護方案

    在工業自動化現場,PLC如同產線的“大腦”。然而,如電機啟停的浪涌、電網波動、靜電放電(ESD)等惡劣的電力環境,時刻威脅著猶如大腦“供血系統”的電源模塊。一次意外的電壓瞬變,就可能導致系統死機、數據丟失甚至硬件損壞,造成巨大的停產損失。
    的頭像 發表于 01-21 13:59 ?2648次閱讀
    采用<b class='flag-5'>合</b>科泰分立器件的工業PLC電源<b class='flag-5'>模塊</b>防護方案

    昇完成中國移動低空智聯網無人機專用SIM卡測試

    1月,裝載中國移動昇科技、中物聯網有限公司、中國移動研究院三方聯合研發的專用SIM卡及搭載中昇通信芯片網聯模塊的無人機,在福建省順利
    的頭像 發表于 01-20 12:02 ?604次閱讀
    中<b class='flag-5'>移</b><b class='flag-5'>芯</b>昇完成中國移動低空智聯網無人機專用SIM卡測試

    詳解芯片制造中的中間層鍵技術

    依據中間層所采用的材料不同,中間層鍵可劃分為黏合劑鍵與金屬中間層鍵兩大類,下文將分別對其進行詳細闡述。
    的頭像 發表于 01-16 12:54 ?1357次閱讀
    <b class='flag-5'>詳解</b>芯片制造中的中間層鍵<b class='flag-5'>合</b>技術

    2025中昇年度大事記

    自主可控,深化RISC-V架構創新,中昇以產品創新、生態共拓、改革賦能為方向取得系列突破。以下為本年度重要事件梳理。產品能力篇1月,安全MCU芯片通過開源鴻蒙
    的頭像 發表于 12-31 16:38 ?2711次閱讀
    2025中<b class='flag-5'>移</b><b class='flag-5'>芯</b>昇年度大事記

    昇加入中關村量子信息產業聯盟

    12月14日,由中關村科學城管委會、中關村量子信息產業聯盟主辦的2025中關村量子大會-量子科技產業發展戰略論壇在京舉行。中昇受邀參會,正式加入中關村量子信息產業聯盟。中關村量子信息產業聯盟作為
    的頭像 發表于 12-16 17:33 ?1093次閱讀
    中<b class='flag-5'>移</b><b class='flag-5'>芯</b>昇加入中關村量子信息產業聯盟

    昇案例入選中國企業改革與發展研究會“2025央企產業鏈創新發展優秀案例”

    近日,由中國企業改革與發展研究會主辦的2025年(第三屆)企地合作論壇在京舉行。由中物聯與中昇共同撰寫的“企地協同,共建RISC-V產業生態”案例,成功入選“2025央企產業鏈創新發展優秀
    的頭像 發表于 12-01 17:03 ?1344次閱讀
    中<b class='flag-5'>移</b><b class='flag-5'>芯</b>昇案例入選中國企業改革與發展研究會“2025央企產業鏈創新發展優秀案例”

    昇第四款芯片入選國資委《中央企業科技創新成果推薦目錄》

    近日,為加快中央企業科技創新成果應用推廣,加速科技成果向現實生產力轉化,國資委發布了《中央企業科技創新成果推薦目錄(2024年版)》。中國移動旗下專業芯片公司中昇研發的“RISC-V內核SIM
    的頭像 發表于 12-01 17:03 ?1381次閱讀
    中<b class='flag-5'>移</b><b class='flag-5'>芯</b>昇第四款芯片入選國資委《中央企業科技創新成果推薦目錄》

    在rt-thread4.0.2版本stm32f407硬件平臺上,使用reboot命令無法重啟,會讓系統死機的原因?

    我在rt-thread4.0.2版本stm32f407硬件平臺上,使用reboot命令無法重啟,會讓系統死機。 reboot命令默認是調用rt_hw_cpu_reset()
    發表于 09-12 06:08

    遠通信飛鳶AIoT大模型應用算法成功通過備案

    近日,第十二批境內深度合成服務算法備案信息發布,遠通信"飛鳶AIoT大模型應用算法"榜上有名。這標志著該算法在技術規性、安全可控性及社會價值上獲得權威認可,彰顯了遠通信在
    的頭像 發表于 08-06 08:48 ?932次閱讀
    <b class='flag-5'>移</b>遠通信飛鳶AIoT大模型應用算法成功通過備案

    芯片制造中的鍵技術詳解

    技術是通過溫度、壓力等外部條件調控材料表面分子間作用力或化學鍵,實現不同材料(如硅-硅、硅-玻璃)原子級結合的核心工藝,起源于MEMS領域并隨SOI制造、三維集成需求發展,涵蓋直接鍵(如SiO
    的頭像 發表于 08-01 09:25 ?2187次閱讀
    芯片制造中的鍵<b class='flag-5'>合</b>技術<b class='flag-5'>詳解</b>

    遠通信加入 Avanci 5G 車聯網專利平臺,強化全球業務護航能力

    尊重和積極發展知識產權置于核心地位,積極擁抱行業發展,為客戶創造價值。 ? 加入Avanci 5G 車輛項目,將進一步增強遠通信在專利平臺流程與規要求方面的能力,強化自身對客戶在標準必要專利許可談判及專利
    的頭像 發表于 07-22 13:59 ?2823次閱讀

    遠通信加入 Avanci 5G 車聯網專利平臺,強化全球業務護航能力

    和積極發展知識產權置于核心地位,積極擁抱行業發展,為客戶創造價值。加入Avanci5G車輛項目,將進一步增強遠通信在專利平臺流程與規要求方面的能力,強化自身對客戶
    的頭像 發表于 07-22 12:11 ?742次閱讀
    <b class='flag-5'>移</b>遠通信加入 Avanci 5G 車聯網專利<b class='flag-5'>平臺</b>,強化全球業務護航能力