本文原创于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. Nagios在Ubuntu server上的安装配置

    首先我参看的是Nagios的官方文档,Nagios – Installing Nagios Core From Source——The Industry Standard in IT Infrastr ...

  2. rtp的封包与拆包h264

    请看文档rfc3984 1.看h264的帧 SPS序列參数帧 00 00 00 01 67 64 . . .. PPS图像參数帧 00 00 00 01 68 EE... . I帧 00 00 00 ...

  3. fl,flash,mx包的区别

    在ActionScript项目中还真是不能使用mx包中的UI组件.           Adobe官方论坛上有一个帖子讲述了这个问题,大致意思是说:你要使用mx包中像Button这样的UI组件都是从U ...

  4. 一条直线上N个线段所覆盖的总长度

    原文:http://blog.csdn.net/bxyill/article/details/8962832 问题描述: 现有一直线,从原点到无穷大. 这条直线上有N个线段.线段可能相交. 问,N个线 ...

  5. Oralce_语法

    Oracle内建数据类型 一. 字符数据 1. char(size) 2. varchar2(size) 最常用,最大长度4000字节 3. nvhar(size).nvarchar(size) 4. ...

  6. JSONP(处理跨域问题)

    Ajax直接请求普通文件存在跨域无权限访问的问题 凡是拥有"src"这个属性的标签都拥有跨域的能力,比如<script>.<img>.<iframe& ...

  7. Java中jar命令详解

    做项目的时候我们肯定接触过很多jar包,那么jar包是什么呢?笔者了解到jar是java archive file 的简写.从名字就可以知道,它的应用与Java息息相关.下面就详细介绍如何自己生成ja ...

  8. poj2299解题报告(归并排序求逆序数)

    POJ 2299,题目链接http://poj.org/problem?id=2299 题意: 给出长度为n的序列,每次只能交换相邻的两个元素,问至少要交换几次才使得该序列为递增序列. 思路: 其实就 ...

  9. android 基础项目及开发出现:error opening trace file: No such file or directory错误解决

    本身这个错误不影响运行,但是看着烦啊.解决方案几种如下: 1.xml标签不完整或者未关闭,常有的事.Eclipse并不是所有的xml标记都检查,单双标记什么的. 2.有人说,据说是 android a ...

  10. Centos6.4最小化安装后使用xfce桌面环境

    由于我个人使用的Centos是在虚拟机中最小化安装的,gnome实在是不喜欢,所以自己装了个xfce,安装后启动不起来,才发现x window等依赖环境没装,为了少走弯路,在此写下安装过程. 1.yu ...