阅读更多

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 编程环境的搭建,熟悉变成环境的操作,并且...

  • 【前端素材】大数据-设备环境监测平台.zip

    大数据技术指的是用于处理和分析大规模数据集的技术和工具。以下是一些常见的大数据技术和工具: Hadoop:Apache Hadoop是一个用于分布式存储和处理大规模数据的开源框架。它包括Hadoop Distributed File System(HDFS)用于数据存储和MapReduce用于数据处理。 Spark:Apache Spark是一个快速、通用的集群计算系统,提供了比MapReduce更快的数据处理能力。它支持内存计算和更多复杂的数据处理流程。 NoSQL数据库:NoSQL数据库(如MongoDB、Cassandra等)则更适用于处理这类数据。 数据仓库:数据仓库是一个用于集成和分析大规模数据的存储系统,一些知名的数据仓库包括Snowflake、Amazon Redshift等。 数据湖:数据湖是一个存储结构化和非结构化数据的存储池,用于支持数据分析和机器学习应用。 机器学习:大数据技术也广泛应用于机器学习领域,支持大规模数据的模型训练和预测分析。 流式处理:针对实时数据处理需求,流式处理技术(如Apache Kafka、Apache Flink)可以实时。

  • 倍福GSDML-V2.31-Pepperl+Fuchs-PxV100-20210104.xml

    倍福GSDML-V2.31-Pepperl+Fuchs-PxV100-20210104.xml

  • 【前端素材】大数据-地图数据可视化.zip

    大数据技术指的是用于处理和分析大规模数据集的技术和工具。以下是一些常见的大数据技术和工具: Hadoop:Apache Hadoop是一个用于分布式存储和处理大规模数据的开源框架。它包括Hadoop Distributed File System(HDFS)用于数据存储和MapReduce用于数据处理。 Spark:Apache Spark是一个快速、通用的集群计算系统,提供了比MapReduce更快的数据处理能力。它支持内存计算和更多复杂的数据处理流程。 NoSQL数据库:NoSQL数据库(如MongoDB、Cassandra等)则更适用于处理这类数据。 数据仓库:数据仓库是一个用于集成和分析大规模数据的存储系统,一些知名的数据仓库包括Snowflake、Amazon Redshift等。 数据湖:数据湖是一个存储结构化和非结构化数据的存储池,用于支持数据分析和机器学习应用。 机器学习:大数据技术也广泛应用于机器学习领域,支持大规模数据的模型训练和预测分析。 流式处理:针对实时数据处理需求,流式处理技术(如Apache Kafka、Apache Flink)可以实时。

  • 使用WADL文件的工具(高分项目).zip

    Java SSM项目是一种使用Java语言和SSM框架(Spring + Spring MVC + MyBatis)开发的Web应用程序。SSM是一种常用的Java开发框架组合,它结合了Spring框架、Spring MVC框架和MyBatis框架的优点,能够快速构建可靠、高效的企业级应用。 1. Spring框架:Spring是一个轻量级的Java开发框架,提供了丰富的功能和模块,用于开发企业级应用。它包括IoC(Inverse of Control,控制反转)容器、AOP(Aspect-Oriented Programming,面向切面编程)等特性,可以简化开发过程、提高代码的可维护性和可测试性。 2. Spring MVC框架:Spring MVC是基于Spring框架的Web框架,用于开发Web应用程序。它采用MVC(Model-View-Controller,模型-视图-控制器)的架构模式,将应用程序分为模型层、视图层和控制器层,提供了处理请求、渲染视图和管理流程的功能。 3. MyBatis框架:MyBatis是一个持久层框架,用于与数据库进行交互。它提供了一种将数据库操作与Java对象映射起来的方式,避免了手动编写繁琐的SQL语句,并提供了事务管理和缓存等功能,简化了数据库访问的过程

Global site tag (gtag.js) - Google Analytics