STM32刷Micropython固件指南
其实刷固件和普通的程序下载烧录无多大的差异,主要是其他因数的影响导致刷固件或刷完固件无法运行的情况和相关问题。
📑刷固件教程
- 固件下载。目前所支持的stm32型号有这些:
stm32f0, stm32f4, stm32f7, stm32g0, stm32g4, stm32h7, stm32l0, stm32l1, stm32l4, stm32wb, stm32wl。(如果你的stm32芯片型号不在此列,那么可以不用看了,目前与Micropython无交集)
micropython固件下载地址:https://micropython.org/download/
- 🔰建议直接下载HEX的文件,可以直接通过
STM32CubeProgrammer或者STM32 ST-LINK Utility软件烧录,当然也可以下载dfu后缀的文件,需要用上面的软件进行烧录的话,还需要使用DfuSe工具转换。 DfuSe工具ST官方下载地址:https://www.st.com/en/development-tools/stsw-stm32080.html
- HEX文件烧录的话,直接使用
STM32CubeProgrammer或者STM32 ST-LINK Utility软件烧录。
ST-LINKvV2进行目标连接,烧录程序方式:
USB HID连接方式,进行烧录:(需要Boot0=1,Boot1=0,通过PA11,PA12与电脑USB连接):




STM32 ST-LINK Utility烧录方式:

- 刷完之后会显示一个虚拟串口和虚拟盘符。

📓刷完固件后,驱动设备显示带问号问题解决方法
- 🌿针对win10系统,刷完不显示。
还是需要将需要Boot0=1,Boot1=0,通过PA11,PA12与电脑USB连接,使用
zadig软件进行驱动升级。
- 🌿选择
STM32 BOOTLOADER设备,点击下面的UPDATE DRIVER选项,我这里已经升级过了,所以显示是只能重新安装驱动方式。

- 🌿更新完驱动后,将Boot0调回到
0,程序连接电脑即可识别到虚拟端口以及虚拟盘符。
⛳固件说明
- 🏳🌈所下载的固件一定要和自己手上的开发板外部晶振频率要一致,否则无法运行。不同的开发板所使用的外部晶振频率是不一样的。

- 📜参阅具体开发板的外部晶振参数:(
stm32fxxx_hal_conf.h)

🛠自编译固件需要修改的参数
在匹配个人开发板外部时钟晶振参数时,需要修改对应主板目录下的
stm32f4xx_hal_conf.h(看具体型号),里面包含外部时钟晶振的宏定义;和mpconfigboard.h配置文件,包含时钟分频器的具体各参数配置。
//stm32f4xx_hal_conf.h (具体型号)文件
// Oscillator values in Hz
#define HSE_VALUE (8000000)
/---------------
//修改mpconfigboard.h文件
// HSE is 8MHz, CPU freq set to 96MHz
#define MICROPY_HW_CLK_PLLM (8)
#define MICROPY_HW_CLK_PLLN (192)
#define MICROPY_HW_CLK_PLLP (RCC_PLLP_DIV2)
#define MICROPY_HW_CLK_PLLQ (4)
🔨duf文件格式转HEX
- 安装好DfuSe软件后,在电脑开始菜单中找到:
Dfu file manager,并点开:

- 选择下面的选项:

- 加载下载好的duf后缀名的固件,选择转换后的格式
HEX,点击Extract,进行转换。

- 转换后的文件在原duf文件同目录下。
📚相关资源
- 🔨DfuSe软件(也可以去ST官网下载:
https://www.st.com/en/development-tools/stsw-stm32080.html)
链接:https://pan.baidu.com/s/1sNra8SQE0o1vQdv6DcDykg
提取码:ezxz
- 🔧当前版本
zadig-2.8软件,(也可以去官网下载:https://zadig.akeo.ie/)
链接:https://pan.baidu.com/s/1wPWjBrN29aRRy4Rp-3JKQg
提取码:spip
- 🔧
STM32 ST-LINK Utility:https://www.st.com/en/development-tools/stsw-link004.html
链接:https://pan.baidu.com/s/18mGKHIWwLFj3r-DS-KCmlQ
提取码:o2y2
- 📌
STM32CubeProgrammer:https://www.st.com/en/development-tools/stm32cubeprog.html
🌼开发环境推荐
- 🌿基于VSCODE,安装
rt-thread micropyth插件来开发。 - 🌿基于Thonny软件开发。
本文详细指导了如何在STM32系列芯片上刷入Micropython固件,包括支持的芯片型号、固件下载、HEX和DFU文件烧录,以及刷完后驱动问题的解决方案。同时提醒注意晶振频率一致性。

491

被折叠的 条评论
为什么被折叠?



