复刻笔记:ESP32桌面小电视内存不够用,Arduino 为开发板 ESP32 Dev Module 编译时出错。
1.ST7789驱动
(见文末 参考资料[2]
)
2. 电路图
(详细电路图略)
- 去掉CH340K下载电路,用串口转TTL下载工具下载;
- 去掉按键设置显示动画,重启配网等操作;
3.内存修改
项目使用了 2880030 字节,占用了 (219%) 程序存储空间。最大为 1310720 字节。全局变量使用了45016字节,(13%)的动态内存,余留282664字节局部变量。最大为327680字节。项目太大了;阅读以下页面的提示减小文件大小。http://www.arduino.cc/en/Guide/Troubleshooting#size 为开发板 ESP32 Dev Module 编译时出错。
3.1 步骤
第一步:下图路径找到 boards.txt
文件
第二步:内存分配文件
首选的内存分配文件是default.csv
,可以看到app0的size参数是0x140000,转换成十进制则是1310720,简单换算下也就是1.3M左右。
内存分配文件huge_app.csv
可以用下面提供的配置代码,在 boards.txt
文档内查找到三段代码的位置后,剪切到对应的位置即可。
esp32.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
esp32.menu.PartitionScheme.huge_app.build.partitions=huge_app
esp32.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
注意:改完后记得保存,并且需要重启IED才会生效。
第三步:
4. 复刻修改
4.1 WiFi.hostname()
WiFi.hostname() 设置新的WiFi 设备名老是报错,估计是新的库更新了,WiFiClass 类里没有hostname成员。
懒得纠结于此,索性注释掉后,编译成功。
4.2 其他修改
- 设置配网成功后开启广告,显示二维码;
- 设置主界面中间显示龙猫动画;
首次使用,ESP32的NVS存储中并没有wifi数据,所以会自动进入Web配网模式,此时,打开手机,进入wifi设置,手机连接“桌面小电视”,随后会自动弹出配网页面,输入所处环境的wifi信息即可。
手机开热点什么的要注意ESP32-WROOM-32原生不支持5G频段。
资料下载
- 【CSDN】 程序源码:ST7789-ESP32左面小电视天气显示资料汇总
参考资料
- [1] 内存不够用?ESP32环境下的Mixly如何修改内存分配?
- [2] 【CSDN】ESP32 入门笔记08:1.54寸(240*240)彩色TFT 显示高清IPS LCD 屏幕 SPI接口
- [3] 【嘉立创EDA开源硬件平台】ESP32桌面小电视_CH340K