一、编译前必须检查的3个关键配置(不检查必报错)
在点编译之前,先确认这3项,90%的编译错误都能避免:
1. 勾选生成HEX文件(烧录必备)
- 点击工具栏上的魔法棒图标(Options for Target)
- 切换到 Output 标签
- 勾选 Create HEX File
- 建议勾选 Browse Information(方便调试跳转)
2. 芯片型号正确
魔法棒 → Target → 确认芯片与你开发板一致(如STM32F103C8)
3. 头文件路径已添加(最重要)
魔法棒 → C/C++ → Include Paths
必须把固件库头文件、工程头文件全部加进来,否则报"头文件找不到"。
二、STM32工程编译:3个按钮,一次学会
Keil编译只有3个常用按钮,位置在顶部工具栏:
1. 编译(Build)
快捷键:F7
只编译修改过的文件,速度最快,日常开发用这个。
2. 重新编译全部(Rebuild)
快捷键:Ctrl + F7
全工程重新编译,修改配置/换芯片后必须用这个。
3. 翻译(Translate)
只编译当前打开的文件,快速检查语法错误。
三、编译结果怎么看?
编译信息在底部 Build Output 窗口:
1. 编译成功
显示:
0 Error, 0 Warning
或
0 Error, x Warning
警告可以不管,错误必须解决。
2. 常见错误(新手必看)
not find xxx.h→ 头文件路径没加undefined reference→ 缺少.c文件,或函数没定义syntax error→ 少分号、括号不匹配stack overflow→ 栈空间太小
双击错误信息,自动跳转到出错行,直接修改。
四、STM32硬件调试(最常用:ST-Link / J-Link)
编译成功后,就可以进调试模式了。
调试前准备
- 用ST-Link连接开发板:SWD接口(SWDIO + SWCLK + GND + 3.3V)
- 开发板供电正常
- 驱动已安装(电脑能识别ST-Link)
五、进入调试模式(一步一步)
1. 配置调试器
- 点击魔法棒
- 切换到 Debug 标签
- 右上角选择:
- ST-Link Debugger(最常用)
- 或 J-Link
- 点击 Settings
- 看 SW Device 栏是否显示你的STM32芯片
✅ 显示:连接正常
❌ 不显示:接线/供电/驱动问题
2. 进入调试模式
点击工具栏 Debug / Start Debug 按钮
快捷键:Ctrl + F5
进入后界面会变:多了寄存器、命令窗口、断点行。
六、调试最常用的6个功能(工作只用到这些)
1. 运行 / 暂停
- 运行:F5
- 暂停:Ctrl + Pause
2. 单步执行(逐行跑)
- F11:单步进入函数(进函数内部)
- F10:单步跳过函数(不进函数)
3. 断点(最实用)
点击代码行号左边空白处 → 出现红圆点 = 断点
程序运行到这里会自动停下。
4. 查看变量
鼠标直接放在变量上,就能看到当前值。
5. 查看寄存器
菜单:
Peripherals → 选择外设
- GPIO
- UART
- ADC
- TIM
...
可实时看引脚状态、串口数据。
6. 查看内存数据
View → Watch & Call Stack Window
可以实时监控变量、数组、结构体。
七、退出调试模式
点击调试栏的 Stop 按钮
快捷键:Ctrl + F5
退出后回到正常编辑界面。