完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我的应用程序的代码大小正在增加,目前,我对为 OTA 损失 256K 不感兴趣。
我正在使用 ESP_IOT_SDK_v1.5.0_15_11_27。 我在 Windows 上使用来自此链接的 Eclipse 构建设置 - 我的 Liker 文件未修改是: 代码:全选MEMORY { dport0_0_seg : org = 0x3FF00000, len = 0x10 dram0_0_seg : org = 0x3FFE8000, len = 0x14000 iram1_0_seg : org = 0x40100000, len = 0x8000 irom0_0_seg : org = 0x40240000, len = 0x3C000 } 代码:全选14:30:06 **** Build of configuration Release for project Vyuha **** mingw32-make -f C:/Users/Ravi/workspace/Vyuha/Makefile all CC driver/uart.c CC user/usergtdp.c CC user/user_json.c CC user/user_main.c CC user/gtdplite.c CC mqtt/proto.c CC mqtt/utils.c CC mqtt/queue.c CC mqtt/mqtt_msg.c CC mqtt/ringbuf.c CC mqtt/mqtt.c CC modules/wifi.c CC modules/config.c AR build/app_app.a LD build/app.out c:/espressif/xtensa-lx106-elf/bin/../lib/gcc/xtensa-lx106-elf/5.1.0/../../../../xtensa-lx106-elf/bin/ld.exe: build/app.out section `.text' will not fit in region `iram1_0_seg' collect2.exe: error: ld returned 1 exit status C:/Users/Ravi/workspace/Vyuha/Makefile:189: recipe for target 'build/app.out' failed mingw32-make: *** [build/app.out] Error 1 我提取了一些代码并进行了编译,iRAM 小于 700 字节,需要做什么? 代码:全选17:49:36 **** Build of configuration Release for project Vyuha **** mingw32-make -f C:/Users/Ravi/workspace/Vyuha/Makefile all CC user/user_main.c CC user/gtdplite.c CC mqtt/proto.c CC mqtt/utils.c CC mqtt/queue.c CC mqtt/mqtt_msg.c CC mqtt/ringbuf.c CC mqtt/mqtt.c CC modules/wifi.c CC modules/config.c AR build/app_app.a LD build/app.out ------------------------------------------------------------------------------ Section info: build/app.out: file format elf32-xtensa-le Sections: Idx Name Size VMA LMA File off Algn 0 .data 00000838 3ffe8000 3ffe8000 000000e0 2**4 CONTENTS, ALLOC, LOAD, DATA 1 .rodata 000019c4 3ffe8840 3ffe8840 00000920 2**4 CONTENTS, ALLOC, LOAD, READONLY, DATA 2 .bss 00006638 3ffea208 3ffea208 000022e8 2**4 ALLOC 3 .text 00007d46 40100000 40100000 000022e4 2**2 CONTENTS, ALLOC, LOAD, READONLY, CODE 4 .irom0.text 0003b904 40240000 40240000 0000a030 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE ------------------------------------------------------------------------------ Section| Description| Start (hex)| End (hex)|Used space ------------------------------------------------------------------------------ data| Initialized Data (RAM)| 3FFE8000| 3FFE8838| 2104 rodata| ReadOnly Data (RAM)| 3FFE8840| 3FFEA204| 6596 bss| Uninitialized Data (RAM)| 3FFEA208| 3FFF0840| 26168 text| Uncached Code (IRAM)| 40100000| 40107D46| 32070 irom0_text| Cached Code (SPI)| 40240000| 4027B904| 243972 ------------------------------------------------------------------------------ Entry Point : 40100004 call_user_start() Total Used RAM : 34868 Free RAM : 47052 Free IRam : 698 or 17082 if 48k IRam ------------------------------------------------------------------------------ Generate 0x00000.bin and 0x40000.bin successully in folder firmware. 0x00000.bin-------->0x00000 0x40000.bin-------->0x40000 Done 如何使用所有的flash进行应用?我不要OTA。 |
|
相关推荐
1个回答
|
|
nbsp; org = 0x3FFE8000, len = 0x14000 rtc_dram0_0_seg :org = 0x600C0000, len = 0x100 }
如果您希望使用所有的闪存进行应用程序,请使用以下步骤: 1. 将以下代码添加到您的 `SDKconfig.h` 文件中: ``` #define ESP8266_SPI_FLASH_SIZE_16_MB 1 ``` 这将确保 ESP8266 将使用全部 16MB 的 SPI 闪存。 2. 将以下代码添加到您的 Makefile: ``` # Add linker script to linker flags LDFLAGS += -Tesp8266_16m.ld ``` `esp8266_16m.ld` 是一个链接器脚本文件,用于将应用程序映射到 16MB 的地址空间中。 3. 添加 `esp_init_data_default.bin` 文件: 在 16MB SPI 闪存中使用 4MB 分区存储 ESP8266 的 Wi-Fi 初始化数据。此初始化数据需要存储在一个名为 `esp_init_data_default.bin` 的文件中,并包含在您的应用程序中。 可以在 ESP8266 SDK 的 `bin` 文件夹中找到此文件。将其复制到您的项目文件夹中。 4. 将连接器脚本切换到 `eagle.app.v6.new.4096.ld`: 在原始的链接器脚本文件 `eagle.app.v6.ld` 中,应用程序被映射到 1MB 的地址空间中。将连接器脚本更改为 `eagle.app.v6.new.4096.ld`,将应用程序映射到 16MB 的地址空间中。 打开 Makefile,找到以下代码行: ``` LD_SCRIPT = eagle.app.v6.ld ``` 将其更改为以下内容: ``` LD_SCRIPT = eagle.app.v6.new.4096.ld ``` `eagle.app.v6.new.4096.ld` 文件位于 ESP8266 SDK 的 `ld` 文件夹中。 完成以上步骤后,您的应用程序将使用 16MB 的 SPI 闪存。请注意,用于 OTA 的 256KB 空间不再可用。 |
|
|
|
只有小组成员才能发言,加入小组>>
407浏览 6评论
339浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
322浏览 5评论
322浏览 4评论
310浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 21:53 , Processed in 0.640345 second(s), Total 47, Slave 41 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号