阅读更多

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课程

发表评论

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

相关推荐

  • FlashMagic V5.62

    代码下载地址: https://pan.quark.cn/s/3ea78c9f086f FlashMagic V5.62(一种用于单片机烧录的软件) FlashMagic V5.62程序烧录工具

  • YOLO算法家庭厨房香蕉目标检测数据集-447张-标注类别为香蕉.zip

    【注:该页面底部资源详情处,可查看数据集可视化效果】 1. YOLO目标检测数据集, 适用于YOLOV5、yolov7,yolov8,v9, yolov11, yolov13, yolo26等系列算法,含标签,已标注好,可以直接用来训练; 2. 内置data.yaml数据集配置文件,已经划分好了训练集、验证集等; 3. 数据集和模型具体情况可参考 https://blog.csdn.net/zhiqingAI/article/details/124230743?spm=1001.2014.3001.5502

  • 易语言源码易语言简单IP加密还原源码

    易语言源码易语言简单IP加密还原源码

  • 易语言源码易语言简单水印制作源码

    易语言源码易语言简单水印制作源码

  • Arduino Nano 20KHz 袖珍数字示波器[项目源码]

    本文设计了一款以Arduino Nano开发板为核心的便携式数字示波器,通过迷你OLED显示屏显示信号波形、频率和占空比,并使用按键开关更改测量模式和SCALE。该示波器克服了传统模拟示波器检测信号类型少、不具备预触发功能,以及数字示波器功耗高、体积大、价格昂贵等局限性。项目采用Arduino Nano R3、0.96英寸OLED 64x128显示模块、按键开关、电阻电容等硬件组件,在JLCPCB立创EDA上设计PCB电路板。软件方面使用Arduino IDE进行编程,通过C语言实现示波器功能,包括垂直幅度值划分(0.2V至50V)、水平时间值划分(1.56微秒至200毫秒)、触发沿设置、时域/频域切换等。实际测试中,该示波器能成功测量正弦波、矩形波、三角波等信号,并支持FFT变换显示频谱图。通过整体联调测试,测量STM32单片机输出的PWM信号,占空比测量误差在允许范围内。该示波器适用于10Hz至20KHz之间的波形分析,可用于测量音频信号、放大器信号和蓝牙信号等。

  • YOLO算法工业设备螺栓目标检测数据集-1060张-标注类别为螺栓.zip

    【注:该页面底部资源详情处,可查看数据集可视化效果】 1. YOLO目标检测数据集, 适用于YOLOV5、yolov7,yolov8, yolov11, yolov13, yolo26等系列算法,含标签,已标注好,可以直接用来训练,包含YOLO格式标签和VOC格式标签; 2. 内置data.yaml数据集配置文件,已经划分好了训练集、验证集等; 3. 数据集和模型具体情况可参考 https://blog.csdn.net/zhiqingAI/article/details/124230743?spm=1001.2014.3001.5502

  • 基于粒子群算法的电动汽车充电动态优化策略研究(Matlab代码实现)

    内容概要:本文系统研究了基于粒子群算法(PSO)的电动汽车充电动态优化策略,并提供了完整的Matlab代码实现。研究聚焦于通过智能优化算法实现电动汽车充电过程的动态调度,旨在提升充电效率、降低电网负荷峰值、促进可再生能源消纳,并实现能源的高效与低碳分配。文中详细阐述了优化模型的构建过程,包括多目标函数设计(如最小化充电成本、电网负荷波动和用户等待时间)、约束条件设定(如充电功率限制、电池容量、用户出行需求等),以及粒子群算法的具体实现流程。通过仿真实验验证了该策略在不同场景下的有效性与鲁棒性,展示了其在削峰填谷、降低用电成本和提升用户体验方面的显著优势。该研究是智能优化算法在智慧交通与新型电力系统融合领域的重要应用。; 适合人群:具备一定Matlab编程能力和优化算法基础知识,从事电力系统规划、新能源汽车管理、智能交通、能源互联网等方向的科研人员、工程技术人员及高校研究生。; 使用场景及目标:①应用于城市电动汽车有序充电管理平台与智能小区能源管理系统;②为微电网和配电网中的电动汽车集群提供科学的调度决策支持;③帮助研究人员深入理解并掌握粒子群算法在复杂多目标动态优化问题中的建模、求解与仿真分析方法。; 阅读建议:建议读者结合所提供的Matlab代码进行动手实践,重点分析目标函数的权重设置、算法关键参数(如惯性因子、学习因子)对优化结果的影响,并尝试将模型拓展至考虑更多不确定性因素(如用户行为随机性、可再生能源出力波动)的场景,以深化对智能优化调度策略的理解与应用能力。

  • 易语言源码易语言简单群聊程序源码

    易语言源码易语言简单群聊程序源码

  • 覆盖和覆盖D2D通信网络的传输容量分析(Matlab代码实现)

    内容概要:本文围绕“覆盖和覆盖D2D通信网络的传输容量分析”的Matlab代码实现展开,重点研究设备到设备(D2D)通信在蜂窝网络覆盖下的传输容量特性。通过建立合理的通信系统模型,对频谱效率、干扰管理、资源分配等关键因素进行建模与仿真,利用Matlab工具量化评估D2D通信网络在不同场景下的传输容量表现。文档虽混杂多个研究主题,但核心聚焦于D2D通信系统的性能分析,涵盖信道建模、功率控制、干扰抑制及容量计算等关键技术环节,旨在为相关通信系统设计与优化提供仿真依据和技术支持。; 适合人群:具备通信工程、电子信息或相关专业背景,熟悉Matlab编程语言,掌握无线通信基本理论(如干扰、频谱效率、链路预算等)的研究生、科研人员或通信领域工程师。; 使用场景及目标:① 研究D2D通信与蜂窝网络的共存机制及其相互干扰影响;② 仿真对比不同资源复用策略或功率控制算法对D2D网络传输容量的提升效果;③ 支持学术论文撰写、科研项目验证或课程设计中对D2D通信系统性能的定量分析与优化。; 阅读建议:建议结合现代无线通信原理与网络容量理论进行深入学习,重点关注代码中的用户分布模型、信道增益计算、干扰建模及容量公式实现部分,可通过调整网络密度、发射功率、频谱复用方式等参数进行多组对照实验,以全面理解系统性能变化规律。

  • MFC聊天程序课程设计[项目代码]

    本文详细介绍了基于MFC框架的Windows聊天程序课程设计项目,涵盖了MFC框架基础、面向对象编程概念、多线程通信与网络编程、聊天界面设计、消息广播机制以及事件驱动模型等核心内容。项目要求学生使用CSocket类实现网络通信,通过多线程技术处理多个用户同时在线聊天,并设计用户界面包括输入框、按钮、消息框和列表控件等交互元素。文章还深入讲解了消息映射机制和事件处理流程,以及如何实现消息广播功能。该项目旨在将C++和MFC编程理论应用于实践,帮助学生掌握Windows应用程序开发的关键技术,为未来复杂软件开发奠定基础。

  • RK3588 120fps eDP屏幕适配[项目源码]

    本文详细介绍了在RK3588平台上适配华硕ROG Ally掌机屏幕(型号TL070FVXS01或TS070FHM-LU0,分辨率1080*1920,120fps,支持多点触控)的过程。内容涵盖硬件设计、eDP接口配置、设备树配置、驱动修改及屏幕测试。重点指出Linux 6.1及以上内核可直接支持该eDP屏幕,而低于6.1版本需修改eDP驱动和PHY配置。设备树配置中定义了面板参数(如时钟频率285.54MHz、时序参数)、背光控制(PWM14,亮度等级46级)、电源及使能GPIO等。同时提供了Linux 5.10.110内核下修改后的eDP驱动和PHY驱动文件下载链接,以及触屏驱动配置和代码下载链接。最后展示了Ubuntu系统下的屏幕信息测试结果。

  • CPT204 week 5-8

    CPT204 week 5-8

  • YOLO算法室内桌面文具与食品目标检测数据集-880张-标注类别为铅笔-尺子-橡皮擦-剪刀-饮料罐-零食包装-瓶装水-纸巾盒-文具盒-胶水-订书机-计算器-苹果-香蕉-橙子-葡萄.zip

    【注:该页面底部资源详情处,可查看数据集可视化效果】 1. YOLO目标检测数据集, 适用于YOLOV5、yolov7,yolov8,v9, yolov11, yolov13, yolo26等系列算法,含标签,已标注好,可以直接用来训练; 2. 内置data.yaml数据集配置文件,已经划分好了训练集、验证集等; 3. 数据集和模型具体情况可参考 https://blog.csdn.net/zhiqingAI/article/details/124230743?spm=1001.2014.3001.5502

  • 直流电机双闭环控制Matlab仿真

    内容概要:本文档聚焦于“直流电机双闭环控制Matlab仿真”,系统阐述了基于Matlab/Simulink平台构建直流电机双闭环(速度环与电流环)控制系统的方法。文档详细介绍了仿真模型的设计流程,涵盖PI控制器的参数设计与整定、系统动态响应特性分析、抗干扰能力评估等核心技术环节,旨在通过仿真手段验证控制策略的有效性,提升电机运行的稳定性、快速性与精确性。内容体现了较强的理论深度与工程实践价值,适用于电机控制系统的教学研究与工程开发。; 适合人群:具备自动控制原理、电机拖动基础及Matlab/Simulink仿真操作能力的电气工程、自动化、机电一体化等相关专业的本科生、研究生,以及从事电机驱动与控制、电力电子系统研发的工程技术人员;尤其适合开展电机控制课题研究的硕博研究生。; 使用场景及目标:①掌握直流电机双闭环控制系统的建模与仿真技术;②深入理解速度环与电流环中PI控制器的设计原理与参数调节方法;③通过仿真实验分析系统的启动特性、稳态精度与抗负载扰动性能,为实际电机控制器的开发与优化提供理论依据和技术支撑。; 阅读建议:建议结合Simulink仿真模型进行动手实践,重点观察不同PI参数对系统动态响应的影响,对比超调量、调节时间与稳态误差等性能指标,深化对控制理论的理解;同时可参考文档中其他电力电子与电机控制案例,拓展对现代运动控制系统设计的认知。

  • YOLO算法工业传送带表面裂缝目标检测数据集-1331张-标注类别为裂缝-无裂缝.zip

    【注:该页面底部资源详情处,可查看数据集可视化效果】 1. YOLO目标检测数据集, 适用于YOLOV5、yolov7,yolov8, yolov11, yolov13, yolo26等系列算法,含标签,已标注好,可以直接用来训练,包含YOLO格式标签和VOC格式标签; 2. 内置data.yaml数据集配置文件,已经划分好了训练集、验证集等; 3. 数据集和模型具体情况可参考 https://blog.csdn.net/zhiqingAI/article/details/124230743?spm=1001.2014.3001.5502

  • 蓝桥杯LL库GPIO驱动LED代码.zip

    本资源为蓝桥杯嵌入式 CT117E 开发板完整 STM32 LL 库工程,基于 LL 库实现 8 路 LED 流水灯驱动,包含完整gpio.c、main.c、系统时钟配置代码。 GPIO 底层配置:PC8~PC12、PC13~PC15 共 8 路 LED 推挽输出初始化; 锁存器 PD2 控制函数Led_Disp(uint8_t uled),一键批量控制 8 个 LED 亮灭; 简易微秒级延时函数Delay_us,主循环实现自动流水灯滚动效果; 80MHz 系统时钟 PLL 配置,纯 LL 库 API 无 HAL 库冗余封装,代码轻量化。

Global site tag (gtag.js) - Google Analytics