【LC实战派】小智固件编译

这篇写给立创吴总,是节前答应他配合git代码的说明;也给所有对小智感兴趣的小伙伴。

请多提意见,让这份文档更有价值 -

第一当然是拉取源码 -

git clone https://github.com/78/xiaozhi-esp32.git

完成后,先查看固件中实际的分区表 -

然后对照着看项目根目录的excel中的分区表partitions_16M,发现格局小了 -

在立创实战派上,你有16M Bytes的内存(0x0100 0000)还不用完,这么扣扣索索的干嘛呢? 这里的0x0038 0000相当于是,3.5MBytes;如果算最终的存储占用,是0x0048 0000+0x0038 0000,等于8MBytes;这个应该是给小一点存储的开发板用的,但是名字写错了。那我们直接参考固件,把容量拉满吧(虽然也只用了13MBytes还不到一点逼死强迫症,但为了兼容官方忍了) -

然后menuconfig中选择自定义分区表,并给出文件名 -

例行clean一下,最好fullclean一下,避免git下来的文件夹中有不需要的玩意,茫茫多的莫名其妙多多编译错误与此相关 -

当然,如果用vsc插件,并且刚打开文件夹的话,记得重新选择一下器件型号,这实际上是重新设施一下编译环境,避免后面编译参数莫名出错;也可以用命令。

但是这个操作,会造成sdkconfig被覆盖(自动备份到sdkconfig.old),所以如果你不是用的默认的sdkconfig,还需要恢复一下这个文件。

其他menuconfig设置 -

flash:

开发板:

RAM:

上面的需要修改,其他设置简单看了一下,应该都是默认,如果后面发现有遗漏的再补上。

需增加启用LV_FONT_FMT_TXT_LARGE支持,否则海量报错 -

需增加启用LV_USE_IMGFONT,否则报错 -

修改编译选项,增加异常处理,然后别忘了fullclean再编译 -

解决i2c驱动兼容问题,否则i2c driver NG 或者 i2c driver not installed - 这里的方法是兼容,其实彻底的方法是修改i2c驱动的文件 i2c -> i2c_maser,API使用2.0替代1.0,因为官方在6.0版本会放弃对老版本兼容,不过这里偷个懒先 -

使用了64位的字体,相应的增加lvgl的内存使用,并且对齐内存,同时使用RTOS的malloc函数分配内存 -

比想象的花了更多的时间,终于编译完成拉!

效果 -

完结撒花~后续在评论上git/gitee,还有立创开发板的官方链接。为爱发电,有问题的小伙伴可以留言,不过不确定什么时间上线看评论;所以还是建议去官方提issue。

看都看到这里了,小伙伴给三连一下呗!

相关推荐
小_楠_天_问25 天前
第二课:ESP32 使用 PWM 渐变控制——实现模拟呼吸灯或音调变化
c语言·嵌入式硬件·mcu·esp32·arduino·pwm·esp32-s3
Try1harder2 个月前
ESP32-idf学习(二)esp32C3作服务端与电脑蓝牙数据交互
物联网·嵌入式·蓝牙·乐鑫·esp32c3
深圳启明云端科技2 个月前
家电产品智能屏方案,ESP32系列助力智能升级,物联网通信交互应用
物联网·人机交互·芯片·乐鑫·esp32-s3·esp32-c3·智能屏
深圳启明云端科技3 个月前
ESP32-C6助力设备互联互通,Wi-Fi6无线通信方案,物联网交互联动
物联网·乐鑫·wifi6·esp32-c6·无线方案
深圳启明云端科技3 个月前
ESP32-H2芯片模组方案,设备物联网通信,智能化无线控制联动
物联网·无线通信·模块·乐鑫·esp32-h2·芯片模组
深圳启明云端科技3 个月前
ESP32芯片模组方案,设备物联网无线通信,WiFi蓝牙交互控制应用
物联网·esp32·智能家居·芯片·乐鑫·模组·无线方案
深圳启明云端科技3 个月前
乐鑫ESP32系列产品方案,智能屏无线交互控制应用,设备触控语音交互联动
物联网·乐鑫·esp32-s3·esp32-c3·智能屏·esp32-p4·无线组网
深圳启明云端科技3 个月前
设备物联网无线通信,ESP32-C3芯片模组方案,智能化联动控制
物联网·芯片·乐鑫·esp32-c3·模组·无线方案
深圳启明云端科技3 个月前
ESP-WIFI-MESH组网方案,设备物联网无线交互,WiFi通信智能联动
物联网·智能家居·乐鑫·无线方案·wifi组网