ESP8266 Developer Zone The Official ESP8266 Forum 2015-07-22T14:27:41+08:00 https://bbs.espressif.com:443/feed.php?f=7&t=783 2015-07-22T14:27:41+08:00 2015-07-22T14:27:41+08:00 https://bbs.espressif.com:443/viewtopic.php?t=783&p=2782#p2782 <![CDATA[Re: 236 kbyte limit on 4M flash?]]>
My original problem was that during flashing the address wrapped around so the last bytes of the image would end up at the very start of the memory.

Statistics: Posted by eriksl — Wed Jul 22, 2015 2:27 pm


]]>
2015-07-22T14:22:16+08:00 2015-07-22T14:22:16+08:00 https://bbs.espressif.com:443/viewtopic.php?t=783&p=2781#p2781 <![CDATA[Re: 236 kbyte limit on 4M flash?]]>
blubb wrote:
Do you mean 4MBit or 4MByte...?

4 Mbit of course. Flash memories are identified by their capacity in bits.

Statistics: Posted by eriksl — Wed Jul 22, 2015 2:22 pm


]]>
2015-07-21T23:31:20+08:00 2015-07-21T23:31:20+08:00 https://bbs.espressif.com:443/viewtopic.php?t=783&p=2776#p2776 <![CDATA[Re: 236 kbyte limit on 4M flash?]]> Statistics: Posted by blubb — Tue Jul 21, 2015 11:31 pm


]]>
2015-07-21T18:02:32+08:00 2015-07-21T18:02:32+08:00 https://bbs.espressif.com:443/viewtopic.php?t=783&p=2772#p2772 <![CDATA[Re: 236 kbyte limit on 4M flash?]]>
Espressif_Faye wrote:
1. What are your bin files, eagle.flash.bin + eagle.irom0text.bin , or user1.bin ?
Did you choose 4096KB in STEP5 while compiling ?

The firmware files are "eagle.flash.bin + eagle.irom0text.bin" style.

The firmwares are made for 4M (256+256) layout, if you mean that.


2. Do you add ICACHE_FLASH_ATTR before your functions ?

If I would have forgotten that, I would have run out or iram very long ago. Almost every code is section .irom0.text. That is why this section/firmware ("eagle.irom0text.bin") is so large. This is NOT the problem. The problem is the .irom0.text (irom) section getting large, not the .text (iram) section. The linker script I can use 0x3c000 bytes (about 224 kbytes) and therefore it doesn't give an error. Still I can't make irom firmware files that are larger than 192 kbytes -> crash.

Statistics: Posted by eriksl — Tue Jul 21, 2015 6:02 pm


]]>
2015-07-21T17:51:48+08:00 2015-07-21T17:51:48+08:00 https://bbs.espressif.com:443/viewtopic.php?t=783&p=2771#p2771 <![CDATA[Re: 236 kbyte limit on 4M flash?]]>
1. What are your bin files, eagle.flash.bin + eagle.irom0text.bin , or user1.bin ?
Did you choose 4096KB in STEP5 while compiling ?

2. Do you add ICACHE_FLASH_ATTR before your functions ?

Code:

void ICACHE_FLASH_ATTR
user_esp_platform_init(void)
{
 ... ...
}

Statistics: Posted by ESP_Faye — Tue Jul 21, 2015 5:51 pm


]]>
2015-07-21T17:36:27+08:00 2015-07-21T17:36:27+08:00 https://bbs.espressif.com:443/viewtopic.php?t=783&p=2769#p2769 <![CDATA[236 kbyte limit on 4M flash?]]>
I am running into the problem that apparently my firmware is getting too large. There are no linker warnings, but the esp8266 simply won't start. No UART output as well, nothing. If I reduce the total firmware size (iram+irom) to exactly 236 kbyte, it works normally. Add a few bytes above the 236 kbyte, it fails.

Is this a know problem or is it normal behaviour, can it be fixed?

I do realise that at the point of flashing/storing the firmware all of the .text, .text_irom0, .rodata and .data sections must be stored into the flash. Is that the reason? My iram firmware file is 43 k (which apparently can fit in 32 k when run, no problems there, metadata?) and my irom firmware is 192 k now.

Thanks.

Statistics: Posted by eriksl — Tue Jul 21, 2015 5:36 pm


]]>