嵌入式開發(fā)常見問題解決方法
一、問題復現(xiàn)
1.1 模擬復現(xiàn)條件
1.2 提高相關(guān)任務執(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 軟件問題

在設計階段應該合理分配內(nèi)存資源,為棧設置合適的大??;
將函數(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 軟件問題
在外設時鐘門未使能的情況下操作該外設的寄存器;
跳轉(zhuǎn)函數(shù)地址越界,通常發(fā)生在函數(shù)指針被篡改,排查方法同數(shù)值異常;
解引用指針時出現(xiàn)對齊問題:

3.2.1.2 硬件問題
3.2 .2 復位
3.2.2.1 軟件問題
3.2.2.2 硬件問題
四、回歸測試
五、經(jīng)驗總結(jié)
來源地址: https://www.cnblogs.com/jozochen/p/8541714.html
聲明:本文素材來源網(wǎng)絡,版權(quán)歸原作者所有。如涉及作品版權(quán)問題,請與我聯(lián)系刪除
評論
圖片
表情
