本文原创于http://www.cnblogs.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.cnblogs.com/humaoxiao/p/3589932.html),谢谢。


在Mac OS X中使用VIM开发STM32(4)的更多相关文章

  1. 在Mac OS X中使用VIM开发STM32(2)

    本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重! 在我先前的博文⎣在Mac OS X中使用VIM开发STM32(1)⎤中,我们安装完成了MACVIM,这一 ...

  2. 在Mac OS X中使用VIM开发STM32(1)

       本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重!     在我先前的博文⎣在Mac OS X中搭建STM32开发环境⎤中,我们在Mac中DIY出了最 ...

  3. 在Mac OS X中使用VIM开发STM32(3)

    本文原创于http://www.cnblogs.com/humaoxiao,非法转载者请自重!       在上一篇文章中,我们安装了ctags插件,ctags能对我们的源代码文件中的元素建立索引表, ...

  4. 如何在Mac OS X中开启VIM语法高亮和显示行号

    VIM (Wikipedia图) Vim 是一款相当给力的源自UNIX平台的命令行文本编辑器,不过不给力的是,Mac OS X下并没有诸多Linux发行版上VIM那些牛逼哄哄的神马代码高亮显示啊,自动 ...

  5. 转-在Mac OS上搭建Python的开发环境

    在Mac OS上搭建Python的开发环境   本文转载自:http://www.jb51.net/article/76931.htm 一. 安装python mac系统其实自带了一个python的执 ...

  6. Mac OS X 中一些常用的命令行技巧

    一.网络设置相关 1.网卡的物理地址的动态重置 出于某些需求,例如网络中的 IP 地址或网络帐号与网卡物理地址绑定,使得多个设备无法切换上网,可尝试临时更改物理地址.不过,系统偏好设置是不能修改网卡物 ...

  7. 在Mac OS X中配置Apache + PHP + MySQL

    在Mac OS X中配置Apache + PHP + MySQL Mac OS X 内置Apache 和 PHP,使用起来非常方便.本文以Mac OS X 10.6.3和为例.主要内容包括: 启动Ap ...

  8. 在MAC OS X中默认的Web共享目录

    在Mac OS X中可以很方便的通过开启"Web共享"启用Apache服务:设置方法如下: 打开"系统设置偏好(System Preferences)" -&g ...

  9. 在Mac OS X中配置Apache + PHP + MySQL 很详细

    这是一篇超级详细的配置mac os下面php+mysql+apache的文章.非常详细我的大部分配置就是参考上面的内容的,比如,PHP不能连接数据库,就是改一下默认的php.ini中pdo_mysql ...

随机推荐

  1. python selenium自动化(一)点击页面链接测试

    需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回到原始页面. 要完成这个需求就必须实现3点: 1. 找 ...

  2. C++之运算符重载(2)

    上一节主要讲解了C++里运算符重载函数,在看了单目运算符(++)重载的示例后,也许有些朋友会问这样的问题.++自增运算符在C或C++中既可以放在操作数之前,也可以放在操作数之后,但是前置和后置的作用又 ...

  3. 1085. Perfect Sequence (25)

    the problem is from PAT,which website is http://pat.zju.edu.cn/contests/pat-a-practise/1085 At first ...

  4. Explain的type, where 和 order by 组合是索引的选择

    Explain的type显示的是访问类型,是较为重要的一个指标,结果值从好到坏依次是: system > const > eq_ref > ref > fulltext > ...

  5. debian root用户在shell下如何能够使用颜色

    转载:http://hi.baidu.com/aivera/item/f31c4a590ef72609e6c4a596 编辑 /root/.bashrc 这个文件, 把里面这几行前面的#号去掉就可以了 ...

  6. linux 文件夹权限及umask

    先创建一个目录,看看权限: $ ll 总用量 drwxrwxr-x huangxm huangxm 2月 : ./ drwxr-xr-x huangxm huangxm 2月 : ../ drwxrw ...

  7. Android 自学之对话框

    Android为我们提供了丰富的对话框支持,提供了四种常用的对话框: AlertDialog:功能丰富.实际应用最广泛的对话框. ProgressDialog:进度对话框,该对话框只用于简单的进度条封 ...

  8. 怎么删除远程登录连接的ip

    通过远程桌面可以登录到远程电脑上进行相应的操作,在登录过后会在本地电脑上留下登录过的IP以及登录用户名相关信息,可能会给远程的电脑带来安全隐患,下面介绍一下清除远程桌面历史记录的方法. 1.删除我的文 ...

  9. getBoundingClientRect()兼容性处理

    getBoundingClientRect() 这个方法返回一个矩形对象,包含四个属性:left.top.right和bottom.分别表示元素各边与页面上边和左边的距离. var box=docum ...

  10. css3 calc():css简单的数学运算-加减乘除

    css3 calc():css简单的数学运算–加减乘除 多好的东西啊,不用js,一个css就解决了. .box{ border:1px solid #ddd; width:calc(100% - 10 ...