在上三篇文章中,我们基本搭建好了开发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程序编码与调试工作了,更为强大的功能还需要我们通过他们的帮助文档获得,在这里也没有办法一一列出,只是提供给大家一个思路
上一篇:STM32 硬件I2C 到底是不是个坑?
下一篇:在Mac OS X中使用VIM开发STM32(3)
推荐阅读最新更新时间:2024-11-13 11:25
推荐帖子
- 单片机常用模块程序代码与电路原理图
- 本帖最后由paulhyde于2014-9-1504:22编辑单片机常用模块程序代码与电路原理图,希望有助于你的学习~~~单片机常用模块程序代码与电路原理图本帖最后由paulhyde于2014-9-1504:22编辑好东东本帖最后由paulhyde于2014-9-1504:23编辑好东西!又有得玩了!本帖最后由paulhyde于2014-9-1504:23编辑51单片机的吗?还是其他的?里面有什么东东呢
- xianghong123 电子竞赛
- 只有在nrst引脚拉低的情况下才能在MDK中连接上STM32,请问是怎么回事?
- 各位老大,问一下,我现在的板子连DAPLINK,昨天第一次空片子的时候直接用MDK下程序到STM32里了,今天早上再试,正常状态下在MDK里就显示连接不上,必须按住RESET按键,把CPU的nrst引脚拉低才能在MDK里看到CPU的ID,但是这个状态下又不能烧录程序,请问怎么解决呀?只有在nrst引脚拉低的情况下才能在MDK中连接上STM32,请问是怎么回事?用DAPLink来复位mcu 老大,能具体说一下怎么复位么? 接上DAPLink的NRST引脚
- jerry2cool stm32/stm8
- 体验MAXIM的数字电位器DS1801
- 体验MAXIM的数字电位器DS1801体验MAXIM的数字电位器DS1801DS1801:原理框图放大+关键特性 Twodigitallycontrolled,65-positionpotentiometers Ultralow-powerconsumption Logarithmicresistivecharacteristics(1dBperstep) Zero-crossingdetectiontoeli
- yjtyjt 51单片机
- open1081采用STM32F205的内部晶振?
- 看Core1081,没有外部晶振接口,只有一个32K的晶振。难道Core1081只能使用STM32F205的内部晶振?内部晶振精度好像不高吧open1081采用STM32F205的内部晶振?是的,系统时钟采用的是内部时钟的,32.768是用作实时时钟的!我们经过测试的,运行是很稳定的!话说如果使用外部晶振还如何进行二次封装qq849682862发表于2014-10-2011:52话说如果使用外部晶振还如何进行二次封装 MX1081内部就是一个STM3
- 小麦克 RF/无线
- 今天,你的仪器换触屏的了吗?
- 今天,你的仪器换触屏的了吗?如果忽略仪器的其他性能多点触控屏幕和非触控屏的测试测量仪器您会如何选择呢?可能大家还会考虑性价比是德科技1688网店给您更多选择!以下原厂翻新机你pick✔哪一个呢多点触控N9000BCXA信号分析仪9kHz-7.5GHz六折N9000BCXA信号分析仪9kHz-26.5GHz
- EEWORLD社区 测试/测量
- 奥本海姆版信号与系统(第二版,中文版)
- 经典教程,资料很清晰,还是中文版的。信号与系统的概念出现在范围广泛的各种领域中,与这些概念有关的思想和方法在很多科学和技术领域起着重要的作用,例如在通信、航空航天、电路设计、声学、地震学、生物工程、能源生产与分配系统、化学工程控制及语音处理等方面。书中讨论了信号与系统分析的基本理论、基本分析方法及其应用。全书共分11章,主要讲述了线性系统的基本理论、信号与系统的基本概念、线性时不变系统、连续与离散信号的傅里叶表示、傅里叶变换以及时域和频域系统的分析方法等内容。作为
- arui1999 下载中心专版
设计资源 培训 开发板 精华推荐
- 使用 Microchip Technology 的 MAX3221ECAE 的参考设计
- MCP1630 镍氢电池充电器和电量计应用图的典型应用
- 19 V - 65 W 准谐振反激式适配器板
- 使用 Silicon Labs 的 EZR32WG330F256R60G 的参考设计
- CH579M 双模USB蓝牙键盘 带RGB
- 用于体重秤的 5V ADC 差分到单端转换
- LT3756EMSE-1 94% 效率 30W 白光 LED 头灯驱动器的典型应用电路
- MC34072ADR2G 桥式电流放大器的典型应用
- LT1764AEQ-3.3 SCR 预稳压器的典型应用可提供跨线路变化的效率
- LTC699CS8,具有欠压锁定和电流限制功能的 5V 开关线路