支持linux系統的主板解決「嵌入式硬體平台有哪些」

對於嵌入式系統來說,軟體細節較多,任何一條語句都可能引入問題,因此軟體問題定位的技巧尤其的重要。前面講了如何定位嵌入式系統的硬體問題,本次我聊一下,使用什麼技巧來定位碰到的軟體問題。

軟體問題,具有一定複雜性,表現也千奇百怪,很難一概而論有哪些具體的分類。因此,我以調試手段,來切入討論怎麼解決軟體問題。

硬體模擬調試工具

對於嵌入式平台,最好的調試手段,是在線模擬器。「在線」即連接到目標板,「模擬器」是最早的模擬硬體的延續叫法,現在多是調試器,不僅可以配MCU來完成運行、停止、斷點、燒寫,還能完成變數讀寫、寄存器訪問等功能。因為調試工具的強大功能,所以我們通常強烈建議使用調試工具,這樣可以高效率地排查問題。最重要的是,實時參與,效率很高嵌入式開發入門之八:哪些技巧可輔助定位軟體問題?

ARM晶元常用的調試器

串口列印消息

如果沒有模擬器,那該如何定位問題呢。可供後備選擇的是串口,即UART。通過串口,我們可以將感興趣的數據,從串口列印出來,然後在PC機上使用軟體接收數據,來分析是否正確。例如,程序進了哪個函數、哪個分支、參數是什麼值等,都可以從串口發送出去。這樣就可以間接替代模擬器,實現內部關鍵信息的掌握。需要注意的是,列印的數據最好和代碼模塊及位置可以一一對應,方便準確提供定位問題的信息。嵌入式開發入門之八:哪些技巧可輔助定位軟體問題?

利用串口列印變數和分支信息

屏幕、按鍵、LED等

對於極簡的單片機系統,如何調試軟體呢?那我們只能就地取材,系統有什麼資源,那就用什麼。比如,我們可以先調通硬體的屏幕或LED顯示。然後,可以在屏幕上顯示感興趣的信息,或者用LED的閃爍與組合,來表示不同的含義。利用按鍵來模擬斷點,觸發停止或運行。這種方法,是不得已而為之,效率較低,是沒有其他手段的最後選擇。

總結

儘管軟體問題各式各樣,但大部分的錯誤,都發生在邏輯判斷、數值計算這兩個方面。我們可以利用有效的資源,盡量掌握程序實際執行到的分支,來推斷邏輯和計算是否有問題。各種手段基本都是圍繞這個目的來開展問題定位。

原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/275330.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-17 14:21
下一篇 2024-12-17 14:21

相關推薦

發表回復

登錄後才能評論