赞
踩
本文的最初目的是将最新版的LVGL库刷到esp32中,之前只有别人已经编译好的固件,今天我自己从头折腾。
步骤:
1.选择一个虚拟机,这里我直接选择了VMware player,因为他简单好用,我不需要那么专业复杂的虚拟机;
2.选择liunx系统,这里我选的是unbuntu,这个系统知名度高而且我比较有好感,直接去官网下了ISO,在VMware player16中可以自动识别出这个ISO文件,安装一路按照默认设置,没遇到问题,就是安装系统下载资源的时候比较慢,建议上梯子;
3.开始找网上教程开干,参考链接:esp-idf官方教程
4.为详细记录,这里再记录一下步骤,首先安装对应的包:
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基本一样,如法炮制,直接进入\ports\esp32 然后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.继续到\ports\esp32中去 make,如果都设置好了的话,就可以正常编译了,最后赶紧把bin文件烧录到esp32中跑了一下,可以运行,并且终于有lvgl库了,但是报错如下:
E (886) spiram: SPI RAM enabled but initialization failed. Bailing out.
E (23) spiram: SPI RAM not initialized
估计是做固件的时候没有考虑SPI RAM的问题,小问题,可以说至此固件完成了,有空我会将编译好的固件上传供大家使用。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。