ESP32使用LVGL加载图片时,如果图片较大,会发生设备启动失败的问题。
设备启动后打印错误信息如下:
E (651) esp_image: Image length 1316944 doesn't fit in partition length 1048576
E (651) boot: Factory app partition is not bootable
E (653) boot: No bootable app partitions in the partition table
这是个比较典型的错误,解决方法也比较简单。产生这个问题是因为存储空间溢出了,具体细节大家可以自行百度查看。解决方法就是自定义分区表。
第一步:执行idf.py menuconfig后,选择Serial flasher config
第二步:修改Flash size,这里保证有足够的空间来存放图片
第三步:选择Partition Table,来自定义分区表,目的是增加原来存放内容的空间
第四步:进入选型后修改配置为下图所示
第五步:在项目中添加自定义分区表partitions.csv,该文件添加路径在项目根目录就可以。
参考配置
最后重新编译后就不会有问题了。