这一章在干嘛?
用 MDK 编译跑马灯例程、用 DAP 下载与在线仿真、熟悉 MDK 编辑技巧。第一次点亮 LED 是嵌入式最重要的仪式感。
4.1 使用 MDK5 编译例程
拿到光盘例程后:
- 拷贝例程到非中文路径;
- 双击
.uvprojx用 MDK 打开; - 编译按钮 Rebuild(F7)→ Output 窗口看到 0 Error 0 Warning。
原书图 4.1.5:MDK 打开跑马灯实验例程
4.2 使用 DAP 下载与调试程序
4.2.1 使用 DAP 下载程序
- 点魔术棒 → Debug → 选 Cortex-M4 CMSIS-DAP;
- Settings → Port 选 SWD,能看到 SW Device = STM32F407IG 即接线正确;
- 切到 Flash Download,勾选 Reset and Run;
- 点 Download(F8)烧录。
原书图 4.2.1:Debug 选项卡设置
4.2.2 使用 DAP 仿真调试程序
点 Debug (Ctrl+F5) 进入仿真,可设置断点、单步、查看寄存器与变量。
原书图 4.2.2.1:开始仿真界面
Watch 窗口右键 Add → 输入 g_fac_us 就能看到 us 级延时计数变量的当前值。
4.2.3 仿真调试注意事项
外设相关寄存器在仿真器下不一定真实更新(仿真器读不到物理外设),看波形必须用真实示波器。
4.3 MDK5 使用技巧
4.3.1 文本美化
Edit → Configuration → Colors & Fonts:选全局字体 Consolas / 微软雅黑 14 号,行号、高亮当前行。
原书图 4.3.1.1:MDK 文本美化配置
4.3.2 语法检测 & 代码提示
Text Completion 勾选:
- Strict mode(严格匹配)
- Function Parameters(参数提示)
- Auto-insert(自动闭合括号)
开启后写 HAL 函数时自动弹出参数列表,效率翻倍。
4.3.3 代码编辑技巧
| 技巧 | 说明 |
|---|---|
| TAB 键 | 一次缩进 4 空格,并自动对齐代码块 |
| Go to Definition | F12 跳到函数/变量定义处 |
| 批量注释 | Ctrl+K 注释多行,Ctrl+Shift+K 取消 |
| 书签 | F2 添加书签,便于长文件跳转 |
4.3.4 其他小技巧
查找替换 (Ctrl+H)、列编辑 (Alt+左键拖选)、全局替换 (Ctrl+Shift+H) 让你改一百个变量名只需 10 秒。
第一次烧录没反应怎么排查?
检查 SWD 接线 → 设备管理器是否识别 DAP → MDK Settings 里 SWD 模式 → Flash Download 是否勾选 Reset and Run。
MDK 仿真调试与真实运行有何差别?
仿真时 CPU 指令级精确,但读不到真实外设(UART 引脚、ADC 电压等),波形需用示波器/逻辑分析仪看。
快速跳转到函数定义?
光标放在函数名上按 F12(Go to Definition),或右键菜单。