ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

STM32CubeMX安装避坑:Java环境、固件包与Keil芯片包配置

STM32CubeMX安装避坑:Java环境、固件包与Keil芯片包配置 STM32CubeMX 安装这件事看起来只是点几下“下一步”但真到用的时候很多人会卡在安装包版本、Java 环境、固件包下载、Keil 芯片包配合这些细节上。我见过不少做 STM32 项目的人板子还没点亮先在 STM32CubeMX 下载和安装环节耗掉一整天。尤其是刚开始接触 STM32 的同学或者从标准库转到 HAL 库的开发者STM32CubeMX 能帮你把引脚、时钟、外设初始化代码直接生成出来省掉大量查手册、翻寄存器的时间。它适合做课程设计、毕业设计、DIY 鱼缸控制器、数字电源、温湿度报警器、逆变器方案原型也适合公司里快速验证芯片功能。安装本身不难难的是把版本、环境、固件包和后续工具链一次性理顺少走回头路。1. 装 CubeMX 之前先想清楚它到底帮你省了哪些事1.1 CubeMX 到底解决什么问题如果你只用寄存器或者早期标准库开发 STM32第一次打开 STM32CubeMX 会有一种“终于不用手动算时钟了”的感觉。它的核心价值不是写业务逻辑而是把芯片外设初始化这件事图形化。你选好芯片型号点几下引脚配置时钟树设置 GPIO、USART、SPI、I2C、TIM、ADC、DMA、NVIC它就能生成对应工具链的初始化代码。生成出来的工程可以直接导入 Keil MDK、IAR、STM32CubeIDE也可以生成 Makefile 在 Linux 下编译。对于新手来说这比对着参考手册配置 RCC、GPIOx_CRL、TIMx_PSC 要直观得多对于老手来说它更像一个快速原型工具能减少重复劳动把精力放在控制逻辑、通信协议和产品功能上。我平时做 STM32F103 的小项目基本都会先用 CubeMX 把时钟、串口、SPI DMA 和定时器捕获配好再生成 MDK-ARM 工程。比如 SPI 通过 DMA 读取芯片数据如果纯手工配置SPI 的 CPOL、CPHA、数据宽度、DMA 请求映射、NVIC 优先级都要逐个确认。CubeMX 里把 SPI 模式、DMA 通道、中断使能勾选好生成代码后再补业务层效率会高很多。它不能替你写完整项目但能把最容易出错的底层初始化部分做得比较规范。对于毕业设计、江科大 STM32 课程实践、温湿度计、呼吸灯、PWM 调光、RTC 时钟、车载以太网验证、LQR 控制算法验证这类场景前期把 CubeMX 装好后面会省很多事。1.2 安装版本和系统环境怎么选STM32CubeMX 的版本选择不能只看“最新”。新版本通常支持更多新芯片和固件包界面也可能有调整但如果你维护的是旧项目或者教程里用的是旧版本贸然升级可能会遇到工程重新生成后代码结构变化。我的建议是新项目用较新的版本旧项目保持原版本。下载前先确认系统环境Windows 10、Windows 11 的 64 位系统最省心Linux 和 macOS 也能装但桌面环境、权限和依赖处理会多一些步骤。内存建议 8GB 以上磁盘至少留出 10GB 到 20GB因为 STM32CubeMX 本身不大真正占空间的是后面下载的 STM32Cube 固件包一个系列动辄几百 MB多装几个系列很快就会上去。另外安装路径尽量用英文不要带空格和特殊符号。比如D:\ST\STM32CubeMX就比D:\单片机工具\STM32 CubeMX 最新版更省事。很多编译工具链、脚本和 Java 环境对中文路径、空格路径的处理并不一致前期图方便后期可能遇到生成失败、找不到文件、命令行编译报错。芯片型号方面如果你手头是 STM32F103C8T6 最小系统板就重点关注 STM32F1 系列如果是 F4、H7、G0、G4 等就下载对应固件包。不要一上来把所有系列全下载既占空间又拖慢首次启动。1.3 安装包从哪来、怎么核对STM32CubeMX 安装包和 STM32CubeMX 下载资源优先从 ST 官方渠道获取。安装包常见形式是 Windows 下的.exeLinux 下有.deb、.rpm或.runmacOS 下是.dmg。网上有些“绿色版”“汉化版”“一键包”我不建议用尤其是涉及编译工具链和芯片配置的工具来源不明的安装包可能缺文件、改环境变量甚至带不需要的附加内容。官方安装包下载后最好核对一下文件大小和哈希值。Windows 下可以用certutil计算 SHA256再和官方页面提供的信息对照。certutil -hashfile SetupSTM32CubeMX-6.x.x.exe SHA256如果官方没有提供哈希至少确认文件大小合理、数字签名正常。右键安装包看属性数字签名如果是 STMicroelectronics 相关签名可信度会高一些。安装包不要放在临时目录建议放到D:\Downloads\STM32这类固定位置后面重装或给同事拷贝都方便。还有一点STM32CubeMX 安装和固件包下载是两件事。安装包只装软件本体固件包是芯片外设库和中间件可以在软件里在线下载也可以提前下载离线包再导入。把这两件事分开看后面排查问题会清晰很多。2. 安装前准备Java、权限、路径和账号2.1 Java 运行环境先判断STM32CubeMX 是基于 Java 的桌面工具所以 Java 运行环境很关键。不同版本对 Java 的要求不完全一样有的版本自带 JRE有的版本需要你系统里已有 Java 8 或 Java 11。最稳妥的办法是先打开命令行输入java -version看看当前版本。如果提示“不是内部或外部命令”说明系统没有配置 Java或者 Java 没装好。这个时候不要随便下载一个“Java 合集包”优先用 OpenJDK 发行版比如 Eclipse Temurin安装后把JAVA_HOME指到安装目录再把%JAVA_HOME%\bin加到Path里。java -version echo %JAVA_HOME%有些朋友安装 CubeMX 后启动报“No Java virtual machine found”或者“Java 版本不兼容”本质就是 Java 没装、版本不对、环境变量没生效。改完环境变量后最好重新打开命令行再启动 CubeMX。如果你不想折腾系统 Java也可以看看所用 CubeMX 版本是否自带 JRE安装时留意安装向导里的选项。我的习惯是系统里保留一个 Java 8 和一个 Java 11遇到旧工具切旧版本遇到新工具用新版本。注意不要同时把多个 Java 的bin目录混在Path前面否则java -version显示的和实际调用的可能不是同一个。2.2 目录、权限和杀软拦截Windows 下安装时建议右键安装包选择“以管理员身份运行”。不是每次都必须但能避免安装到Program Files时权限不足、快捷方式创建失败、驱动安装被拦。安装目录我一般固定在D:\ST\STM32CubeMX固件包仓库放在D:\ST\STM32Cube\Repository。这样软件和库分开备份、迁移、清理都方便。安装前还要看杀毒软件和系统安全中心有没有拦截。有些 Java 程序启动时会释放临时文件安全软件可能误判导致启动慢或者直接失败。如果确认安装包来源可靠可以把安装目录加入信任区减少不必要的拦截。另外Windows 用户名如果带中文某些临时目录路径也会带中文。虽然大多数情况下不影响但少数 Java 工具、脚本和编译插件对非 ASCII 路径处理不好。遇到奇怪报错时可以试试把固件仓库和工程目录放到纯英文路径下比如D:\Work\STM32Projects。这不是玄学很多构建工具在调用命令行时对空格和中文的转义处理不一致。安装完成后先别急着建复杂工程用最短路径跑一个 LED 闪烁验证确认软件、Java、固件包、编译工具链这条链路是通的。2.3 ST 账号、固件包和离线安装STM32CubeMX 软件本体可以下载安装但固件包通常需要在线获取。部分资源下载时会要求登录 ST 账号所以提前注册并确认邮箱可用会省掉中途卡住的情况。安装完成后打开 CubeMX进入Help菜单里的Manage embedded software packages可以看到各个系列的固件包。你需要哪个系列就下载哪个比如 STM32F1、STM32F4、STM32G0。下载速度受网络环境影响如果当前网络不理想可以换时间段或者在其他网络环境好的机器上下载离线包再拷贝到本机导入。离线包一般是以.pack或压缩包形式存在导入时在包管理界面选择From Local指向离线文件即可。这样做的好处是一台机器下载多台机器共用重装系统后不用重新下载团队里版本统一避免有人用 F1 包 1.8.0有人用 1.8.5生成代码出现细微差异。固件包不是越多越好按项目需要装。比如你做 STM32F103 SPI DMA 读取芯片数据就装 STM32F1 包做 STM32 温湿度模块可能还会用到 I2C 和串口但依然在 F1 包范围内。只有当你切换芯片系列时才需要补对应固件包。3. Windows 平台安装全流程拆解3.1 下载与校验安装包先从官方渠道找到 STM32CubeMX 下载页面选择 Windows 版本。下载下来的文件名通常类似SetupSTM32CubeMX-6.x.x.exe。下载完成后不要急着双击先看文件大小和数字签名。如果文件只有几十 KB那多半是下载页面或者错误链接不是真正安装包。确认无误后再右键以管理员身份运行。安装向导启动时如果系统缺少 Java可能会先提示安装 Java或者直接进入安装界面但启动阶段报错。遇到这种情况先回到第 2 章把 Java 处理好不要反复点安装程序。我习惯在安装前建一个工具目录比如D:\ST里面再分STM32CubeMX和STM32Cube\Repository。安装向导里如果允许选择路径就指到D:\ST\STM32CubeMX。如果安装程序没有让选路径而是默认装到用户目录也可以在首次启动后修改固件仓库位置。安装过程中如果弹出 Windows 安全提示确认发布者是 ST 相关签名后再允许。安装完成后不要马上删除安装包保留在D:\Downloads\STM32里后面换电脑或者帮别人装直接复用。3.2 安装向导逐项设置安装向导的步骤通常包括欢迎界面、许可协议、安装路径、开始菜单文件夹、快捷方式、确认安装。许可协议需要接受安装路径按前面说的选英文目录开始菜单名称保持默认即可快捷方式建议勾选桌面和开始菜单方便后续启动。点击安装后进度条会释放文件。这个过程可能需要几分钟如果杀毒软件弹窗选择允许。安装完成后有的版本会询问是否立即启动可以勾选也可以先不启动等你确认 Java 环境后再开。第一次启动时STM32CubeMX 可能会让你选择固件包仓库路径。这里建议设成D:\ST\STM32Cube\Repository不要用默认的用户目录因为用户目录路径可能带中文名而且重装系统容易丢。设置完成后软件会检查本地已安装的固件包。如果此时列表为空是正常的因为还没下载。接下来进入包管理选择你需要的系列比如 STM32F1点击安装。下载和安装固件包期间不要强制关闭软件等进度完成。装完后列表里会显示版本号创建工程时就能选到对应芯片。3.3 首次启动与固件包下载首次启动 CubeMX界面可能提示登录 ST 账号也可能直接进入主界面。不同版本策略不同遇到登录提示就按提示操作没有账号就注册一个。进入主界面后先别急着New Project先去Help-Manage embedded software packages检查固件包。以 STM32F103 为例找到 STM32F1 系列选择适合的版本点击Install。如果在线下载慢就暂停去能快速下载的环境获取离线包再通过From Local导入。固件包安装完成后可以回到主界面点击New Project在芯片选择器里输入STM32F103C8如果能搜到并进入配置界面说明安装链路已经打通。这里有个细节固件包版本和 CubeMX 版本之间有时存在兼容关系。新版本 CubeMX 通常能管理旧固件包但极旧版本 CubeMX 不一定认识新固件包。如果你跟着教程做教程里用的 CubeMX 是 6.5固件包是 F1 1.8.4你装的是 6.10 和 F1 1.8.6大部分配置逻辑一样但生成代码的 HAL 版本会有差异。遇到编译报错时先看是不是固件包版本不同。团队协作时最好把 CubeMX 版本和固件包版本写进项目说明避免每个人环境不一致。3.4 创建第一个呼吸灯工程验证安装和固件包都好了之后用一个小工程验证最直接。打开 CubeMXNew Project搜索STM32F103C8T6选中芯片开始配置。先配SYS里的Debug为Serial Wire这样 SWD 下载和调试可用同时释放部分 JTAG 引脚。再配RCC里的高速时钟HSE为Crystal/Ceramic Resonator因为常见最小系统板外部有 8MHz 晶振。然后进入Clock Configuration把 PLL 倍频到 72MHzAPB1 设为 36MHzAPB2 设为 72MHz。接着把PA5设为GPIO_Output作为 LED 引脚。工程管理里选择MDK-ARM版本选你安装的 Keil 版本生成代码。生成后打开 Keil 工程在main.c的while (1)里加入翻转代码while (1) { HAL_GPIO_TogglePin(GPIOA, GPIO_PIN_5); HAL_Delay(500); }编译下载如果 LED 每 500ms 闪一次说明 CubeMX 安装、固件包、Keil 芯片包、下载器配置都通了。如果想做呼吸灯不要用HAL_Delay翻转改用 PWM。配置一个定时器通道比如TIM1 CH1设置预分频和自动重装载值生成后用HAL_TIM_PWM_Start启动再动态改比较值HAL_TIM_PWM_Start(htim1, TIM_CHANNEL_1); __HAL_TIM_SET_COMPARE(htim1, TIM_CHANNEL_1, 500);这个验证工程虽然简单但它能把安装后最容易出问题的几个点一次性跑通芯片搜索、时钟配置、GPIO、代码生成、Keil 编译、下载调试。很多人跳过这一步直接上复杂项目结果出了问题很难判断是安装问题还是业务代码问题。4. 其他平台与常见安装问题排查4.1 Linux 和 macOS 安装要点Linux 下安装 STM32CubeMX常见包格式有.deb、.rpm和.run。Debian/Ubuntu 系可以用sudo dpkg -i或sudo apt install ./xxx.debFedora 系用rpm。如果使用.run先chmod x赋予执行权限再运行安装脚本。Linux 下要特别注意 Java 环境和桌面权限有些发行版默认没有完整桌面图标支持需要手动创建快捷方式。安装路径同样建议放到/opt/ST/STM32CubeMX或用户目录下固件仓库放到~/ST/STM32Cube/Repository。如果启动时报缺少库根据提示安装对应依赖即可。macOS 下下载.dmg拖入应用程序目录。首次打开可能被系统安全策略拦截需要在“系统设置”里允许来自已识别开发者的应用。macOS 的路径一般不会有中文问题但 Apple Silicon 和 Intel 芯片在 Java 环境上可能有差异优先选择支持当前架构的 JDK。无论 Linux 还是 macOS安装完成后都用一个小工程验证代码生成。跨平台使用时工程文件里的路径分隔符、工具链路径可能不同团队协作最好统一生成工具链或者用 Makefile 和 CMake 做一层封装。4.2 启动失败、Java 报错、固件包缺失STM32CubeMX 安装后启动失败常见原因集中在 Java、权限、路径和固件包。下面这张表可以当速查用。现象可能原因处理思路双击没反应Java 未安装或版本不对命令行检查java -version安装 Java 8/11 并配置JAVA_HOME提示 No Java virtual machine系统找不到 JRE安装 JDK/JRE或使用自带 JRE 的安装包启动卡在加载界面安全软件拦截、临时目录异常加入信任区清理临时目录换英文路径固件包列表为空未下载或仓库路径错误检查 Repository 路径联网下载或离线导入创建工程搜不到芯片对应系列固件包未装在包管理中安装对应系列如 STM32F1生成代码失败路径含中文、权限不足工程和仓库改到纯英文路径以管理员运行Keil 打开后缺芯片包Keil 未装对应 Device Family Pack在 Keil 包管理器安装 STM32F1xx_DFP下载器找不到芯片Debug 配置不对、接线问题SYS 里选 Serial Wire检查 SWDIO、SWCLK、GND固件包缺失是最常见的问题之一。CubeMX 本体装好了不代表能创建任意 STM32 工程。你必须安装对应系列的固件包。比如要做 STM32F103 SPI DMA 接收数据至少要装 STM32F1 包要做 STM32G4 数字电源就要装 STM32G4 包。包管理界面里可以看到已安装版本和可安装版本如果在线下载总失败就用离线包导入。导入后如果还是不显示检查包文件是否完整仓库路径是否有写入权限。4.3 和 Keil、IAR、STM32CubeIDE 的配合CubeMX 生成工程时工具链选项很关键。用 Keil MDK 就选MDK-ARM并选择对应版本比如 Keil 5 选MDK-ARM V5。生成后Keil 需要安装对应芯片包否则打开工程会提示缺少 Device。比如 STM32F103 要装Keil.STM32F1xx_DFP。这个芯片包和 CubeMX 的固件包不是一回事CubeMX 固件包提供 HAL 库和初始化代码Keil 芯片包提供器件支持、启动文件、Flash 算法。两者都装好编译下载才顺畅。IAR 用户选EWARMSTM32CubeIDE 用户选STM32CubeIDE生成后直接打开即可。还有几个容易忽略的配置点。第一SYS里的Debug建议选Serial Wire不要选JTAG这样可以少占引脚也方便使用常见 SWD 下载器。第二如果用到PB3、PB4、PA15更要注意 JTAG 禁用问题因为默认 JTAG 会占用这些引脚。第三NVIC 优先级别乱设尤其是 SPI DMA、串口接收、定时器中断同时使用时优先级分组和抢占优先级会影响实时性。第四生成代码时如果勾选“只生成必要文件”后续改配置重新生成不会覆盖用户代码但前提是你把业务代码写在USER CODE BEGIN和USER CODE END之间。这个习惯越早养成越好。5. 安装后立即要做的配置与实战小项目5.1 时钟树、GPIO、PWM 配置要点安装完 CubeMX第一个要熟悉的就是时钟树。以 STM32F103C8T6 为例外部 8MHz 晶振进 HSE经过 PLL 倍频到 72MHz作为 SYSCLK。AHB 不分频APB1 最大 36MHzAPB2 最大 72MHz。定时器时钟还要看 APB 预分频如果 APB 预分频不为 1定时器时钟会倍频。很多人配 PWM 时算出来的频率不对就是漏了这一点。PWM 频率公式是定时器时钟 / [(Prescaler 1) * (Counter Period 1)]。假设定时器时钟 72MHzPrescaler 设为 71Counter Period 设为 999那么 PWM 频率就是 72MHz / (72 * 1000) 1kHz。占空比由Pulse决定比如Pulse 500占空比就是 50%。GPIO 配置看起来简单但也要注意模式。点灯用GPIO_Output默认输出电平可以设低或高按键输入用GPIO_Input根据电路选择上拉或下拉复用功能比如 USART、SPI、I2C、PWM 不要手动设成普通 GPIO而是在对应外设里使能后CubeMX 会自动分配引脚。生成代码后PWM 需要调用HAL_TIM_PWM_StartGPIO 写操作可以用HAL_GPIO_WritePin或HAL_GPIO_TogglePin。如果你做呼吸灯就在主循环里渐变Pulse值如果你做四开关 Buck-Boost 数字电源PWM 频率、死区、互补通道这些都要进一步配置安装阶段先把基础 PWM 跑通。5.2 SPI DMA 接收、定时器捕获、RTC 等外设配置思路安装 CubeMX 的最终目的还是配置外设。以 STM32F103 SPI 通过 DMA 读取芯片数据为例步骤是在Connectivity里使能 SPI选择全双工主模式或只接收模式配置数据宽度、CPOL、CPHA、波特率预分频在DMA Settings里给 SPI RX 添加 DMA 通道模式可选 Normal 或 Circular优先级根据系统需要设置在NVIC Settings里使能 DMA 中断和 SPI 全局中断。生成代码后调用uint8_t rxBuf[32]; HAL_SPI_Receive_DMA(hspi1, rxBuf, sizeof(rxBuf));如果要连续接收可以考虑 Circular 模式并在 DMA 完成回调里处理数据。注意接收缓冲区要足够大且如果使用 DMA缓冲区最好对齐避免某些内核上的访问问题。定时器捕获上升沿也类似把定时器通道设为Input Capture direct mode选择上升沿触发使能中断。在回调HAL_TIM_IC_CaptureCallback里读取捕获值计算脉宽或频率。RTC 用内部 32kHz 时钟时在RCC里使能 LSE 或 LSI再配置 RTC注意后备区域写保护和时钟源选择。温湿度模块通常走 I2C 或单总线CubeMX 里配置 I2C 后生成代码再移植传感器驱动。串口通信就配 USART异步模式设置波特率、字长、停止位、校验位开接收中断或 DMA。做报警器时蜂鸣器可以用 GPIO 或 PWM 驱动做鱼缸控制器时可能还要配 ADC 采集水温、继电器输出、定时喂食。外设配置越来越多时工程管理要跟上每个功能单独一个.c/.hCubeMX 生成的外设初始化代码不要手改业务逻辑放在USER CODE区域或独立文件里。5.3 中文显示、汉化和工程管理建议关于 STM32CubeMX 中文汉化我的态度比较保守。部分版本可能跟随系统语言显示中文或者提供语言选项但网上流传的汉化补丁、替换文件来源复杂可能破坏软件完整性也可能导致菜单和教程对不上。对于初学者我反而建议先用英文界面。原因很简单教程、官方文档、社区回答、错误信息大多是英文术语Clock Configuration、GPIO_Output、NVIC、DMA Request这些词看熟了排查问题更快。如果确实需要中文辅助可以对照 STM32CubeMX 使用手册把常用菜单做一个中英对照表贴在手边而不是直接替换程序文件。工程管理上建议每个项目一个独立目录里面放.ioc文件、生成的工具链工程、用户代码、说明文档。.ioc是 CubeMX 的配置文件必须纳入备份或版本管理因为它记录了所有引脚和时钟配置。重新生成代码前先确认用户代码都在USER CODE BEGIN/USER CODE END之间或者放在独立文件里。不要随便改Core/Src里自动生成的初始化代码因为下次改配置重新生成时会被覆盖。给工程命名也要规范比如F103_LED_PWM、F103_SPI_DMA、G4_BUCK_BOOST别用新建文件夹、测试1、最终版2这种名字过两周自己都认不出来。6. 常见问题速查与踩坑记录6.1 安装阶段高频问题速查表安装阶段的问题大多有固定套路。下面这张表是我自己遇到和帮别人处理过的典型情况。问题排查顺序经验处理安装包双击无反应文件完整性、管理员权限、Java重新下载右键管理员运行检查 Java安装到一半失败磁盘空间、杀软拦截、路径权限换盘安装关闭拦截换英文路径启动后界面空白显卡驱动、Java 渲染更新驱动换 Java 版本删除配置缓存固件包下载失败网络、账号、磁盘权限换时间下载离线包导入检查仓库权限生成工程按钮灰色未选芯片、未选工具链选芯片Project Manager 选 MDK-ARM生成代码报路径错误工程路径含中文或空格改到D:\Work\STM32Projects之类路径Keil 编译找不到 HAL 库固件包未装或工程未包含安装对应固件包重新生成工程Keil 下载提示 No Cortex-M下载器驱动、Debug 设置检查 SWD 接线Options 里选对应下载器这里面最容易被低估的是路径问题。很多人觉得中文路径无所谓结果 CubeMX 能生成Keil 编译时找不到文件或者 Makefile 里路径转义出错。与其后面逐项排查不如一开始就用纯英文、无空格路径。另一个是杀软拦截尤其是公司电脑安全策略比较严Java 程序启动时释放临时文件可能被拦。遇到无法解释的启动失败先看安全日志再考虑重装。6.2 生成工程后编译报错与下载失败安装和生成只是前半段后半段常见的是编译和下载问题。如果 Keil 报cannot open source input file stm32f1xx_hal.h说明工程没有包含 HAL 库头文件路径或者 CubeMX 生成时工具链选错。检查生成目录里有没有Drivers/STM32F1xx_HAL_DriverKeil 工程里有没有把Inc路径加进去。如果报Target not created看具体错误往往是缺少启动文件、芯片包版本不对或者宏定义不匹配。用 CubeMX 重新生成一次选择相同工具链通常能修复路径问题。下载失败也很常见。常见提示有No target connected、Flash Download failed、Cannot Load Flash Programming Algorithm。先查硬件SWDIO、SWCLK、GND、VCC 是否接好目标板是否供电复位引脚是否被拉低。再查软件Keil 的 Debug 里是否选对下载器Flash Download 里是否选了正确算法。如果用了SYS里的Serial Wire一般不会占用下载引脚如果之前配置成Disable又把 PA13、PA14 复用成普通 GPIO就可能连不上下载器需要用复位时序或者 BOOT 模式救回来。做 SPI DMA、定时器捕获、PWM 这些实验时下载失败先排除硬件连接再怀疑代码。6.3 我个人踩过的坑和几条硬建议我现在每台开发机装完 STM32CubeMX第一件事是把固件仓库改到独立盘第二件事是装一个最小验证工程第三件事是把常用固件包版本记下来。踩过的坑里最浪费时间的是用“汉化精简版”导致包管理界面报错最后只能卸载重装。还有就是一开始没注意 Java 版本系统里同时存在多个 Java命令行显示 11CubeMX 实际调用 8结果启动报错信息对不上。后来我统一用命令行确认实际路径再启动软件问题就少很多。如果你要做 STM32 项目不管是江科大课程作业、毕业设计、温湿度报警器、呼吸灯、SPI DMA 读芯片、PWM 调光、RTC 时钟、鱼缸控制还是更复杂的数字电源、车载以太网节点、SNMP Trap 上报、LQR 控制验证安装 CubeMX 都只是第一步。把安装包、Java、固件仓库、Keil 芯片包、工程路径这几件事一次性规划好后面每建一个新工程都会轻松很多。我的硬建议是不用来源不明的安装包不改自动生成区域不在中文路径下建工程不混用多个 CubeMX 和固件包版本。做到这几点STM32CubeMX 安装和使用基本不会成为你的绊脚石。
返回列表