1. 项目概述
作为一名嵌入式开发工程师,我经常被问到如何快速上手STM32的调试工作。今天要分享的是Keil MDK环境下STM32调试的实战经验,这是每个嵌入式开发者必须掌握的硬核技能。调试器就像医生的听诊器,能让我们深入观察芯片内部的运行状态,找出那些让人头疼的Bug。
在真实的项目开发中,大约70%的时间都花在调试上。掌握Keil调试技巧,能让你从"printf大法"的初级阶段,进阶到可以精准控制程序执行、实时查看寄存器状态的专业水平。本教程将带你从零开始,完整走一遍STM32在Keil环境下的调试流程。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 调试环境搭建
2.1 硬件准备清单
调试STM32需要准备以下硬件设备:
- STM32开发板(推荐使用F1或F4系列入门)
- ST-Link调试器(V2版本即可)
- 杜邦线若干
- USB数据线
注意:确保ST-Link的SWD接口与开发板正确连接,通常需要连接SWDIO、SWCLK、GND三根线。VCC可以不接,但有些开发板需要供电。
2.2 软件配置步骤
- 安装Keil MDK开发环境(建议5.25以上版本)
- 安装对应STM32系列的Device Family Pack
- 安装ST-Link驱动(可从ST官网下载)
- 新建或打开已有工程,配置调试选项
在Options for Target -> Debug选项卡中,选择ST-Link Debugger,并勾选"Run to main()",这样每次调试会自动停在main函数入口。
3. 基础调试功能详解
3.1 启动调试会话
点击工具栏的"Load"按钮或按F8,Keil会完成以下操作:
- 编译工程(如有修改)
- 通过ST-Link将程序下载到芯片
- 自动跳转到调试界面
调试界面主要分为以下几个区域:
- 反汇编窗口
- 寄存器窗口
- 外设寄存器窗口
- 内存查看窗口
- 变量观察窗口
- 调用栈窗口
3.2 基本调试操作
掌握这几个核心调试命令:
- F5:全速运行
- F10:单步跳过(Step Over)
- F11:单步进入(Step Into)
- Ctrl+F11:单步跳出(Step Out)
- Ctrl+F10:运行到光标处
实战技巧:在循环体中调试时,
