热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

stm32跑pythonSTM32F4系列使用MicroPython开发

这个之前一直苦于开发stm32如何能够简单开发使用,于是,MicroPython出来了,网上刚买的板子stm32f407vet6今天下午

这个之前一直苦于开发stm32如何能够简单开发使用,于是,

MicroPython出来了,网上刚买的板子stm32f407vet6今天下午到了,于是折腾一番,发表下心得,之前玩过esp的nodemcu使用lua开发,那简直是简单!使用过树莓派,用php,java,python等开发,对于上层程序来说,这次是个福音!MicroPython有很多模块可以让我们使用!在高中购买了一块stm32f103zet6开发版188元,现在依然在吃灰,不过它可用arduino开发,下节讲下使用方法,网上也有!经过一周的测试,把心得分享下,需要的朋友可以看看哈!,

第一步,了解

其实他就是对python的封装,但是在stm32上跑这个需要一定的配置,目前官方支持f4个别系列,

98b1c9bb6501?utm_source=desktop&utm_medium=timeline

这是官方对stm32的支持,同时也对esp8266.esp32支持,如果使用esp8266个人觉得nodemcu更简单,是我在玩mcu过程中遇到最简单的开发的了,比前端的html还简单!好了,介绍到此结束!

第二

MicroPython的固件怎么安装到stm32呢?

这就要对固件进行了解,官方给出了自己编译的固件,同时也提供了源码自己编译,官方固件下载地址在

https://www.micropython.org/download

如果你自己喜欢自己编译用自己的diy版本的固件那么就需要对Linxu了解,当然windos也可以,但是LInux更简单,源码放在了github,仓库地址:

https://github.com/micropython/micropython

将他克隆打自己的LInux上然后安装gcc编译器和交叉编译器!

命令:apt-get install gcc

apt-get installarm-none-eabi-gcc

这样你的编译环境基本搭建好了!本人采用的ubuntu,自己编译的好处就是可以自己定义库模块,修改参数等!

接下来演示如何编译的过程

1 .克隆源码到自己的LInux上

98b1c9bb6501?utm_source=desktop&utm_medium=timeline

克隆完毕就是进入编译

98b1c9bb6501?utm_source=desktop&utm_medium=timeline

进入到红色目录执行make进行编译,make默认编译

PYBV10,所以需要自己设置编译编译板子

98b1c9bb6501?utm_source=desktop&utm_medium=timeline

官方还是提供了很多stm32的板子,那么进行编译,

make BOARD=STM32F4DISC

board参数就是你要编译的板子哦!这里以stm32f4为例子

98b1c9bb6501?utm_source=desktop&utm_medium=timeline

等待一会就编译完了,如果对官方有什么不满的可以自己去修改!效果如图

98b1c9bb6501?utm_source=desktop&utm_medium=timeline

接下来就是自己去刷固件,编译得到是dfu文件,也有bin文件还hex文件,但是都采用了dfu文件,

第一小步,将你的boot0接vcc,boot1接gnd,进入dfu模式

第二小小步,打开你的dfuse demo软件,没有的网上找下就有

98b1c9bb6501?utm_source=desktop&utm_medium=timeline

填写好之后点击upgrade上传,上传完毕后修改 boot0 为gnd

然后重新上电,你电脑就会多以像u盘的东西只有约100kb,主要用来放python文件的,如果没有出现那就多换几个usb孔我自己测试有时会出现不能识别,效果如图

98b1c9bb6501?utm_source=desktop&utm_medium=timeline

98b1c9bb6501?utm_source=desktop&utm_medium=timeline

其中有两个文件一个是boot文件主要是启动时执行一些配置,main.py就是我们自己写的代码了。还有一个inf文件很重要这个是一个驱动文件,把这个文件复制到C:windows/inf文件目录下,这个时候你可以通过OpenIOE IDE软件写代码!

98b1c9bb6501?utm_source=desktop&utm_medium=timeline

关于这个工具需要自己慢慢去体会使用!

关于f103的文章下次再发,需要的话可以网上自己先百度!


推荐阅读
  • 通过将常用的外部命令集成到VSCode中,可以提高开发效率。本文介绍如何在VSCode中配置和使用自定义的外部命令,从而简化命令执行过程。 ... [详细]
  • 2020年9月15日,Oracle正式发布了最新的JDK 15版本。本次更新带来了许多新特性,包括隐藏类、EdDSA签名算法、模式匹配、记录类、封闭类和文本块等。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • C语言中全部可用的数学函数有哪些?2.longlabs(longn);求长整型数的绝对值。3.doublefabs(doublex);求实数的绝对值。4.doublefloor(d ... [详细]
  • 本文整理了一份基础的嵌入式Linux工程师笔试题,涵盖填空题、编程题和简答题,旨在帮助考生更好地准备考试。 ... [详细]
  • 本文将详细介绍如何在Android Studio中导入和编译OSChina Android 2.4版本的源码。包括所需软件、下载地址以及一些注意事项。 ... [详细]
  • 本文详细介绍了 Java 网站开发的相关资源和步骤,包括常用网站、开发环境和框架选择。 ... [详细]
  • 本文详细介绍如何使用Netzob工具逆向未知通信协议,涵盖从基本安装到高级模糊测试的全过程。通过实例演示,帮助读者掌握Netzob的核心功能。 ... [详细]
  • 本文介绍了Java编程语言的基础知识,包括其历史背景、主要特性以及如何安装和配置JDK。此外,还详细讲解了如何编写和运行第一个Java程序,并简要介绍了Eclipse集成开发环境的安装和使用。 ... [详细]
  • iOS 不定参数 详解 ... [详细]
  • 兆芯X86 CPU架构的演进与现状(国产CPU系列)
    本文详细介绍了兆芯X86 CPU架构的发展历程,从公司成立背景到关键技术授权,再到具体芯片架构的演进,全面解析了兆芯在国产CPU领域的贡献与挑战。 ... [详细]
  • malloc 是 C 语言中的一个标准库函数,全称为 memory allocation,即动态内存分配。它用于在程序运行时申请一块指定大小的连续内存区域,并返回该区域的起始地址。当无法预先确定内存的具体位置时,可以通过 malloc 动态分配内存。 ... [详细]
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • 本文介绍了在 Java 编程中遇到的一个常见错误:对象无法转换为 long 类型,并提供了详细的解决方案。 ... [详细]
  • 在 Ubuntu 中遇到 Samba 服务器故障时,尝试卸载并重新安装 Samba 发现配置文件未重新生成。本文介绍了解决该问题的方法。 ... [详细]
author-avatar
吴玩丰_127
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有