STM32F767ZI-NUCLEO移植运行micropython过程记录

  • Post author:
  • Post category:python


注意,本教程移植microPython是通过烧写hex文件实现的,网上其他教程很多是介绍使用USB DFU方式(设备boot0至高电平,通过DfuSeDemo烧写),由于自己还不熟没有使用这种方式,后续有时间再尝试。

另外本教程是基于STM32F767ZI-NUCLEO开发板所写的,不过对于其他型号的开发板通用可以参考借鉴。



1.系统环境:

Ubuntu18.04, Windows10(

转换DFU文件一定要在win系统下操作,ST官方没有给出Linux版本软件



2.预备软件:

  • STSW-STM32080:https://www.st.com/en/development-tools/stsw-stm32080.html,即DfuSe,安装之后的文件如下

    在这里插入图片描述

    后面我们需要使用到DfuFileMgr.exe,将dfu文件抽取出hex文件以供烧写

  • STM32CubeProg:https://www.st.com/en/development-tools/stm32cubeprog.html, ST新出的烧录软件,功能强大,三平台通用,没错!Linux也可以使用(Linux下烧写hex,bin文件比较方便,stlink命令行就比较麻烦)

  • STM32CubeIDE

  • PUTTY,连接串口(microPython安装之后是通过串口来显示Python解释器的)

  • microPython DFU文件(每日构建版):https://micropython.org/download#other,官网提示非官方支持,不过也是可以用的

    在这里插入图片描述



3. 具体步骤



3.1 dfu文件抽取hex

我们打开之前安装的软件

“C:\Program Files (x86)\STMicroelectronics\Software\DfuSe v3.0.6\Bin\DfuFileMgr.exe”



在这里插入图片描述

在这里插入图片描述

得到hex文件



3.2 烧写hex文件

得到hex文件之后就好办了,通过ST新出的STM32CubeProg软件进行烧写,下载安装后打开:

在这里插入图片描述

点击连接之后得到以下信息:

  • ST Link版本
  • 电压
  • 地址

    等相关信息。

    在这里插入图片描述

    选择hex文件进行烧录

    在这里插入图片描述

    烧录完成之后有以下警告和错误:

    在这里插入图片描述

    提示ST LINK连接错误,原因是烧写进去micropython之后已经自动转成虚拟串口了

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述



4.执行测试microPython

经过前面的步骤已经成功将hex文件烧写进去flash了,下面我们测试一下microPython。



4.1 putty连接串口

设备管理器查看串口号(笔者为COM3),打开putty,设置波特率115200,端口号为COM3

在这里插入图片描述



4.2 测试microPython

putty连接串口之后会发现没有任何提示,我们

需要按一下开发板上的复位键

,接着就要解释器提示了:

在这里插入图片描述

microPython网上有很多教程,笔者也还没开始学,只是测试一下搭配环境,这里就以最简单的点灯程序进行测试:

在这里插入图片描述

实现的效果是可以控制LED灯翻转。

microPython中的pyb库还有很多种功能操作,不同的开发板对应的IO口也是不同的,这些需要仔细阅读官方的资料手册,笔者这里就不深入研究了

在这里插入图片描述



5. 擦除flash上的microPython固件

简单玩了一下microPython之后准备退出该固件,还是以普通方式使用cubeide进行烧写,此时就出现问题了,新建一个cubeide工程进行烧写,会出现以下错误提示:

在这里插入图片描述

用STM32CubeProg进行连接同样出现错误:

在这里插入图片描述

笔者测试出来的一种解决办法是在STM32CubeProg的ST Link连接选项中的Mode选项改为under reset,便可成功连接,接着擦除整个flash

在这里插入图片描述

擦除完之后就可以继续正常编译烧写程序了。


为了解更多硬核知识,请关注笔者[B站频道](https://www.bilibili.com/video/av64531527)

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述



版权声明:本文为ouening原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。