NodeMCU ESP32固件编译缺失U8G2 I2C显示屏驱动问题
NodeMCU ESP32分支U8G2 I2C驱动编译缺失问题
基础环境与正常编译情况
- 编译平台:树莓派5,克隆NodeMCU esp32-dev分支代码
- 基础模块编译:仅编译基础模块时,固件生成正常,可通过
esptool刷入Espressif ESP32-WROOM-32等设备
问题现象
通过make menuconfig启用I2C版U8G2并编译后,出现以下异常:
- 目标驱动
u8g2.ssd1306_i2c_128x64_noname缺失 - 仅选中的3款字体(如
u8g2.font_6x10_tf)正常出现在固件中 - 编译后的固件仅包含字体、绘图常量及旋转/镜像相关数据,无显示屏驱动函数(参考ESP8266或Chilipeppr ESP32固件,应包含多个显示屏驱动函数)
编译过程中的警告与异常日志
未使用函数警告
/home/pi/esp32/nodemcu-firmware-esp32-241010a/components/modules/u8g2.c:617:12: warning: 'ldisplay_i2c' defined but not used [-Wunused-function]
其他异常提示
awk: line 2: function strtonum never defined- I2S API弃用警告
已尝试的排查操作
- 分别尝试单独编译I2C驱动、同时编译I2C+SPI驱动
- 删除
sdkconfig配置文件后,重新通过make menuconfig进行配置 - 修改
components/modules/node.c中的BUILDINFO_LFS_SIZE参数,解决了之前出现的编译错误
当前固件信息
NodeMCU ESP32 build 2024-11-07 03:38,基于Lua 5.3.5与IDF v5.1.3,已启用U8G2、I2C模块。
内容的提问来源于stack exchange,提问作者owl
相关产品推荐
相关产品推荐

