首页 > 编程语言 >MicroPython——将固件烧写到STM32开发板上

MicroPython——将固件烧写到STM32开发板上

时间:2022-12-08 15:01:46浏览次数:92  
标签:MicroPython hex 烧写 开发板 STM32 准备 固件


博主是在 win10环境下,将MicroPython固件烧录到stm32F407开发板上。因为博主想学一波STM32F407,有python基础,但c语言基础一般,觉得学库函数觉得太过复杂,且以后方向可能不太搞嵌入式硬件,所以就用MircoPython做硬件。

文章目录

  • ​​1.USB线方式​​
  • ​​资源准备​​
  • ​​软件准备​​
  • ​​固件准备​​
  • ​​硬件连接​​
  • ​​固件烧录​​
  • ​​2.ST-Link方式​​
  • ​​资源准备​​
  • ​​软件准备​​
  • ​​固件准备​​
  • ​​硬件准备​​
  • ​​固件烧写​​
  • ​​验证固件是否烧写成功​​

MicroPython——将固件烧写到STM32开发板上_git

1.USB线方式

资源准备

软件准备

必备:

  • 准备DfuSe Demonstration,用于将dfu文件烧写进开发板中。

非必备:

  • 准备​​Dfu file manager​​软件;(若读者已有.dfu格式的固件,可使用该软件将.dfu格式的固件库转换为.hex格式)
固件准备
  • 准备MicroPython的STM32F4固件:(博主已经将固件资源整理到了gitee上,方便读者下载)
#固件官方网址:http://micropython.org/download/all/(下载速度极慢,不推荐)
#博主的码云MicroPython_firmware仓库
https://gitee.com/irving_gao/MicroPython_firmware.git

下载固件库并找到自己的开发板,将自己的开发板对应的固件解压即可。

硬件连接

  • 任意STM32系列开发板(这里博主以STM32F407核心板为例,进行固件的烧写)
  • 将开发板的BOOT0置1(高电平)
  • 将开发板与电脑相连

固件烧录

​PYB利用USB线刷入固件​

2.ST-Link方式

资源准备

软件准备

必备:

  • 准备​​ST-link Utility​​软件;(用于STM32开发板的hex文件烧写)

非必备:

  • 准备​​Dfu file manager​​软件;(若读者已有.dfu格式的固件,可使用该软件将.dfu格式的固件库转换为.hex格式)
固件准备
  • 准备MicroPython的STM32F4固件:(博主已经将固件资源整理到了gitee上,方便读者下载)
#固件官方网址:http://micropython.org/download/all/(下载速度极慢,不推荐)
#博主的码云MicroPython_firmware仓库
https://gitee.com/irving_gao/MicroPython_firmware.git

下载固件库并找到自己的开发板,将自己的开发板对应的固件解压即可。

硬件准备
  • 任意STM32系列开发板(这里博主以正点原子的STM32F407探索者开发板为例,进行固件的烧写)
  • ST-Link仿真器

固件烧写

固件烧写将通过ST-link Utility软件实现:

  • 将板子上电并通过​​ST-Link​​和电脑连接;
  • 连接开发板
    连接并读取STM32内部FLASH及芯片信息;
  • 打开程序(hex)
    打开固件文件夹下的hex文件;
  • 下载程序(hex)
    弹出信息确认窗口,如hex文件路径、验证方式等,确认信息无误后点击“Start”开始下载程序。
  • 下载成功
    下载过程时间长短与程序大小有关,一般都很快,出现“Verification…OK”,说明下载成功。

    到这里就完成固件烧写过程,接下来对烧写情况进行验证。

验证固件是否烧写成功

  • 将开发板的USB接口和电脑连接,出现​​PYFLASH​​盘符:
  • MicroPython——将固件烧写到STM32开发板上_固件_02


  • 远程连接Putty:
  • MicroPython——将固件烧写到STM32开发板上_git_03

  • 打印​​Hello MicroPython​​:
  • MicroPython——将固件烧写到STM32开发板上_git_04

  • 如果读者在使用putty过程中遇到黑屏问题,参考文章:通过putty实现实时交互和调试(包含putty界面黑屏bug解决方法)

如果读者也跟博主成功烧写固件,那就三连一下吧~

参考文章:

  1. ​http://www.stmcu.org.cn/module/forum/thread-614680-1-1.html​




标签:MicroPython,hex,烧写,开发板,STM32,准备,固件
From: https://blog.51cto.com/u_15906550/5921722

相关文章

  • stm32f407VE6 点亮一个流水灯完整程序
    include"stm32f4xx.h"#include"delay.h"intmain(){//***-必须初始化延时函数-***delay_init(168);//初始化延时函数//第一步:首先配置......
  • HMI智能串口屏——在STM32开发板上的实战应用及其详解
    HMI智能串口屏——在STM32开发板上的实战应用及其详解​​一、HMI智能串口屏使用步骤​​​​二、附录​​一、HMI智能串口屏使用步骤安装USARTHMI软件(一般买的串口屏里......
  • 暴力升级你的 ST-Link 及 STM32CubeIDE
    原文https://github.com/armink/HackSTLinkUpgrade背景一些ST-Link在使用最新的IDE时,经常提示需要升级其固件,但是升级始终失败,提示容量不足。在KeilMDK上可能就......
  • 暴力升级你的 ST-Link 及 STM32CubeIDE
    暴力升级你的ST-Link及STM32CubeIDE背景一些ST-Link在使用最新的IDE时,经常提示需要升级其固件,但是升级始终失败,提示容量不足。在KeilMDK上可能就提示一下升级......
  • STM32标准库函数记录
    GPIO示例初始化GPIO_InitTypeDefGPIO_InitStructure;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_5; //LED0-->PB.5端口配置GPIO_InitStructure.GPIO_Mode=GPIO_Mo......
  • STM32 按键检测
    c语言关键词:staticstantic申请的局部变量(函数中),储存在静态储存区;它在函数调用后,不会被释放。它的值会被保留。所以stantic申请的局部变量,具有记忆。 硬件 KE......
  • STM32 can通信的坑
    STM32can通信的坑(1)单独使用CAN2时一定要同时打开CAN1和CAN2的时钟,否则CAN2无法正常工作,因为CAN2是从CAN,CAN1是主CAN(2)CAN1:0->13组,CAN2:14->28组。CAN1的过滤器是0~13,C......
  • STM32f103 蜂鸣器发声
    一、蜂鸣器简介蜂鸣器是一种一体化结构的电子讯响器,采用直流电压供电,广泛应用于计算机、打印机、复印机、报警器、电子玩具、汽车电子设备、电话机、定时器等电子产品中......
  • iTOP3588开发板Android固件编译-修改成hdmi显示
    打开安卓12源码kernel-5.10/arch/arm64/boot/dts/rockchip/rk3588-evb7-lp4.dtsi中的设备树文件。注释掉#include"iTop-3588-mipi0.dts既配置为hdmi屏幕显示。如......
  • STM32CubeMx之SD卡驱动
    STM32CubeMx之SD卡驱动1.SD卡简介   SD存储卡(SecureDigitalMemoryCard)是一种基于半导体快闪存储器的新一代高速存储设备。SD存储卡的技术是从MMC卡(MultiMediaCar......