原先一直在ARM架构下编写Cpython,先来说说ARM架构优缺点:
1、系统资源足够,虽然python的性能不怎样,但完全不用担心运行效率,愉快的编写逻辑就可以了
2、有现成的操作系统,所以一些比如联网,维护等工作不用操心
3、硬件成本高,IO不够充足,对硬件底层一些控制力不够好,这也是我想换平台的原因
ESP32这款芯片不多做介绍了,网上资料很多,主要是低功耗,低成本,还自带WIFI和蓝牙,完全符合我项目的要求。

micropython是一个固件(小系统),其语言是Python的精简版,经过优化可在微控制器和受限环境中运行,最初支持的是pyboard这个硬件平台,后来作者把这个固件不断更新,得以支持不同单片机芯片,例如STM32,ESP8266,ESP32等等

连接UART,板子启动看到信息,首先是bootload,ESP-IDF信息,随即进入熟悉的python命令行模式
从cpy移植到mpy很轻松,语言基本不变,mpy支持的基本模块也挺多的,比如json之类,只要重写联网、IO控制这一块代码,这些mpy官方接口文档都有很好的说明,对照用就可以了,社区也有很多案例,这就是开源的好处,我只用了一天就把项目移植好了,用的开发工具是mu-editor,支持文件管理。但是接下的事情让我很痛苦。。。爆内存了
然后分析原因,ESP官方称设计RAM有520K,除去系统需要留给mpy可用的最多100多K了,实际项目运行后空余内存不足20K,但项目有个超大的Dict表用来存储采集的数据,运行到这里内存就不足了,一般python程序员不太会关心硬件内存问题,至于什么heap,stack区的区别,还
从ARM到ESP32: MicroPython移植记

最低0.47元/天 解锁文章
11万+

被折叠的 条评论
为什么被折叠?



