完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
您好,我在将二进制文件闪存到设备(SONOFF RF R2 V01)Esp8266时遇到问题,该设备具有1MB闪存。在我的程序中,我使用 MQTT、OTA(通过 http)、WIFI、GPIO。
当我traing到闪光灯时: LD build/main.elf /opt/xtensa-lx106-elf-gcc/bin/。/lib/gcc/xtensa-lx106-elf/8.4.0/.。/../../../xtensa-lx106-elf/bin/ld:/home/dlut/GIT/esp8266_rtos_tamplate/build/main.elf 部分“.flash.rodata”的地址0x4028b92c不在区域“iram0_2_seg”内 /opt/xtensa-lx106-elf-gcc/bin/。/lib/gcc/xtensa-lx106-elf/8.4.0/.。/../../../xtensa-lx106-elf/bin/ld:/home/dlut/GIT/esp8266_rtos_tamplate/build/main.elf 部分“.flash.rodata”的地址0x4028b92c不在区域“iram0_2_seg”内 collect2:错误:ld 返回 1 退出状态 make: *** [/home/dlut/esp/ESP8266_RTOS_SDK/make/project.mk:510: /home/dlut/GIT/esp8266_rtos_tamplate/build/main.elf] Error 1 我的分区表是: 法典:全选 nvs, data, nvs, 0x9000, 0x4000 otadata, data, ota, 0xd000, 0x2000 phy_init, data, phy, 0xf000, 0x1000 ota_0, 0, ota_0, 0x10000, 0x78000 ota_1, 0, ota_1, 0x88000, 0x78000 二进制文件的大小: 法典:全选 ❯ ls -la build/main.bin -rw-r--r-- 1 dlut users 457120 Aug 3 10:26 build/main.bin 可以在 esp8285 上使用 OTA 吗? |
|
相关推荐
1个回答
|
|
是的,您可以在ESP8266(如SONOFF RF R2 V01)上使用OTA(Over-The-Air)更新。但是,您遇到的问题似乎与链接器错误有关,而不是OTA本身。
错误消息指出,链接器无法将“.flash.rodata”部分放入“iram0_2_seg”区域。这可能是由于以下原因之一: 1. 程序太大:ESP8266的闪存空间有限(1MB),您可能需要优化代码以减少占用的空间。尝试删除不必要的库或功能,以降低程序大小。 2. 内存分配问题:检查您的代码,确保没有内存泄漏或过多的静态变量。这可能导致内存不足,从而导致链接器错误。 3. 链接器配置问题:检查您的链接器脚本(通常是.ld文件),确保它正确配置了内存区域。如果需要,您可以调整内存区域的大小,以适应您的程序需求。 要解决此问题,您可以尝试以下步骤: 1. 优化代码:删除不必要的库和功能,以减少程序大小。 2. 检查内存分配:确保没有内存泄漏或过多的静态变量。 3. 调整链接器脚本:检查并修改链接器脚本,以确保内存区域正确配置。 4. 使用OTA更新:在解决链接器问题后,您可以使用OTA更新您的设备。确保您的设备连接到Wi-Fi,并使用适当的OTA库(如ArduinoOTA)来实现OTA功能。 希望这些建议能帮助您解决问题。 |
|
|
|
只有小组成员才能发言,加入小组>>
407浏览 6评论
339浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
322浏览 5评论
322浏览 4评论
310浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 21:29 , Processed in 0.662828 second(s), Total 77, Slave 61 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号