阅读更多

1顶
0踩

开源软件



剑桥大学数学科学中心的Damien P. George在研究各种深奥数学、物理问题之余,还搞了一个MicroPython项目,将Python移植到ARM Cortex M微处理器上,并开发了电路板。2013年曾经在KickStarter上成功筹得近10万英镑。2014年成功完成项目,发货。

同时,这个项目也在GitHub上开源,至今已有1800+星,60位贡献者。

George曾在2014年PyCon UK上介绍MicroPython,所用硬件平台叫pyboard,规格是:
  • STM32F405RG: 192k RAM, 1M ROM, 168MHz, Cortex M4F.
  • USB micro connector for device (and host).
  • Micro SD card.
  • 3-axis accelerometer (MMA7660).
  • Real-time clock, 4 LEDs, 2 switches.
  • 30 GPIO: symmetric pin layout, plus extra pins.
  • Internal file system. ”/flash” and ”/sd”.

由于存储太小,CPython都太大,只能自行开发Python实现,采取了很多优化措施:
  • Interned strings, most already in ROM.
  • Small integers stuffed in a pointer.
  • Optimised method calls (thanks PyPy!).
  • Range object is optimised (if possible).
  • Python stack frames live on the C stack.
  • ROM absolutely everything that can be ROMed!
  • Garbage collection only (no reference counts).
  • Exceptions implemented with custom setjmp/longjmp.

优化后,比原生的Python 2和Python 3都快了几个数量级:https://news.ycombinator.com/item?id=7841642

MicroPython的生态系统现在也开始起来了,就在本月前几天,荷兰埃因霍温的一个团队WiPy刚刚在KickStarter上成功众筹到75000多英镑,他们的项目是基于MicroPython软件的另一款硬件:超低功耗的物联网WiFi硬件。

SparkFun上也有WiFi模块ESP8266

HN上的两次讨论:

-https://news.ycombinator.com/item?id=9558969
-https://news.ycombinator.com/item?id=7840566
  • 大小: 80.4 KB
1
0
评论 共 1 条 请登录后发表评论
1 楼 mangguo 2015-05-18 13:50
不错的文章,我也写过一个Python课程

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • MicroPython:微控制器和受限系统的 Python 实现-开源

    MicroPython 是 Python 3 编程语言的精简高效实现,其中包括 Python 标准库的一小部分,并针对在微控制器和受限环境中运行进行了优化。 MicroPython pyboard 是一款紧凑型电子电路板,可在裸机上运行 MicroPython,...

  • micropython微控制器,MicroPython:针对微控制器的Python

    George在研究各种深奥数学、物理问题之余,还搞了一个MicroPython项目,将Python移植到ARM Cortex M微处理器上,并开发了电路板。2013年曾经在KickStarter上成功筹得近10万英镑。2014年成功完成项目,发货。同时,...

  • MicroPython:微控制器上的MicroPython

    MicroPython是为在微控制器上运行而设计的,受微控制器硬件资源的限制,传统计算机程序员对这部分可能不太熟悉,特别是RAM和非易失性存储器“磁盘”(闪存)容量的限制,本文提供了一些方法,可以充分利用这些有限的...

  • micropython:在Ai-Thinker GPRS模块A9(RDA8955)上的MicroPython实现

    这是MicroPython项目,旨在在微控制器和小型嵌入式系统上实现Python 3.x的实现。 您可以在找到官方网站。 警告:此项目处于测试阶段,并且可能会更改代码库,包括项目范围内的名称更改和API更改。 MicroPython...

  • 移植micropython最小工程到mm32f3270微控制器

    移植micropython最小工程到mm32f3270微控制器 苏勇, 2021-08 文章目录移植micropython最小工程到mm32f3270微控制器Introduction初试micropython v1.6增加MM32的移植为新移植创建Makefile附件 Introduction ...

  • python工业控制器_Micropython之PID电机控制2

    PID控制属于工业中应用非常广泛的控制方法,为了使控制量稳定在某个数值,或者某个范围。比如对温度的控制,对电机转速的控制,这些我们看来很简单,但其实这在工业生产中却往往是至关重要的,比如温度控制,不同...

  • 移植micropython的最小工程到lpc5500微控制器

    移植micropython的最小工程到lpc5500微控制器 文章目录移植micropython的最小工程到lpc5500微控制器概述修改Makefile,替换芯片相关文件调整linker文件将常规SRAM分成两块增大栈的大小添加micropython需要引用的变量...

  • rspython:python语言的Rust实现

    python3语言的当前实现为: CPython3(C中的参考实现) PyPy3(在python中实现的python) IronPython3(.NET中的python实现) MicroPython(针对微控制器的C语言中的python实现) RsPython(您正在阅读自述文件) ...

  • 基于单片机、RTOS玩MicroPython

    关注+星标公众号,不错过精彩内容来源 |RTThread物联网操作系统当下MicroPython 变得越来越流行,RT-Thread 也提供了对应的软件包的支持。那么,相比官方原生的 M...

  • 尝尝MicroPython控制单片机

    1. 摘要本文档主要介绍,在python环境下,如何开发嵌入式应用程序,以STM32H43板卡为例介绍. 从系统环境搭建,到编译,到用python实现硬件控制。可作为入门教程。2. 准备...

  • MicroPython做嵌入式开发的优缺点

    关注+星标公众号,不错过精彩内容编排 |strongerHuang微信公众号 |嵌入式专栏Python的火热程度相信大家都看到了,自然,MCU和嵌入式也紧跟“潮流”,随之而来的就是Mi...

  • python在线编辑器可视化_MicroPython可视化拼插编辑器:让硬件编程更智能!

    MicroPython是Python 3语言的精简高效实现 ,包括Python标准库的一小部分,经过优化可在微控制器和受限环境中运行。MicroPython旨在尽可能与普通Python兼容,轻松将代码从桌面传输到微控制器或嵌入式系统。现在...

  • 【雕爷学编程】MicroPython手册之控制流语句

    1、MicroPython的控制流语句与Python的控制流语句基本相同,只是在一些细节上有所区别,如MicroPython不支持match语句,而Python 3.10及以上版本支持。5、用continue语句可以跳过当前循环的剩余部分,直接进入下一次...

  • 【雕爷学编程】MicroPython手册之 OpenMV Cam 手势控制

    通过合理的教学指导和实践,OpenMV Cam手势控制可以帮助学生掌握手势识别技术,培养创新思维和交互设计能力,推动智能化应用的发展。学生可以将OpenMV Cam与机器人平台相结合,利用手势识别功能实现机器人的手势控制...

  • 使用 MicroPython 快速开发基于实时微控制器的应用程序---凯利讯半导体

    实时嵌入式系统变得非常复杂,不仅要深入了解复杂的 32 位微控制器,还要了解传感器、算法、因特网协议以及各种不同的终端用户应用。随着开发周期缩短和功能增多,开发团队需要设法加速设计并将代码移植到新产品中,...

  • micropython文件上传软件_【应用教程】Micro:bit MicroPython 编程简介

    MicroPython 是针对 Python 编程语言的重新实现,针对微控制器和嵌入式系统,这里给大家分享基于 micro:bit 的 MicroPython 编程。在这篇文章中,我们会完成 MicroPython 编程环境的搭建,熟悉变成环境的操作,并且...

  • GUI面板MATLAB香烟汉字识别.zip

    GUI面板MATLAB香烟汉字识别

  • 2023年统招专升本计算机考试真题及答案6.pdf

    2023年统招专升本计算机考试真题及答案6.pdf

  • Java毕业设计-SpringBoot+Vue的“漫画之家”系统(附源码、数据库、教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SpringBoot 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:html、javascript、Vue 后台框架:SpringBoot 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4 后台路径地址:localhost:8080/项目名称/admin/dist/index.html 前台路径地址:localhost:8080/项目名称/front/index.html (无前台不需要输入)

  • 基于ssm+vue的教学视频点播系统(java毕业设计,包括源码,数据库,教程).zip

    Java 项目, Java 毕业设计,Java 课程设计,基于 SSM 开发的,含有代码注释,新手也可看懂。毕业设计、期末大作业、课程设计、高分必看,下载下来,简单部署,就可以使用。 包含:项目源码、数据库脚本、软件工具等,前后端代码都在里面。 该系统功能完善、界面美观、操作简单、功能齐全、管理便捷,具有很高的实际应用价值。 项目都经过严格调试,确保可以运行! 1. 技术组成 前端:vue/html5 后台框架:SSM 开发环境:idea 数据库:MySql(建议用 5.7 版本,8.0 有时候会有坑) 数据库工具:navicat 部署环境:Tomcat(建议用 7.x 或者 8.x 版本), maven 2. 部署 如果部署有疑问的话,可以找我咨询 Java工具包下载地址: https://pan.quark.cn/s/eb24351ebac4

Global site tag (gtag.js) - Google Analytics