第二章 开发环境搭建:Keil MDK的安装与配置、STM32CubeMX的安装与使用、串口驱动安装、开发板介绍与连接
好,咱们正式开始动手了。
这一章,说白了就是「把家伙事儿备齐」。我见过太多初学者,兴致勃勃买了开发板,结果卡在装软件这一步,一卡就是半天。嗯,别急,咱们一步步来,我带你把这些工具捋顺了。
2.1 Keil MDK 的安装与配置
Keil MDK,全称是 Microcontroller Development Kit。它是 ARM 公司官方的 IDE,专门用来写 STM32 这类 ARM 内核芯片的代码。我个人习惯用 Keil 5,稳定,插件也多。
2.1.1 下载与安装
去 Keil 官网下载 MDK-ARM 版本。注意别下成 C51 了,那是给 51 单片机用的。下载后双击安装包,一路 Next 就行。安装路径我建议别带中文,否则后面编译容易出些莫名其妙的错误。
2.1.2 注册与激活
安装完后,打开 Keil,点 File -> License Management。你会看到一个 CID 码。把这个 CID 复制出来,用注册机生成激活码。嗯,这一步很多新手会卡住——注册机要以管理员身份运行,否则生成的码是无效的。
2.1.3 配置编译器与调试器
激活后,咱们得配置一下。点 Project -> Options for Target,在 Device 标签页里选好你的芯片型号。比如我常用 STM32F103C8T6,就在 STMicroelectronics 目录下找。
然后在 Debug 标签页里,选调试器。如果你用 J-Link,就选 J-LINK/J-TRACE;用 ST-Link 就选 ST-Link Debugger。记得点 Settings,把 SWD 模式勾上,速度选 1MHz 左右,太高速容易不稳定。
- Device:选对芯片型号
- Debug:选对调试器(J-Link / ST-Link)
- Utilities:勾选「Use Debug Driver」
- C/C++:添加必要的头文件路径
2.2 STM32CubeMX 的安装与使用
STM32CubeMX 是 ST 官方出的图形化配置工具。你想想看,以前配个时钟、配个 GPIO,得翻几百页数据手册,现在用这个工具,点几下鼠标就搞定了。我刚开始做项目时,全靠手写寄存器,后来用了 CubeMX,效率至少翻了三倍。
2.2.1 安装步骤
去 ST 官网下载 STM32CubeMX,需要注册一个账号。安装过程很简单,一路 Next。安装完后,第一次打开会提示你安装固件包。比如你要用 STM32F1 系列,就下载 STM32CubeF1 的包。下载速度可能有点慢,我建议挂个代理,或者晚上下载。
2.2.2 快速上手:创建一个工程
打开 CubeMX,点 New Project。在 Board Selector 里,可以直接搜你的开发板型号。比如我用的是 STM32F103C8T6 最小系统板,就在 MCU Selector 里搜。
选好芯片后,进入配置界面。这里我重点说几个常用配置:
- RCC: 选 HSE(外部晶振),一般开发板是 8MHz 晶振。
- SYS: Debug 选 Serial Wire,否则下载一次程序后,下次就连接不上了。
- Clock Configuration: 把 HCLK 调到 72MHz(F103 的最高主频)。
- GPIO: 比如你要点灯,就选一个引脚,设为 Output。
配置完后,点 Project -> Generate Code。选 MDK-ARM V5 作为工具链。生成后,用 Keil 打开工程,就能直接编译下载了。
2.3 串口驱动安装
串口,是嵌入式开发中最常用的调试手段。说白了,就是通过一根 USB 线,让电脑和开发板「聊天」。我调试程序时,90% 的问题都是靠串口打印日志定位的。
2.3.1 识别串口芯片
不同的开发板,用的 USB 转串口芯片不一样。常见的有:
| 芯片型号 | 常见于 | 驱动名称 |
|---|---|---|
| CH340 | 国产最小系统板 | CH340 驱动 |
| CP2102 | 正点原子、野火 | CP210x 驱动 |
| FT232 | 高端开发板 | FTDI 驱动 |
| STM32 自带 | Nucleo 系列 | ST-Link 虚拟串口 |
怎么看你的开发板用的是什么芯片?很简单,看板子上 USB 口附近那个小芯片的丝印。比如写着 CH340G,那就是 CH340。
2.3.2 安装驱动
去对应芯片厂商的官网下载驱动。比如 CH340,去南京沁恒的官网下载。安装后,把开发板插上电脑,打开设备管理器,看看「端口 (COM 和 LPT)」下面有没有出现新的 COM 口。
2.3.3 验证串口通信
驱动装好后,用串口助手测试一下。推荐用 SSCOM 或者 Putty。设置波特率 115200,数据位 8,停止位 1,无校验。如果开发板有出厂程序,一般会通过串口打印信息。你打开串口助手,按下开发板的复位键,应该能看到字符输出。
- 波特率:115200(常用)
- 数据位:8
- 停止位:1
- 校验:无
- 流控:无
2.4 开发板介绍与连接
咱们这门课,用的是 STM32F103C8T6 最小系统板。为什么选它?便宜、资料多、性能够用。你想想看,淘宝上十几块钱一块,烧了也不心疼。我刚开始学的时候,烧了不下五块板子,都是因为接线接反了。
2.4.1 开发板硬件资源
这块板子虽然小,但五脏俱全:
- 主控: STM32F103C8T6,72MHz,64KB Flash,20KB RAM
- LED: 板载一个 LED,接在 PC13 引脚(高电平灭,低电平亮)
- 按键: 一个复位键,一个用户按键(接在 PA0)
- USB 口: 用于供电和串口通信
- 排针: 引出所有 GPIO,方便外接传感器
2.4.2 连接开发板
连接步骤很简单:
- 用 USB 线把开发板连到电脑上。
- 如果板子有电源指示灯,应该会亮。
- 打开设备管理器,确认串口驱动已识别。
- 打开 Keil,配置好调试器(ST-Link 或 J-Link)。
- 点 Download,烧录一个点灯程序,验证连接是否正常。
2.4.3 常见连接问题
连接不上?别慌,先检查这几样:
- 驱动装了吗? 设备管理器里有没有 COM 口?
- 线对吗? 数据线还是充电线?
- BOOT0 跳线帽? 如果 BOOT0 接高电平,芯片会进入系统存储器模式,不会运行你的程序。
- 调试器接线? SWD 只需要四根线:VCC、GND、SWDIO、SWCLK。别接反了。
好了,环境搭建就到这里。你把这些工具装好、配置好,后面写代码、调试就顺畅多了。下一章,咱们开始写第一个程序——点灯。别小看点灯,它背后藏着整个嵌入式开发的流程。