注意,本教程移植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)


STM32F767ZI-NUCLEO移植运行micropython过程记录相关推荐

  1. TFT-LCD移植LVGL详细过程记录

    TFT-LCD移植LVGL LVGL(轻量级和通用图形库)是一个免费和开源的图形库,它提供了创建嵌入式GUI所需的一切,具有易于使用的图形元素,美丽的视觉效果和低内存占用. LVGL更多介绍:http ...

  2. velodyne运行Loam_velodyne过程记录

    刚拿到手的3D激光雷达,运行一下试试. (1)loam_velodyne环境配置 cd ~/catkin_ws/src/ git clone https://github.com/laboshinl/ ...

  3. 海康Camera MVS Linux SDK二次开发封装ROS packge过程记录(c++)

    Livox Lidar  + HIKROBOT Camera系列 最近在开发相机和激光雷达融合的slam算法,主要用于三维重建,想实时的得到彩色点云地图,传感器选择了海康威视的工业相机和大疆的固态激光 ...

  4. 在MM32F3273上运行MicroPython,对于性能进行测试

    简 介: 通过设计简单的测试电路,验证了MicroPython在MM32F3273上运行的情况.初步证实它可以运行移植后的MicroPython. 关键词: MM32F3273,MicroPython ...

  5. 调试来自于逐飞的MM32F3277移植有MicroPython开发板

    简 介: 对于从逐飞寄送的MicroPython开发板进行初步测试,建立了基于REPL进行交互式开发的环境. 关键词: MicroPython,MM32,Thonny #mermaid-svg-BUT ...

  6. java 程序编译和运行的过程

    Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程. 如下图,Java程序从源文件创建到程序运行要经过两大步骤:1.源文件由编译器编译成字节码(ByteCode)  2 ...

  7. Java程序编译和运行的过程

    Java整个编译以及运行的过程相当繁琐,本文通过一个简单的程序来简单的说明整个流程. 如下图,Java程序从源文件创建到程序运行要经过两大步骤:1.源文件由编译器编译成字节码(ByteCode)  2 ...

  8. 在MSP432 LaunchPad上运行MicroPython

    2019独角兽企业重金招聘Python工程师标准>>> 首先需要下载国外网友BonifaceBassey移植的MicroPython,并编译源码,得到固件firmware.axf.编 ...

  9. 结对编程项目的过程记录与收获

    结对编程项目的过程记录与收获 1.编程问题 某公司程序员二柱的小孩上了小学二年级,老师让家长每天出100道(100以内)四则运算题目给小学生做. 2.结对编程的出发点 为了体会结对编程的好处,和同伴一 ...

最新文章

  1. 各系统QT安装ROS后不显示src问题
  2. 文件查找利器---find详解
  3. #mysql50#_#mysql50#.ssh设个啥数据库?
  4. CI框架 -- 网页缓存
  5. caffeImagenet相关
  6. 算法—详细讲解单向循环链表的实现(python)
  7. 图着色问题贪心算法c语言,区间图着色问题(贪心算法)C++实现
  8. 交大网院计算机第五次作业答案,交大网院计算机第三次作业分析.docx
  9. SpringSecurity分布式整合之jwt和rsa说明
  10. store_coding_state (cs_cm)的作用
  11. CentOS 7编译程序后的环境变量设置
  12. sql server 迁移 mysql_sql server 迁移到 mysql
  13. memcached安装和使用
  14. 如何用计算机寒假计划表,如何制定寒假学习计划表
  15. 一种深度学习方法---迁移学习
  16. matplotlib自定义鼠标光标坐标格式
  17. 网络安全之密码安全基础
  18. 用Altium designer画PCB的一般心得
  19. PWM控制LED亮度变化的原理(超详解)
  20. IBM X3650服务器使用说明一

热门文章

  1. 上海,智慧城市建设的亚太标杆
  2. [PAT A1046]Shortest Distance
  3. 民航客运量变化趋势的多元线性回归模型--基于R(附R程序及讲解)
  4. Linux glib库hash表GHashTable介绍
  5. 使用QGIS实现道路分级可视化
  6. 情感驿站 | 如果这个世界真有奇迹,那一定是努力的另一个名字
  7. 【DVB】DVB-S2和DVB-S的区别
  8. 游戏跨服架构进化之路
  9. 蓝牙MESH网关_【2020旧房改造篇二】蓝牙mesh通断器和其他几种智能改造方案的优缺点对比...
  10. 五分钟学GIS | 多进程切图