micropython STM32移植笔记(一)

首先,我是一个搞硬件的,说白了是做电路的,呵呵。。。

一直想学一些软件,只会搞硬件的工程师是没有灵魂的,画了7年的PCB板卡了,但是每次调试硬件都要求助于软件工程师们,哎,其中的心塞估计会有人知道,所以决定从零开始学一个软件,基础薄弱,但是还能自己做点什么的一个系统,首先这只是一个尝试,不知道mircopython能做多远,但是我想试试。

文件获取

第一步,搭建虚拟机,这个自己百度吧,我用的是ubuntu20.

第二步,开始在CSDN上百度一些东西,尝试,比如关键字是“micropython STM32”,然后搜索到了如下文章。

https://blog.csdn.net/zhanglifu3601881/article/details/91997528

第三部,打开ubuntu的终端,敲入以下命令;

sudo apt-get install git

等待安装完成;

第四部是获取micropython的源代码;

git clone https://github.com/micropython/micropython

这是一个漫长的等待时间,下载的时间很长,我是晚上19:30分下的,等了1个小时,下载了49%,决定下班,明天早上再来看下没下载完成吧。

趁这段时间搭建一下编译环境吧,我参考的是以下网址的搭建方法STM32F4系列使用MicroPython开发,(这个部分可以先不做,我也是后来做的,如果你之前没做过这个开发,那你就先看下后面的“虚拟机搭建”部分,安装后虚拟机环境后再进行下面的操作。)

千呼万唤“屎”出来,一到make就费,你个嘚嘚儿,下载完mircipython完后,我默认是下载到桌面的,为了我一顿操作把源码废了,我备份了一下,备份的目录是

/home/liuyan/yaphets/mircopython

然后继续操作,以下命令涉及到Linux的一些基础,其实很简单,百度一下命令就知道是干什么的了;

cp micropython/ /home/liuyan/yaphets/mircopython/ -rf

我用的开发板是STM32F407ZET6的主芯片的,用了这个micropython/ports/stm32/boards下的STM32F4DISC目录进行编译;

进入你micropython目录,然后进入micropython/ports/stm32/boards这个目录下进行编译,编译是要指定你自己的板卡,以STM32F4DISC为例,

命令:

进入micropython/mpy-cross目录下

执行一下命令,正常是有信息 输出的,如果不正常,参考以下UBUNTU虚拟机设置

make

如果您报错了,恭喜您,您和我一样,大部分应该是虚拟机环境搭建的问题,那您请移步到文章的“虚拟机设置”,其实我也是一直百度的,最后,哈哈,解决了,因为这个虚拟环境每个人是不一样的,所以了,你们先按我的方法试,能不能行,看上帝他老人家愿不愿意了,阿弥陀佛,祝大家能够解决。

这个部分很快,然后回到micropython目录。执行如下命令:

git init

这个如果正常的话,很快,biubiu的一下就完成了,

git submodule update --init

这个就是不干活的老牛了,具体时间,跟网络速度有关,等吧,你个嘚嘚儿,可怜呐!

我心想,您慢慢也就算了,您还来报错是啥意思,远端意外挂断了,你个老baby,哪那么多意外,您咋不意外让我捡个金疙瘩咧;先不管,等完成后,再重新update一下,就是把上条命令再敲一遍。

 正克隆到home/liuyan/yaphets/mircopython/micropython/lib/btstack'...

error: RPc失败。curl 18 transfer closed with outstanding read data renaining

fatal:远端意外挂断了

fatal:过皁的文件结束符(EOF)

fatal: index-pack失败

fatal:无法克隆'https://github.con/bluekitchen/btstack.git'到子模组路径' /hove/lituyan/yaphets/nircopython/nicropython/lLtb/btstac

克隆'lib/btstack’失败。按计划重试

经过3个小时的漫长等待,终于更新完了,你的老baby,然后重新 git submodule update --init了一遍,biu的一下就完了,准备编译吧!!!

切记,此处执行以下命令时,一定要在micropython/ports/stm32这个目录下执行,亲,您就继续等待吧;

make BOARD=STM32F4DISC

等待编译完成后,会在micropython/ports/stm32文件夹下多一个build-PYBV10的文件夹,恭喜你,你已经编译成功了;

如何烧录到开发板呢?

啪!啪!啪!请看下集;

虚拟机设置

command ‘make’ not found ,but can be installed with:

这没错了,肯定是UBUNTU环境没搭建好,可惜啊,gcc-arm-none-eabi还在安装中,只能安装完这个尝试一下了。先给一个万能解决办法,就是安装各种插件;

命令:

ps:提示:无法连接上cn.archive.ubuntu.com软件源问题的解决办法

重新设置好下载源后呢,要更新下列表,命令

sudo apt-get update

更新完列表后,就按照下面命令,一个一个的装吧。

sudo apt-get install build-essential
sudo apt-get install gcc automake autoconf libtool make
sudo apt-get install gcc
sudo apt-get install gcc-arm-none-eabi

micropython STM32移植笔记(一)相关推荐

  1. u8g2 stm32移植笔记

    U8g2移植笔记 下载地址 移植步骤 部分源码简要分析 下载地址 U8g2下载地址U8g2项目Github. 移植步骤 我移植U8g2采用的是stm32硬件SPI,可以提供更高的通讯速率,移植时只需要 ...

  2. stm32 u8g2移植笔记

    STM32 u8g2 移植笔记 前言 当初想写一个单色屏菜单时,曾移植过u8g2到STM32平台(这里用的是keil MDK),不过当时一直有一个问题没有搞懂:为什么u8g2用在flash为32k,r ...

  3. micropython 驱动 移植_MicroPython v1.12 版本更新

    MicroPython今天升级到 v1.12版本.改进了mpy格式,支持本机代码和新的JavaScript移植. 在此版本中,mpy文件格式已更新到v4,并进行了一些重大改进:mpy文件大小平均减少了 ...

  4. STM32学习笔记:按键实验

    STM32学习笔记:按键实验 一.所使用的函数 1.时钟使能函数 RCC_APB2PeriphClockCmd(uint32_t RCC_APB2Periph, FunctionalState New ...

  5. 《STM32学习笔记》2——开发环境的建立

    接上文,文中的图片知识,大多数来自视频的截图(来自洋桃电子). 欢迎大家批评指正! STM32学习笔记-专栏 文章目录 一.接口定义 1 芯片引脚整体简介 2 各部分引脚介绍 二.开发板简介 三.IS ...

  6. MicroPython内核开发笔记书内软件用例 :utime 的实验用例

    简 介: 本文给出了 MicroPython内核开发笔记:书内嵌入实验任务 中的utime软件用例部分内容. 关键词: 软件,MicroPython,MM32F3277,utime,time #mer ...

  7. STM32开发笔记77: 内部看门狗长延时的产生

    单片机型号:STM32L053R8T6 开发笔记STM32开发笔记45:看门狗驱动程序的移植介绍了看门狗驱动程序的基本设计方法.今天项目中看门狗的延时时间达到10秒,则实际运行效果只有3秒. 以下是看 ...

  8. STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和串口只发送数据不能接收数据问题

    STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085的问题讨论:http://www.rt-thr ...

  9. STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和不能接收数据问题讨论

    STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085的问题讨论:http://www.rt-thr ...

最新文章

  1. python3 异步 asyncio 动态添加任务
  2. java基础学习(二)数组
  3. nRF52832 — 连接指定name、UUID、addr的蓝牙设备
  4. 蓝桥杯- 图形显示(java)
  5. 鼠标控制视角wasd移动_绝地求生:为什么控制方向键是WASD?网友:就不能是其他键位吗?...
  6. python字符串常量有什么区别_Python经典面试题:is与==的区别
  7. 素数五个为一行的_对标交流 ▏潍坊市心理咨询师协会名誉理事长、潍坊医学院王力教授一行到昌邑市妇幼保健院指导交流工作...
  8. 升级openssh版本
  9. 闭包函数和装饰器(待补充)
  10. 微软笔试题 《Image Encryption》
  11. 光纤通信(邱昆、王晟版)课后答案
  12. linux怎么限制文件大小,Linux文件系统文件大小限制
  13. mac:通过鼠标右键 新建文本文档
  14. 知道吗?借助InterSystems Caché数据库,欧洲航天局正在绘制银河系最大的地图
  15. 【Magento】magento 1.7.0.2 paypal支付方式,网站标准支付
  16. 【Rosalind】Mortal Fibonacci Rabbits
  17. github学习教程
  18. 《职工带薪年休假条例》2008年元旦起施行(全文)
  19. 深度优先搜索(DFS)与广度优先搜索(BFS)算法详解
  20. 2018.8.21 广州科目三展茂东满分飘技巧

热门文章

  1. oracle Swap_join_inputs简析
  2. 微信小程序 虚拟现实_开发虚拟现实应用程序的重要性
  3. 为知笔记docker镜像安装
  4. 拨开字符编码的迷雾--编译器如何处理文件编码
  5. 基本知识 100118
  6. C语言标准库里的获取时间函数及时间格式转换详解
  7. 第十一章、远程联机服务器SSH / XDMCP / VNC / RDP
  8. idea复制项目并使用技巧
  9. CSS布局之——左边、上边固定,内容自适应(Vue)
  10. C#实现Winform间的数据交互的三种方法