相关软件安装
086.0.2相关软件安装
一、串口驱动
课程开发板使用 CH340C 把 USB 转换为 TTL 串口,因此 Windows 需要能识别 CH340 的驱动。连接开发板的串口 USB 后,打开“设备管理器→端口(COM 和 LPT)”,若看到类似 USB-SERIAL CH340 (COMx) 且没有黄色感叹号,驱动已正常工作。
若没有端口,依次检查:数据线是否具备数据功能、是否插在带 CH340C 的串口接口、设备管理器是否出现未知设备、驱动是否安装成功。COM 编号由系统分配,串口助手里必须选择同一个编号。
ST-Link 驱动与 CH340 驱动不是同一个驱动:CH340 服务于 UART 通信和串口下载,ST-Link 服务于 SWD/JTAG 下载与调试。
二、串口助手
串口助手用于收发 UART 数据,课程中的温湿度回传、蓝牙字节测试和日志观察都可以用它完成。配置时至少要一致设置端口号、波特率、数据位、停止位和校验位;常见 8-N-1 表示 8 个数据位、无校验、1 个停止位。
文本发送与 HEX 发送含义不同。例如文本 1 的字节值是 ASCII 0x31,HEX 模式输入 01 才是数值 0x01。接收乱码通常先检查波特率和系统时钟,无法打开端口则检查它是否已被另一款串口软件占用。
课程使用的核心工具为 STM32CubeMX、Keil MDK 和 STM32CubeIDE:
- STM32CubeMX:图形化配置芯片、引脚、时钟和外设,并生成初始化代码。
- Keil MDK/µVision:编辑、编译、链接、下载和调试 Arm Cortex-M 工程。
- STM32CubeIDE:集成配置、编辑、GNU 编译工具链、下载和调试。
三、Keil5
Keil 是品牌和工具集合,µVision 是常见桌面 IDE。51 工程使用 C51 工具链,STM32 Cortex-M 工程使用 MDK-Arm 工具链;不能只根据“Keil 4/Keil 5”判断工程能否编译。安装时应分别确认目标工具链、芯片支持包和许可证是否有效。
学习、个人及非商业项目可按 Arm 官方流程使用 Keil MDK Community Edition。商业项目应选择匹配的合法许可证。不要使用破解程序,也不要为了运行未知工具关闭杀毒软件或 Windows 实时保护。
3.1 不兼容的解决方案
若 51 和 STM32 工程互相影响,可按以下顺序处理:
- 先查看构建日志,确认 51 工程调用的是 C51,STM32 工程调用的是 Arm Compiler。
- 为不同工具链使用独立安装目录,不覆盖已有编译器组件。
- 在 µVision 的 Pack Installer 中安装目标 STM32 系列的 Device Family Pack。
- 检查工程选定的芯片型号、编译器版本和 Include 路径。
- 必须保留旧环境时,可使用不同的快捷方式、虚拟机或已记录版本的开发环境,避免反复卸载。
老工程可能依赖 Arm Compiler 5,新工程可能使用 Arm Compiler 6。若出现语法、汇编或链接差异,应在工程 Target 设置中选择它原本使用的工具链,或按编译器迁移指南逐项处理,而不是把编译失败简单归因于 IDE 主版本。
四、CubeMX和CubeIDE
从 ST 官方页面下载 STM32CubeMX 和 STM32CubeIDE,优先使用当前受支持的 64 位版本。STM32CubeMX 负责配置与生成代码;STM32CubeIDE 内置相应的设备配置能力,并提供完整的编辑、编译和调试环境。
4.1 安装CubeMX和CubeIDE过程中存在的问题
4.1.1 安装前
较早版本的 STM32CubeMX 需要单独安装兼容的 Java/JRE;从 STM32CubeMX 6.2.0 起,安装包已内置运行所需的 JRE,因此当前版本通常不需要另装 Java。只有复现课程中的旧版本时,才按该版本手册安装指定的 64 位 JRE,并用 java -version 查看环境。
安装前应确认:
- 操作系统和架构满足安装指南,磁盘有足够空间。
- 安装包已完整解压,不在压缩包内直接运行。
- 工程和软件路径尽量使用英文、数字、下划线,避免老工具链无法处理中文或过长路径。
- 需要与课程工程完全一致时,先记录 STM32CubeF1 固件包版本,而不是盲目升级工程。
4.1.2 安装中
Windows 用户可选择仅为当前用户或为所有用户安装;后者通常需要管理员权限。若安装器报 launcher、临时目录或路径错误,可把安装包移动到简短英文目录,并将 TEMP、TMP 指向确实存在且可写的英文目录。修改环境变量后重新登录,再运行安装器。
不要把“Windows 用户名必须为英文”当成所有版本的绝对条件。真正需要避免的是安装器、Java、构建工具或工程插件无法正确处理某段中文路径;优先调整临时目录、安装目录和工作区目录,必要时再建立专用英文用户名。
4.1.3 安装后
启动后先设置一个英文工作区,例如 D:\stm32_workspace。软件主体可以离线运行;下载固件包、更新或访问部分在线资源时可能需要联网及 ST 账号,也可从本地安装已下载的固件包。
在 STM32CubeMX 中通过 Help→Manage embedded software packages 检查 STM32CubeF1 包。课程曾使用 1.8.x 系列;打开既有 .ioc 时,以工程记录的版本为准。若软件询问是否迁移到更新包,应先备份或提交版本控制,迁移后比较生成代码,避免中间件和 HAL API 变化。
安装完成后的最小验证流程是:选择 STM32F103ZETx、启用 SYS→Debug→Serial Wire、把 HSE 配为外部晶体、配置 72 MHz 时钟、生成空工程并编译。能够生成且显示 0 error,才说明 IDE、固件包和编译器链路基本正常。