从头自己研究编译esp32的micropython固件
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
直接复制粘贴即可,建议全程上梯子,不然真的网速感人 5.安装esp-idf
mkdir -p ~/esp cd ~/esp git clone --recursive https://github.com/espressif/esp-idf.git
就是建立了个esp的文件夹并git 6.设置工具,继续照搬:
cd ~/esp/esp-idf export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets" ./install.sh
7.设置环境变量:
. $HOME/esp/esp-idf/export.sh
8.后面用的是这个链接的教程: 每步都是照着来的,不赘述了 固件编译后的 firmware.bin 文件产生在 port/esp32/build 文件夹 9.目前已经成功学会如何make固件了,但是要如何把lvgl加入进去呢,继续研究,去git lv_micropython,去官网就可以看到链接,发现目录结构跟git的microopython基本一样,如法炮制,直接进入portsesp32 然后make,报错了,查了下原因,是说必须跟esp-idf的版本对应,在readme.md中找到了解决方法:
$ cd ports/esp32 $ make ESPIDF= # This will print the supported hashes, copy the one you want. $ export ESPIDF=$HOME/src/github.com/espressif/esp-idf # Or any path you like. $ mkdir -p $ESPIDF $ cd $ESPIDF $ git clone https://github.com/espressif/esp-idf.git $ESPIDF $ git checkout <Current supported ESP-IDF commit hash> $ git submodule update --init --recursive
说白了就是把esp-idf的版本更换一下 10.继续到portsesp32中去 make,如果都设置好了的话,就可以正常编译了,最后赶紧把bin文件烧录到esp32中跑了一下,可以运行,并且终于有lvgl库了,但是报错如下:
E (886) spiram: SPI RAM enabled but initialization failed. Bailing out. E (23) spiram: SPI RAM not initialized
估计是做固件的时候没有考虑SPI RAM的问题,小问题,可以说至此固件完成了,有空我会将编译好的固件上传供大家使用。
