本文原創(chuàng)于http://www.CUOXin.com/humaoxiao,非法轉載者請自重!
?
? ? 在上三篇文章中,我們基本搭建好了開發(fā)STM32的IDE環(huán)境,當然vim、ctags、taglist、winmanager的命令和用法太多,不可能全部列出,在這里只是給大家提供一種思路和方法,具體擴展功能參考相關插件的幫助文檔就可以獲得,當然選擇自己最最常用的幾個命令,操作熟練了,就足以進行開發(fā)調試了。今天這篇文章我們使用gdb進行STM32調試。
(四)gdb調試STM32程序? ? 我們還是用先前的stm32f4-discovery程序為例子,初步探討一下stm32調試的方法步驟,當然在這里敝人只是提供一種方法和思路,gdb調試的官方文檔共有600多頁,調試命令及其豐富,細節(jié)功能大家可以參考文檔使用。
4.1 啟動gdb server
? ? gdb server的啟動非常簡單,只需終端輸入
sudo st-util
?即顯示以下信息:
?就顯示出了板子的硬件信息,這一步就算成功了。
4.2 啟動gdb交叉調試工具
? ? 在這里我們使用的是arm gdb交叉調試工具,不要關閉上一步打開的終端,然后新建終端輸入
arm-none-eabi-gdb main.elf
? ? 打開gdb調試器,同時指定了需要加載調試的文件main.elf,顯示以下信息:
?
?出現(xiàn)上面這個信息我們就可以輸入調試命令了。
4.3 Demo
? ? cd到stm32f4-discovery目錄里,首先要綁定調試端口4242,
tar ext:4242
然后加載我們需要調試的文件
?load
然后輸入指令continue就可運行程序了,過程如下:
如果想暫停運行只需要按ctrl+c快捷鍵,即可暫停:
并且我們可以看到程序現(xiàn)在暫停到了main.c函數(shù)的第6行。
? ? 再舉一個斷點調試的例子吧,比如我們想在第6行添加斷點,只需要輸入命令:
break 6
就可以在第6行添加斷點了,此時再輸入continue命令,程序會自動停在第六行處,如果想刪除斷點,輸入命令clear即可。
? ? 另外info命令能夠查看調試過程中與你自己程序相關的信息,相關info命令有50多個,我們可以輸入help info查看info命令的幫助信息。
? ? 至此我們已經能夠使用VIM和gdb進行簡單的STM32程序編碼與調試工作了,更為強大的功能還需要我們通過他們的幫助文檔獲得,在這里也沒有辦法一一列出,只是提供給大家一個思路,有不明白的地方,歡迎大家留言:)
? ? 謝謝!
?
------------------------------------?
大家可以+關注我的博客,以便得到最新的文章。
------------------------------------
打字不易,轉載請注明出處(http://www.CUOXin.com/humaoxiao/p/3589932.html),謝謝。
|
新聞熱點
疑難解答