大家好,今天想跟大家分享下,如何编译ESP32-S3-DevKit1C-N32R8v / N16R8v的MicroPython固件。
那为什么要自己编译这个固件呢?首先MicroPython实在是太简单易用了。相较于C/C++,虽然对很多设备/功能支持还少(划重点!),但如果你想实现的只是简单的IOT(物联网)项目,那MicroPython绝对是你最容易上手的方式。C/C++的环境搭建对于新手来说,还是太难了。但也因为画出的重点,有些设备你是无法在网上直接找到固件(Firmware)的,有些找到的,都不是最新版,缺失一些最新发布的功能。所以,如果玩的不是热门硬件的话,还是需要自己来编译的。
废话少说,进入主题:
(资料图片)
首先,Linux是不可或缺的。有3种主流方式:WSL(Window subsystem for Linux),虚拟机,实机安装。WSL是可以用的,但是你要想办法把串口接进去,这一点我没能做到,所以我就选择了另外2种方式。这3种方式所用的代码基本都是一样的,无论选那种,都能成功。
系统我选择的是Ubuntu,如果你是使用其他distro的大佬,请自行修改代码!
到目前为止,所有你需要的环境都已经安排好了。要注意的是,如果你电脑重启了,你需要重新在 esp-idf 文件夹下运行 source export.sh。
不多BB,直接打码。
menuconfig 初始为 build。GENERIC_S3_SPIRAM 初始为 GENERIC 。PORT 请更改为你自己连接的串口。具体可以尝试用
来寻找接口,实机的话一般是 ttyUSB0 或者 ttyACM0 。然后
改完之后
得图如下:
然后做出如下更改,首先在Serial flasher config里面:
注意Flash size改为你的版本的大小。Flash SPI mode会自动传唤为OPI。按ESC返回上级菜单,回车选择。更改完成后,返回至最上级菜单,进入Partition Table
改为你的版本的大小,注意,32MB以上需要自行提供partition table。按Q然后按Y。
这里会提示Error,请忽视
如果有错误/可以改进的地方,欢迎大佬们留言!谢谢观看~
关键词: