尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
从 machine 到 rp2:MicroPython 相关模块一文速览
我们可以把 MicroPython 的系统结构比作​智能手机的运行体系​手机硬件对应微控制器硬件手机的操作系统如 Android/iOS对应 MicroPython 固件而我们安装的 APP 对应用户编写的 MicroPython 程序。固件是整个系统的核心负责衔接硬件和用户程序就像手机系统衔接硬件和 APP 一样。在了解系统结构前先搞懂几个关键的基础知识点​固件​是烧录到微控制器闪存中的预编译程序包包含 MicroPython 解释器、核心库和硬件驱动相当于嵌入式设备的 “操作系统内核 运行环境”。​REPL交互式解释器​全称是 “读取 - 求值 - 打印 - 循环”简单说就是 MicroPython 的 “实时命令行”—— 输入一行代码立刻执行并返回结果方便调试和快速测试代码。​引导加载程序Bootloader微控制器通电后第一个运行的小程序负责把闪存中的固件加载到内存RAM中运行相当于硬件的 “开机启动器”。垃圾回收​器GCMicroPython 自带的内存管理工具会自动清理不再使用的变量、对象等内存占用避免嵌入式设备因内存不足卡死是针对微控制器小内存的优化设计。1.MicroPython 的系统结构一个 MicroPython 系统的典型结构如下图 2.5 MicroPython 系统典型结构图它包括用户程序、MicroPython 固件和微控制器硬件构成固件和硬件是最基础、固定的部分我们只能对用户程序进行编写和修改。MicroPython 固件就类似于一个​嵌入式​的​操作系统​主要用于运行用户程序并提供 REPL 命令​解释器。专用的 MicroPython 开发板如 pyboard、树莓派 pico 等可以直接烧录官方提供的固件运行源代码MicroPython 支持的其他类型开发板需要自己编译源代码产生固件如果是兼容 MicroPython 的开发板需要自己移植 MicroPython 系统。在使用 MicroPython 进行 MCU 的编程之前我们需要首先烧录特定 MCU 芯片对应的 MicroPython 固件烧录完成后我们将编写好的 MicroPython 程序上传到单片机中然后重启 MCU设备通电后引导加载程序负责将 MicroPython 的固件从闪存中加载到 RAM 中固件包含解释器和基本的运行时环境在 MicroPython 开始执行 Python 代码之前它会初始化必要的硬件和外设包括设置时钟、初始化 GPIO、配置外设等MicroPython 会查找并执行预定义的启动脚本如 main.py这个脚本可以包含用户自定义的初始化代码或程序逻辑MicroPython 的解释器首先将 Python 代码编译成字节码这一过程在设备上动态完成避免了需要预编译的复杂过程编译后的字节码由 MicroPython 解释器执行。解释器将字节码转换成具体的操作并在硬件上运行这些操作MicroPython 在微控制器中管理堆栈和内存其自带的垃圾回收器GC也会定期清理不再使用的对象以释放内存空间一旦启动脚本执行完毕MicroPython 进入 REPL 模式等待用户输入命令或代码。2.machine 模块 —与硬件相关的功能machine 模块包含与特定板上硬件相关的特定功能。该模块中的大多数功能允许实现对系统硬件块如 CPU、定时器、总线等的直接和不受限制的访问和控制。使用不当这可能会导致电路板故障、锁定、崩溃在极端情况下还会导致硬件损坏。图 2.6 machine 模块功能架构图3.rp2 模块——特定于 RP2040 的功能该 rp2 模块包含特定于 RP2040 的函数和类如在 Raspberry Pi Pico 中使用的。图 2.7 rp2 模块功能架构图4.MicroPython 标准微库以下标准 Python 库已被“微化”以符合 MicroPython 的理念。它们提供该模块的核心功能旨在替代标准 Python 库。图 2.8 MicroPython machine 模块功能架构图5.MicroPython 特定库图 2.9 MicroPython 特定库功能架构图
RELATED

相关推荐

Windows安卓应用安装终极指南:3分钟搞定APK安装,告别笨重模拟器

Windows安卓应用安装终极指南:3分钟搞定APK安装,告别笨重模拟器

Windows安卓应用安装终极指南:3分钟搞定APK安装,告别笨重模拟器 【免费下载链接】APK-Installer An Android Application Installer for Windows 项目地址: https://gitcode.com/GitHub_Trending/ap/APK-Installer 你是否厌倦了笨重的Android模拟…

📅 2026/9/19 2:48:53
如何用BiliDownloader轻松下载B站视频?终极免费工具使用指南

如何用BiliDownloader轻松下载B站视频?终极免费工具使用指南

如何用BiliDownloader轻松下载B站视频?终极免费工具使用指南 【免费下载链接】BiliDownloader BiliDownloader是一款界面精简,操作简单且高速下载的b站下载器 项目地址: https://gitcode.com/gh_mirrors/bi/BiliDownloader 你是否曾想保存B站的精…

📅 2026/9/10 5:38:25
为什么选择Twitter, together!?开源项目社交媒体管理的终极解决方案

为什么选择Twitter, together!?开源项目社交媒体管理的终极解决方案

为什么选择Twitter, together!?开源项目社交媒体管理的终极解决方案 【免费下载链接】action :bird: A GitHub action to tweet from a repository 项目地址: https://gitcode.com/gh_mirrors/act/action Twitter, together! 是一款基于GitHub Action的开源工…

📅 2026/9/15 17:33:49
MORE NEWS

更多资讯

📰

HTML+CSS+JavaScript+ECharts 实战:恒能电池 ERP 演示站——把电池制造的排程、批次追溯与质量看板做成看得见的系统

HTMLCSSJavaScriptECharts 实战:恒能电池 ERP 演示站——把电池制造的排程、批次追溯与质量看板做成看得见的系统 一、前言 锂电池工厂里最值钱的数据,往往不在财务报表里,而在产线上:这一罐浆料配了什么配方、这一卷极片面密度…

📰

搞定域名服务器:DIY网站源码落地的最佳实践指南

搞定域名服务器:DIY网站源码落地的最佳实践指南 域名解析报错 404,服务器 SSH 连接超时,Nginx 配置改完直接白屏。对于想自己动手搭建网站的朋友来说,这“域名服务器搞不懂”的三座大山,是拦路虎也是试金石。别慌,这其实是 DIY…

📰

个人财务数字化实操:从碎片数据到资产全景图

1. 个人财务数字化改造,从“记账软件”到“资产全景图”先说清楚我在搞什么:这不是传统意义上“管钱”的话题,而是一个偏个人向的金融科技实操记录。我借助一批主流的金融服务工具(在线券商账户、电子支付账户、信用卡账单平台、预…

📰

金融服务业技术实践:从需求到落地的关键路径

我无法根据当前输入生成符合要求的博文。原因如下:项目标题“financial-services”仅为一个宽泛的行业领域名词,缺乏具体项目指向(如“基于区块链的跨境支付系统实现”“智能投顾算法在银行理财推荐中的落地”等);项目…

📰

Fluent后处理实战:云图、矢量图、流线图的核心技巧与避坑指南

1. Fluent后处理到底在做什么:从求解器到可视化表达的最后一公里很多人做Fluent仿真,把大量精力花在网格划分、边界条件设置、求解器调参上,等到计算收敛之后,面对后处理环节反而草草了事。我见过不少案例,仿真结果本身…

📰

jspaint 无障碍面部鼠标引擎:Tracky Mouse 头部跟踪、驻留点击与桌面应用集成完全指南

前端桌面应用图像处理 【免费下载链接】jspaint 🎨 Classic MS Paint, REVIVED ✨Extras 项目地址: https://gitcode.com/gh_mirrors/js/jspaint 点击查看 免费下载 本…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬