2. 开发环境搭建:Keil/STM32CubeIDE安装与配置、ESP-IDF/Arduino IDE环境搭建、串口驱动安装与验证
做嵌入式开发,第一道坎就是搭环境。我见过太多学员卡在这一步,工具链没配好,连个LED都点不亮,信心直接崩了。这一章咱们就把这事彻底搞定。
说白了,开发环境就是你的武器库。选对工具,后面写代码、调bug才能顺手。咱们这门课涉及STM32和ESP32两个平台,所以Keil、STM32CubeIDE、ESP-IDF、Arduino IDE都得安排上。别怕,我一个一个带你过。
2.1 Keil MDK 安装与配置
Keil MDK是ARM内核MCU的老牌工具。我个人习惯用它做STM32开发,编译快,调试稳。不过要注意,Keil现在只支持ARM内核,老51项目得用C51版本。
安装步骤
- 下载安装包:去ARM官网或Keil官网下载MDK-Arm最新版(目前是5.38)。
- 运行安装程序:一路Next,路径别带中文。我建议装到
C:\Keil_v5,省心。 - 安装器件包:打开Keil,点
Pack Installer,找到STM32F1系列(咱们课程用STM32F103C8T6),点击Install。 - 注册许可证:免费版有32KB代码限制,做小项目够用。想解锁全部功能,得买License。
Project → Manage → Run-Time Environment 看一眼。很多新手不知道这里可以一键添加CMSIS、RTX等组件,省去手动移植的麻烦。
验证安装
新建一个空工程,选STM32F103C8,写个简单的main函数,编译通过就算成了。
// test.c - 验证Keil环境
#include "stm32f10x.h"
int main(void)
{
// 开启GPIOB时钟
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
// 配置PB0为推挽输出
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
while(1)
{
GPIO_SetBits(GPIOB, GPIO_Pin_0); // 点亮LED
// 延时函数省略...
}
}
2.2 STM32CubeIDE 安装与配置
STM32CubeIDE是ST官方基于Eclipse打造的免费IDE。它集成了CubeMX的图形化配置功能,说白了就是画个引脚图,代码自动生成。我最近几年做原型验证,越来越喜欢用它。
安装步骤
- 下载:去ST官网搜STM32CubeIDE,选对应操作系统版本。
- 安装:解压后运行安装程序。注意,它会自动安装Java运行环境,别中断。
- 首次启动:选择工作空间路径(workspace),我建议单独建个文件夹,别跟项目混一起。
- 安装固件包:新建STM32工程时,IDE会自动提示下载对应系列固件包。咱们用F1系列,大概200MB左右。
Visual C++ Redistributable for Visual Studio 2015-2022 就能解决。
与CubeMX的关系
CubeIDE内置了CubeMX功能。你可以在IDE里直接配置时钟树、外设引脚、中间件,然后一键生成初始化代码。不需要单独开CubeMX。
| 功能 | Keil MDK | STM32CubeIDE |
|---|---|---|
| 编译器 | ARMCC(v5/v6) | GCC ARM Embedded |
| 图形化配置 | 需配合CubeMX | 内置CubeMX |
| 调试器 | ULINK/J-Link/ST-Link | ST-Link(原生支持) |
| 代码大小限制 | 免费版32KB | 无限制 |
| 跨平台 | 仅Windows | Windows/Linux/macOS |
2.3 ESP-IDF 环境搭建
ESP-IDF是乐鑫官方的物联网开发框架。说实话,第一次配IDF环境确实有点劝退——命令行操作,依赖多,下载慢。但配好之后,你会发现它真的很强大。
安装方式选择
有两种主流方式:
- 离线安装器(推荐):乐鑫提供了Windows下的离线安装包,一键装好Python、Git、工具链和IDF本身。适合新手。
- 手动安装:用pip和git拉取。适合Linux/macOS用户,或者想自己控制版本的开发者。
离线安装步骤(Windows)
- 去乐鑫官网下载
ESP-IDF Tools Installer。 - 运行安装器,选
Use an existing ESP-IDF directory或Download ESP-IDF。我建议选后者,省事。 - 安装器会自动下载ESP-IDF v5.x(咱们用v5.1.2),以及配套的Python虚拟环境。
- 安装完成后,桌面会出现
ESP-IDF 5.1 CMD快捷方式。双击打开,输入idf.py --version验证。
# 验证ESP-IDF环境
C:\Users\YourName> idf.py --version
ESP-IDF v5.1.2
# 创建一个示例工程
C:\Users\YourName> idf.py create-project my_project
C:\Users\YourName> cd my_project
C:\Users\YourName\my_project> idf.py set-target esp32
C:\Users\YourName\my_project> idf.py menuconfig # 配置项目
C:\Users\YourName\my_project> idf.py build # 编译
git clone --depth=1 只拉最新版本,省流量也省时间。
2.4 Arduino IDE 环境搭建
Arduino IDE适合快速验证想法。虽然它隐藏了很多底层细节,但做原型开发时效率极高。咱们课程后面会用Arduino IDE演示一些快速原型案例。
安装步骤
- 去arduino.cc下载Arduino IDE 2.x(新版本有代码补全和串口监视器增强)。
- 安装后,打开
文件 → 首选项,在附加开发板管理器网址里填入ESP32的JSON链接:https://espressif.github.io/arduino-esp32/package_esp32_index.json - 打开
工具 → 开发板 → 开发板管理器,搜索esp32,安装esp32 by Espressif Systems。 - 安装完成后,在
工具 → 开发板里就能看到ESP32系列了。
验证安装
选 ESP32 Dev Module,写个Blink例程,编译下载到板子上。
// Arduino Blink 验证
void setup() {
pinMode(2, OUTPUT); // ESP32开发板上的LED通常接GPIO2
}
void loop() {
digitalWrite(2, HIGH);
delay(1000);
digitalWrite(2, LOW);
delay(1000);
}
2.5 串口驱动安装与验证
串口是嵌入式开发者的生命线。调试信息、AT指令、固件下载,全得靠它。咱们用的STM32最小系统板通常带CH340或CP2102芯片,ESP32开发板一般用CP2102。
驱动安装
| 芯片型号 | 驱动名称 | 下载方式 |
|---|---|---|
| CH340 | CH340/CH341驱动 | 搜索"CH340驱动",从沁恒官网下载 |
| CP2102 | CP210x USB to UART Bridge | 从Silicon Labs官网下载 |
| FT232 | FTDI VCP驱动 | 从FTDI官网下载 |
验证串口通信
驱动装好后,插上开发板,打开设备管理器,在 端口(COM和LPT) 下应该能看到对应的COM口。然后打开串口助手(比如Putty、SSCOM或Arduino IDE自带的串口监视器),设置波特率115200,8N1,就能收发数据了。
// 串口验证代码(Arduino)
void setup() {
Serial.begin(115200); // 初始化串口,波特率115200
Serial.println("Hello from ESP32!");
}
void loop() {
if (Serial.available()) {
char c = Serial.read();
Serial.print("Received: ");
Serial.println(c);
}
}
打开串口监视器,如果看到 Hello from ESP32!,说明串口驱动和硬件都正常。嗯,到这里,你的开发环境就全部就绪了。
- ☐ Keil MDK 能编译STM32空工程
- ☐ STM32CubeIDE 能创建并编译工程
- ☐ ESP-IDF 命令行能执行
idf.py build - ☐ Arduino IDE 能编译ESP32 Blink例程
- ☐ 串口驱动安装成功,设备管理器显示COM口
- ☐ 串口助手能收发数据