打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
microPython源码分析.1

我最近写了很多microPython的程序,越写越回不到写C的日子。你说在这个背后是如何实现这一切的?为什么在烧录一个几百kb的bin文件之后就会获得这些魔法效果?我可不可以把这种魔法效果移植到别处呢?我找了很久,零零碎碎的,而且大多数文章都是适可而止,让我很难受。。。我想所有的一切都可以在源码中获得。我们将会在这个过程中学到什么:

  1. 交叉编译技术

  2. 环境搭建技术

  3. c模块编写

  4. py接口编写

  5. 代码组织

  6. 内在原理

  7. 驱动移植

  8. 待续

这里

mpy最早是在stm32上面实现的,后面是移植到各种的平台上面。我这次的硬件想使用ESP32,说说一些我的取舍,首先是资料丰富,各种层次的资料都比较齐全,而且是官方是比较积极的在更新。第二点的取舍是功能丰富,我们可以看下面这个功能的框图.其次是很便宜,一个最小的裸片才不到15块钱(不说s2的型号),集成USB,下载这些的功能的板子是20块钱以里。学习的硬件条件很便宜。

整个过程是阅读为主,所以需要一款文本阅读器。要求首先是要可以搜索,然后就是最好可以把里面的函数对象和宏定义的对象显示出来。我这里先使用VSCode来读,当不满足需求的时候来搭配其它的软件读取。

功能框图

https://www.espressif.com/zh-hans/products/socs/esp32
https://github.com/micropython/micropython
https://micropython.org/
https://micropython.org/download/
https://micropython.org/download/esp32



https://www.espressif.com/zh-hans/support/documents/technical-documents

对于一些芯片上面的寄存器的信息,在这里有

https://github.com/micropython/micropython-esp32
https://github.com/micropython


在官方的仓库里面有几个仓库

现在是只有一个主库在维和,剩下都是在历史仓库

可能研究使用

这个库是几年前的一个历史库

git clone https://github.com/micropython/micropython-esp32.git

我们可以执行上面的这个命令来拉取一份库文件

可以看到最后的一次修改在18年

我们都21年了

这里前后两个库都放在这里

这个地方是代码的组织形式

在doc里面有说明

py的这个目录是mpy的c实现,我们之后会重点的读

一共167个文件

这个目录是:用于将脚本转换为预编字典的微型Python交叉编译器


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一款可以运行python的单片机
从远程库克隆
GitHub的文件高速下载方法
Arduino常用库集合
MicroPython入门指南
MicroPython 玩转硬件系列1:环境搭建
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服