在实验室找了块微雪的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上进行实验和学习,希望有兴趣的小伙伴和我一起学习讨论。

python移植到stm32f205_Micropython学习(二)STM32移植相关推荐

  1. s5pv210 linux内核移植,S5PV210(TQ210)学习笔记——内核移植与文件系统构建之二

    由于之前做过2440和6410,鉴于时间原因,这里暂时跨过其他模块的裸机驱动和uboot移植,直接进入内核移植及驱动开发方面的学习. 三 设置uboot启动参数 我的nfs根目录为/nfsroot,我 ...

  2. tiny4412学习(二)之移植linux-4.x支持设备树

    硬件平台:tiny4412 系统:linux-4.4 文件系统:busybox-1.25 编译器: arm-none-linux-gnueabi-gcc (gcc version 4.8.3 2014 ...

  3. python模块之paramiko学习二

    下面是通过ssh的dsa或rsa公钥验证批量登录服务器执行命令: #!/usr/bin/python #2012/02/02 by larry import paramiko import sys,o ...

  4. Python -- 关于字典的学习(二)——遍历字典

    遍历字典的学习 一个Python字典可能只包含几个键-值对,也可能包含数百万个键-值对.鉴于字典可能包含大量的数据,Python支持对字典遍历.字典可用于以各种方式存储信息,因此有多种遍历字典的方式: ...

  5. Python源码剖析学习二

    Python对象初探 在Python中,一切都是对象.连类型也是一种对象. 在Python中,对象就是为C中的结构体在堆上申请的一块内存.一般来说,对象是不能被静态初始化的,并且也不能在栈空间上生存. ...

  6. python 数据可视化 matplotlib学习二 : 对折线图使用颜色映射

    本节代码依赖上一节代码 颜色映射是一系列颜色,他们从起始颜色渐变到结束颜色,在可视化中,颜色映射用于突出数据的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深的颜色来显示较大的值 下面演示如何 ...

  7. STM32移植uC/OSIII

    坚持就是胜利 一.UCOS简介 01 简介 02 uC/OS-III的任务 03 其他介绍 二.操作过程 01 题目要求 02 配置CubeMX 03 下载代码 04 移植代码 05 效果展示 三.实 ...

  8. 【STM32移植机智云】超详细教程#2ESP8266移植机智云教程‘代码移植’

    1.引言 本人购买了一个ESP8266的WiFi模块,想做一个物联网控制小灯的demo. 本文记录了基于机智云平台,移植代码,实现物联网小灯详细操作步骤. 并不是移植步骤很麻烦, 只是文章真的写的极其 ...

  9. freeRtos学习笔记 (9) 移植和CPU利用率统计

    freeRtos学习笔记 (9) 移植和CPU利用率统计 使用官方固件移植 首先准备一个能跑的裸机工程 注意,freertos需要使用systick定时器,而stm32HAL库默认使用systick作 ...

  10. python是开源的.它可以被移植_python是开源的,它可以被移植到许多平台上,是对的吗?...

    python是开源的,它可以被移植到许多平台上,是对的吗? python是开源的,它可以被移植到许多平台上. Python 特点 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义 ...

最新文章

  1. spring hibernate 连接sqlserver 数据库的时候还需要jdbc包吗?
  2. php左右滑动翻页代码,C#_NGUI实现滑动翻页效果实例代码,废话不多说了,直接给大家上 - phpStudy...
  3. 20181009-9 每周例行报告
  4. 关于养花---感叹一把
  5. 智能指针shared_ptr
  6. JAVA学习Swing绝对局部简单学习
  7. php优化-》常用到的部分优化
  8. 逆向学习-IDApython(一)
  9. css里面的let,js中let和var定义变量的区别
  10. DataGridView 设置行不可见时,与货币管理器的位置关联的行不能设置为不可见
  11. ios9上传到app store报错
  12. 深度学习中常用的数据集
  13. 天涯社区用到的日历函数
  14. VS2013 Codejock 实现 MFC 换肤
  15. 深入理解Attention及变种(三)
  16. 魔兽世界私服架设 服务器架设简易教程
  17. 何为裂变?上百个裂变营销活动让我揭开了其神秘面目!
  18. python用turtle画字母n、h_详解python使用turtle库来画一朵花
  19. 502问题怎么排查?
  20. threejs全景图片展示

热门文章

  1. 苹果手机以旧换新价格表_苹果支持安卓手机以旧换新;索尼公司将更名;百度网盘推出“防误删”文件恢复服务...
  2. 使用MATLAB和ANSYS对四杆桁架结构进行有限元分析
  3. 图像处理库 FreeImage的简述
  4. iOS hicf与hice图片格式转换,以及图片处理
  5. 驱动级音效增强软件Dolby Home Theater V4
  6. NetBeans配置subli
  7. 五笔字根表识别码图_识别码五笔字根表打印
  8. 【开发环境准备】更新板载ESP8285固件
  9. 航信三大系统ICS DCS CRS
  10. 收益管理系统(PROS)缘何在中国水土不服?