本文原创于http://www.CUOXin.com/humaoxiao,非法转载者请自重!
?
? ? 在上三篇文章中,我们基本搭建好了开发STM32的IDE环境,当然vim、ctags、taglist、winmanager的命令和用法太多,不可能全部列出,在这里只是给大家提供一种思路和方法,具体扩展功能参考相关插件的帮助文档就可以获得,当然选择自己最最常用的几个命令,操作熟练了,就足以进行开发调试了。今天这篇文章我们使用gdb进行STM32调试。
(四)gdb调试STM32程序? ? 我们还是用先前的stm32f4-discovery程序为例子,初步探讨一下stm32调试的方法步骤,当然在这里敝人只是提供一种方法和思路,gdb调试的官方文档共有600多页,调试命令及其丰富,细节功能大家可以参考文档使用。
4.1 启动gdb server
? ? gdb server的启动非常简单,只需终端输入
sudo st-util
?即显示以下信息:
?就显示出了板子的硬件信息,这一步就算成功了。
4.2 启动gdb交叉调试工具
? ? 在这里我们使用的是arm gdb交叉调试工具,不要关闭上一步打开的终端,然后新建终端输入
arm-none-eabi-gdb main.elf
? ? 打开gdb调试器,同时指定了需要加载调试的文件main.elf,显示以下信息:
?
?出现上面这个信息我们就可以输入调试命令了。
4.3 Demo
? ? cd到stm32f4-discovery目录里,首先要绑定调试端口4242,
tar ext:4242
然后加载我们需要调试的文件
?load
然后输入指令continue就可运行程序了,过程如下:
如果想暂停运行只需要按ctrl+c快捷键,即可暂停:
并且我们可以看到程序现在暂停到了main.c函数的第6行。
? ? 再举一个断点调试的例子吧,比如我们想在第6行添加断点,只需要输入命令:
break 6
就可以在第6行添加断点了,此时再输入continue命令,程序会自动停在第六行处,如果想删除断点,输入命令clear即可。
? ? 另外info命令能够查看调试过程中与你自己程序相关的信息,相关info命令有50多个,我们可以输入help info查看info命令的帮助信息。
? ? 至此我们已经能够使用VIM和gdb进行简单的STM32程序编码与调试工作了,更为强大的功能还需要我们通过他们的帮助文档获得,在这里也没有办法一一列出,只是提供给大家一个思路,有不明白的地方,欢迎大家留言:)
? ? 谢谢!
?
------------------------------------?
大家可以+关注我的博客,以便得到最新的文章。
------------------------------------
打字不易,转载请注明出处(http://www.CUOXin.com/humaoxiao/p/3589932.html),谢谢。
新闻热点
疑难解答