1. 项目概述
在嵌入式开发领域,"Hello World + Blinky"堪称工程师的"成人礼"。这个看似简单的例程,实际上包含了嵌入式系统开发最核心的两个环节:编译与烧录。当LED灯按照预设频率开始闪烁,同时串口输出"Hello World"时,意味着你的开发环境搭建正确,工具链配置无误,硬件连接正常——这是每个嵌入式开发者必须跨越的第一道门槛。
我依然记得十年前第一次成功点亮STM32开发板时的场景:那个绿色LED的规律闪烁,比任何华丽的灯光秀都更令人振奋。本文将基于Keil MDK和ST-Link调试器,手把手带你完成这个标志性的入门实验,并深入剖析每个步骤背后的技术原理。
2. 开发环境准备
2.1 工具链选型
对于ARM Cortex-M系列单片机,工具链的选择直接影响开发效率。经过多年实践验证,我推荐以下组合:
- IDE:Keil MDK(Microcontroller Development Kit)
- 优势:官方认证工具、完善的芯片支持包、直观的调试界面
- 注意:社区版有32KB代码限制,但足够学习使用
- 编译器:ARMCC(Keil内置)或ARM Clang(AC6)
- ARMCC:稳定性高,兼容性好
- ARM Clang:支持C++14,代码优化效率更高
- 调试器:ST-Link V2
- 成本低廉(约¥30)
- 支持SWD接口,占用IO少
- 兼容ST全系MCU
实测数据:使用ARMCC编译STM32F103的Blinky例程,编译时间约2.3秒;相同工程改用AC6编译耗时1.8秒,生成代码体积减少约8%。
2.2 工程创建步骤
-
安装芯片支持包:
- 打开Keil → Pack Installer
- 搜索"STM32F1"安装DFP(Device Family Pack)
- 这是最常被忽略的步骤,缺少DFP会导致无法选择芯片型号
-
新建工程:
bash复制
Project → New μVision Project → 选择STM32F103C8Tx -
运行时环境配置:
- 勾选"CMSIS → Core"
- 勾选"Dev
