第二章 开发环境搭建: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 就行。安装路径我建议别带中文,否则后面编译容易出些莫名其妙的错误。

注意: 安装路径不要有中文或空格!我曾经有个学员,装在了「D:\软件\Keil_v5」里,结果编译时总报找不到头文件,折腾了两小时才发现是路径里的中文惹的祸。

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 的包。下载速度可能有点慢,我建议挂个代理,或者晚上下载。

注意: 固件包很大,动辄几百 MB。确保你的硬盘有足够空间。我一般会把固件包放在 D 盘,不占 C 盘空间。

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 打开工程,就能直接编译下载了。

个人经验: 生成代码时,我习惯勾选「Generate peripheral initialization as a pair of .c/.h files per peripheral」。这样每个外设的初始化代码是独立的,后期维护起来特别清晰。

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 口。

避坑指南: 我曾经遇到过,驱动装好了,但设备管理器里显示黄色感叹号。后来发现是 USB 线的问题——有些劣质 USB 线只能充电,不能传数据。换一根好点的线就好了。

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 连接开发板

连接步骤很简单:

  1. 用 USB 线把开发板连到电脑上。
  2. 如果板子有电源指示灯,应该会亮。
  3. 打开设备管理器,确认串口驱动已识别。
  4. 打开 Keil,配置好调试器(ST-Link 或 J-Link)。
  5. 点 Download,烧录一个点灯程序,验证连接是否正常。
个人习惯: 我每次拿到新板子,第一件事就是烧一个 LED 闪烁的程序。灯亮了,说明板子、下载器、软件环境全部通了。这是最直接的「冒烟测试」。

2.4.3 常见连接问题

连接不上?别慌,先检查这几样:

  • 驱动装了吗? 设备管理器里有没有 COM 口?
  • 线对吗? 数据线还是充电线?
  • BOOT0 跳线帽? 如果 BOOT0 接高电平,芯片会进入系统存储器模式,不会运行你的程序。
  • 调试器接线? SWD 只需要四根线:VCC、GND、SWDIO、SWCLK。别接反了。
重要提醒: 千万不要在开发板通电的情况下,去插拔杜邦线!我有一块板子就是这么烧掉的。先断电,再接线,这是铁律。

好了,环境搭建就到这里。你把这些工具装好、配置好,后面写代码、调试就顺畅多了。下一章,咱们开始写第一个程序——点灯。别小看点灯,它背后藏着整个嵌入式开发的流程。