嵌入式開發(fā)常見問題解決方法
共 5257字,需瀏覽 11分鐘
·
2024-05-28 08:00
其實,嵌入式開發(fā)的難度相對來說不算大,只是嵌入式開發(fā)會遇到各種各樣奇奇怪怪的問題,問題多了,很多人就覺得難。
一、問題復(fù)現(xiàn)
1.1 模擬復(fù)現(xiàn)條件
1.2 提高相關(guān)任務(wù)執(zhí)行頻率
1.3 增大測試樣本量
二、問題定位
2.1 打印LOG
2.2 在線調(diào)試
2.3 版本回退
2.4 二分注釋
二分注釋即以類似二分查找法的方式注釋掉部分代碼,以此判斷問題是否由注釋掉的這部分代碼引起。
2.5 保存內(nèi)核寄存器快照
三、問題分析處理
3.1 程序繼續(xù)運行
3.1.1 數(shù)值異常
3.1.1.1 軟件問題
|
|
|
|
|
|
|
|
|
-
在設(shè)計階段應(yīng)該合理分配內(nèi)存資源,為棧設(shè)置合適的大??; -
將函數(shù)內(nèi)較大的臨時變量加”static”關(guān)鍵字轉(zhuǎn)化為靜態(tài)變量,或者使用malloc()動態(tài)分配,將其放到堆上; -
改變函數(shù)調(diào)用方式,降低調(diào)用層數(shù)。
3.1.1.2 硬件問題
3.1.2 動作異常
3.1.2.1 軟件問題
3.1.2.2 硬件問題
3.2 程序崩潰
3.2.1 停止運行
3.2.1.1 軟件問題
-
在外設(shè)時鐘門未使能的情況下操作該外設(shè)的寄存器; -
跳轉(zhuǎn)函數(shù)地址越界,通常發(fā)生在函數(shù)指針被篡改,排查方法同數(shù)值異常; -
解引用指針時出現(xiàn)對齊問題:
|
|
|
|
|
|
|
|
|
|
|
|
3.2.1.2 硬件問題
3.2 .2 復(fù)位
3.2.2.1 軟件問題
3.2.2.2 硬件問題
四、回歸測試
五、經(jīng)驗總結(jié)
來源地址: https://www.cnblogs.com/jozochen/p/8541714.html
評論
圖片
表情
