python移植到stm32f205_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上进行实验和学习,希望有兴趣的小伙伴和我一起学习讨论。
python移植到stm32f205_Micropython学习(二)STM32移植相关推荐
- s5pv210 linux内核移植,S5PV210(TQ210)学习笔记——内核移植与文件系统构建之二
由于之前做过2440和6410,鉴于时间原因,这里暂时跨过其他模块的裸机驱动和uboot移植,直接进入内核移植及驱动开发方面的学习. 三 设置uboot启动参数 我的nfs根目录为/nfsroot,我 ...
- tiny4412学习(二)之移植linux-4.x支持设备树
硬件平台:tiny4412 系统:linux-4.4 文件系统:busybox-1.25 编译器: arm-none-linux-gnueabi-gcc (gcc version 4.8.3 2014 ...
- python模块之paramiko学习二
下面是通过ssh的dsa或rsa公钥验证批量登录服务器执行命令: #!/usr/bin/python #2012/02/02 by larry import paramiko import sys,o ...
- Python -- 关于字典的学习(二)——遍历字典
遍历字典的学习 一个Python字典可能只包含几个键-值对,也可能包含数百万个键-值对.鉴于字典可能包含大量的数据,Python支持对字典遍历.字典可用于以各种方式存储信息,因此有多种遍历字典的方式: ...
- Python源码剖析学习二
Python对象初探 在Python中,一切都是对象.连类型也是一种对象. 在Python中,对象就是为C中的结构体在堆上申请的一块内存.一般来说,对象是不能被静态初始化的,并且也不能在栈空间上生存. ...
- python 数据可视化 matplotlib学习二 : 对折线图使用颜色映射
本节代码依赖上一节代码 颜色映射是一系列颜色,他们从起始颜色渐变到结束颜色,在可视化中,颜色映射用于突出数据的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深的颜色来显示较大的值 下面演示如何 ...
- STM32移植uC/OSIII
坚持就是胜利 一.UCOS简介 01 简介 02 uC/OS-III的任务 03 其他介绍 二.操作过程 01 题目要求 02 配置CubeMX 03 下载代码 04 移植代码 05 效果展示 三.实 ...
- 【STM32移植机智云】超详细教程#2ESP8266移植机智云教程‘代码移植’
1.引言 本人购买了一个ESP8266的WiFi模块,想做一个物联网控制小灯的demo. 本文记录了基于机智云平台,移植代码,实现物联网小灯详细操作步骤. 并不是移植步骤很麻烦, 只是文章真的写的极其 ...
- freeRtos学习笔记 (9) 移植和CPU利用率统计
freeRtos学习笔记 (9) 移植和CPU利用率统计 使用官方固件移植 首先准备一个能跑的裸机工程 注意,freertos需要使用systick定时器,而stm32HAL库默认使用systick作 ...
- python是开源的.它可以被移植_python是开源的,它可以被移植到许多平台上,是对的吗?...
python是开源的,它可以被移植到许多平台上,是对的吗? python是开源的,它可以被移植到许多平台上. Python 特点 1.易于学习:Python有相对较少的关键字,结构简单,和一个明确定义 ...
最新文章
- spring hibernate 连接sqlserver 数据库的时候还需要jdbc包吗?
- php左右滑动翻页代码,C#_NGUI实现滑动翻页效果实例代码,废话不多说了,直接给大家上 - phpStudy...
- 20181009-9 每周例行报告
- 关于养花---感叹一把
- 智能指针shared_ptr
- JAVA学习Swing绝对局部简单学习
- php优化-》常用到的部分优化
- 逆向学习-IDApython(一)
- css里面的let,js中let和var定义变量的区别
- DataGridView 设置行不可见时,与货币管理器的位置关联的行不能设置为不可见
- ios9上传到app store报错
- 深度学习中常用的数据集
- 天涯社区用到的日历函数
- VS2013 Codejock 实现 MFC 换肤
- 深入理解Attention及变种(三)
- 魔兽世界私服架设 服务器架设简易教程
- 何为裂变?上百个裂变营销活动让我揭开了其神秘面目!
- python用turtle画字母n、h_详解python使用turtle库来画一朵花
- 502问题怎么排查?
- threejs全景图片展示
热门文章
- 苹果手机以旧换新价格表_苹果支持安卓手机以旧换新;索尼公司将更名;百度网盘推出“防误删”文件恢复服务...
- 使用MATLAB和ANSYS对四杆桁架结构进行有限元分析
- 图像处理库 FreeImage的简述
- iOS hicf与hice图片格式转换,以及图片处理
- 驱动级音效增强软件Dolby Home Theater V4
- NetBeans配置subli
- 五笔字根表识别码图_识别码五笔字根表打印
- 【开发环境准备】更新板载ESP8285固件
- 航信三大系统ICS DCS CRS
- 收益管理系统(PROS)缘何在中国水土不服?