3、开发环境搭建:Keil/IAR/ESP-IDF环境配置、调试器(J-Link/ST-Link)驱动安装、串口工具使用
好,咱们直接进入正题。做嵌入式气象站,第一步不是焊板子,也不是写代码,而是把吃饭的家伙——开发环境——给伺候好了。我见过太多新手,代码写得挺溜,结果卡在环境配置上,一卡就是半天。说白了,工具链不顺手,后面全是坑。
3.1 Keil MDK 环境配置
Keil 这东西,做 ARM 开发的老工程师基本都用过。我个人习惯用它来调试 STM32 系列,因为它的调试器集成度确实高。
安装步骤其实不复杂:
- 去官网下个 MDK-ARM 最新版,注意选对版本,别下成 C51 了。
- 安装路径不要带中文,不要有空格。我吃过这个亏,项目路径带了个“项目”俩字,编译报错找了半天。
- 装完后,记得装对应芯片的 Pack 包。比如咱们气象站用 STM32F103,就去 Keil 的 Pack Installer 里搜 STM32F1xx_DFP。
配置工程时,有几点要注意:
- 晶振频率要设对。气象站常用 8MHz 外部晶振,别默认用内部 RC 振荡器,那玩意儿温漂大,影响 RTC 精度。
- Debug 选项卡里,选 ST-Link 或 J-Link,然后点 Settings,确认 SWD 模式能识别到设备 ID。
- Flash Download 里,记得勾选 Reset and Run。不然每次下载完程序,还得手动按复位键。
3.2 IAR Embedded Workbench 配置
IAR 的编译器优化做得确实好,代码密度比 Keil 能小 10%-15%。如果你做气象站的低功耗版本,我建议试试 IAR。
配置要点:
- 安装时选对架构,ARM 就选 ARM 版本,别选 AVR 或 MSP430 的。
- 新建工程时,选芯片型号。IAR 的芯片支持包是自动更新的,但网络不好的话,建议手动下载离线包。
- Options -> C/C++ Compiler -> Optimizations,我一般选 High,Balanced。选 Size 优化有时会出奇怪的问题。
嗯,这里要注意:IAR 的工程文件是 .ewp 和 .eww,别和 Keil 的 .uvprojx 搞混了。我刚开始用 IAR 时,老想着双击 .uvprojx 打开,结果发现根本打不开。
3.3 ESP-IDF 环境搭建
如果你用乐鑫的 ESP32 做气象站的无线传输模块,那 ESP-IDF 是绕不开的。这东西比 Arduino 复杂,但灵活性和性能强太多了。
安装流程:
- 建议用 v4.4 或 v5.0 的 LTS 版本。别追新,新版本有时会有兼容性问题。
- Windows 下用 ESP-IDF 的离线安装包,一键装完。Linux 下就 git clone 然后跑 install.sh。
- 装完后,打开 ESP-IDF Command Prompt,运行 idf.py set-target esp32。
🔧 核心命令速查:
idf.py set-target esp32 # 设置目标芯片
idf.py menuconfig # 配置项目参数
idf.py build # 编译
idf.py -p COM3 flash # 烧录
idf.py -p COM3 monitor # 串口监视
为什么推荐用命令行?因为图形化的 Eclipse 插件我试过,经常卡死。命令行虽然看着原始,但稳定。你想想看,气象站要连续运行几个月,开发环境不稳定怎么行?
3.4 调试器驱动安装:J-Link 与 ST-Link
调试器是嵌入式开发的“听诊器”。没有它,代码跑飞了你都不知道。
J-Link 驱动安装:
- 去 Segger 官网下载 J-Link Software and Documentation Pack。
- 安装时选“Install USB Driver”,这个步骤不能省。
- 装完后,插上 J-Link,设备管理器里应该能看到“J-Link”设备。
- 如果显示黄色感叹号,手动更新驱动,路径选安装目录下的 USBDriver 文件夹。
ST-Link 驱动安装:
- ST-Link 的驱动集成在 STM32CubeProgrammer 里。我建议直接装这个工具,顺便还能用它的烧录功能。
- 装完后,插上 ST-Link V2,系统会自动识别。如果没反应,去设备管理器里手动装一下。
- 注意:ST-Link 有 V2 和 V3 版本,驱动不通用。V3 需要单独装。
3.5 串口工具使用
气象站的数据最终要通过串口打印出来。串口工具就是你的“眼睛”。
常用工具对比:
| 工具名称 | 优点 | 缺点 | 推荐场景 |
|---|---|---|---|
| PuTTY | 轻量、稳定 | 界面简陋 | 快速调试 |
| SecureCRT | 支持脚本、日志 | 收费 | 长时间数据记录 |
| SSCOM | 国产、免费、功能全 | 偶尔报毒 | 日常开发 |
| MobaXterm | 多标签、支持串口+SSH | 启动慢 | 综合开发 |
串口配置要点:
- 波特率:气象站常用 115200 或 9600。注意,ESP32 的默认波特率是 115200,STM32 的 HAL 库例程常用 115200。
- 数据位:8 位,无校验,1 位停止位。这是标准配置,别乱改。
- 流控:关掉 RTS/CTS。气象站一般不用硬件流控。
最后说一句:串口线也有讲究。有些便宜的 USB 转串口线,用的 CH340 芯片,在 Win10 下需要手动装驱动。CP2102 的兼容性就好很多。我个人推荐用 FT232 芯片的线,虽然贵点,但从来没出过问题。
好了,环境搭好了,调试器能连上了,串口也能打印了。下一章咱们就开始写气象站的底层驱动。记住,工欲善其事,必先利其器。环境搞不定,后面全是白费功夫。