完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
硬件:ESP32-S模组,取下屏蔽罩更换了flash
软件:ESP-IDF v4.3.1 开发环境:Windows+VScode+Espressif IDF插件 因为需要存放9M的图片组,所以写了个.h文件,定义了一个很大的常量数组来保存它,使用static const char* pic[]={} 按照教程修改了config里面的flash大小为16M,再修改了patition table。编译时出来了 Generated D:/xxxx/ESP32SDK/tcp_client/build/bootloader/bootloader.bin[916/917] Linking CXX executable tcp_client.elfFAILED: tcp_client.elf cmd.exe /C "cd . && D:Usersxxxx.espressiftoolsxtensa-esp32-elfesp-2021r1-8.4.0xtensa-esp32-elfbinxtensa-esp32-elf-g++.exe -mlongcalls -Wno-frame-address @CMakeFilestcp_client.elf.rsp -o tcp_client.elf && cd ."d:/users/xxxx/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: tcp_client.elf section `.flash.rodata' will not fit in region `drom0_0_seg'd:/users/xxxx/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: section .dram0.data LMA [000000003ffb0000,000000003ffb4157] overlaps section .flash.rodata LMA [000000003f400120,000000003ffefc67]d:/users/penny/.espressif/tools/xtensa-esp32-elf/esp-2021r1-8.4.0/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32-elf/8.4.0/../../../../xtensa-esp32-elf/bin/ld.exe: region `drom0_0_seg' overflowed by 8329212 bytes 附上patition table: ******************************************************************************* # ESP-IDF Partition Table # Name, Type, SubType, Offset, Size, Flags nvs,data,nvs,0x9000,24K, phy_init,data,phy,0xf000,4K, factory,app,factory,0x10000,15M, ******************************************************************************* |
|
相关推荐
1个回答
|
|
以下是一些建议来解决这个问题:
1. 优化代码:检查您的代码,看看是否有可以优化的地方,例如减少全局变量的使用,使用更高效的算法等。 2. 压缩图片:如果您的图片占用了大量的空间,您可以尝试使用图片压缩工具(如TinyPNG)来减小图片的大小。这样可以减少图片在程序中占用的空间。 3. 使用外部存储:如果可能的话,您可以考虑使用外部存储(如SD卡)来存储较大的图片文件。这样,您可以将图片文件从程序的内部存储中移出,从而减少drom溢出的风险。 4. 调整分区表:您提到已经修改了分区表,但可能需要进一步调整以确保有足够的空间用于程序的代码和数据。请确保您的分区表配置正确,为程序的各个部分分配了足够的空间。 5. 升级ESP-IDF版本:您当前使用的是ESP-IDF v4.3.1版本。可以尝试升级到较新的版本,因为新版本可能包含一些优化和修复,有助于解决drom溢出问题。 6. 检查编译器设置:确保您的编译器设置正确,例如优化级别。在某些情况下,调整优化级别可能会对程序的大小产生影响。 7. 分析程序大小:使用`size`命令(在ESP-IDF中,可以使用`idf size`)来分析程序的大小,找出占用空间较大的部分。这有助于您确定需要优化的区域。 |
|
|
|
只有小组成员才能发言,加入小组>>
310 浏览 1 评论
551浏览 6评论
461浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
443浏览 5评论
445浏览 4评论
415浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-23 05:43 , Processed in 0.567600 second(s), Total 44, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号