Micropython学习(二)STM32移植

在实验室找了块微雪的STM32F407ZET6(Micropython支持的系列)的核心板,移植下Micropython的源码,也遇到些问题,最后解决了,在这写下过程记录一些经验教训。

首先本人环境为WIN10+Ubuntu18.04(非虚拟机,当然也可以用虚拟机,根据情况选择)

所需工具

1、STSW-STM32080fuSeUSB,安装包地址:http://www.stmcu.org.cn/document/detail/index/id-215019

2、putty https://www.putty.org/

第一步 下载源码

如果没有安装git的话,先安装git,然后下载源码,不建议从github上直接下载(我试过后续编译会出现错误,直接下的里面的submoudle可能找不到)

sudo apt-get install git
git clone https://github.com/micropython/micropython

下载完之后可以在电脑上看到一个micropython的目录,里面内容如下。

第二步 编译

首先编译之前需要安装gcc和gcc-arm-none-eabi交叉编译器。

sudo apt-get install gcc
sudo apt-get install gcc-arm-none-eabi

如果没有找到可以更新下,或者更换国内源。

sudo apt-get update

安装完之后开搞!

快捷键Ctrl+Alt+t 打开终端,输入ls查看目录。

然后进入micropython目录

cd micropython

可以在ports/stm32/boards下看到micropython支持的处理器,挺多的,未来会更多。

进入boards这个目录,我们需要的F4系列的,即STM32F4DISC。

cd ports/stm32/boards

复制STM32F4DISC并重命名为HIBOARD

cp -r STM32F4DISC HIBOARD

然后回到源码目录micropython下,输入:

git init
git submodule update --init

这一步是将源码中的一些子模块submoudle下载下来(可以看源码目录下的README文件就清楚了)。

最后在stm32目录下编译执行,生成我们所需要的固件DFU或者HEX形式的。

make BOARD=HIBOARD

最后顺利生成固件,固件在build-HIBOAR目录下。

 进行到这你已经成功大半了,接下来下载单片机验证。

第三步 烧录

需用前面下载的工具下载,将开发板的boot0 boot1 状态为 1 0设定为从system memery启动,设置好后重启开发板,运行刚下载的上位机软件,dfu软件会识别到开发板,choose编译生成的DFU文件,upgrade即可(其实就是bootloder烧写)。

 之后就是最后见证奇迹的时刻了,但是我的板子没有任何反应,没有出现磁盘PYBFLASH,心塞啊!

试着找解决办法,网上找了很多(换电脑等),结果我将启动方式设置为FLASH启动,磁盘出现了,这么一想也对,平常的单片机的程序也是放在FLASH里的前几页的,板子运行肯定是从FLASH里找(实践出真知啊)。

 

 到这基本完成了,最后来玩一下micropython在单片机上跑吧。使用putty串口连接。注意win10会自动安装驱动,但是win7就需要自己更新驱动,驱动文件就在PYBFLASH,pybcdc.inf。

putty串口连接如下:

 

 接下来就是体验micropython控制单片机的乐趣了,不同于python脚本。

结语

也可以根据自己的需要编译源码,需要修改一些文件,水平有限就没有相关编译。接下来会在pyboard上进行实验和学习,希望有兴趣的小伙伴和我一起学习讨论。

  • 25
    点赞
  • 201
    收藏
    觉得还不错? 一键收藏
  • 16
    评论
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值