Firmware image size

All ESP8266 boards running MicroPython.
Official boards are the Adafruit Huzzah and Feather boards.
Target audience: MicroPython users with an ESP8266 board.
Post Reply
User avatar
fdushin
Posts: 32
Joined: Thu Jul 21, 2016 5:38 pm

Firmware image size

Post by fdushin » Wed Dec 21, 2016 12:15 am

Is there any way to expand the size of the "irom0_0_seg" region when building an image?

I am hitting a limit with too much frozen byte code at link time:

Code: Select all

xtensa-lx106-elf-ld: build/firmware.elf section `.irom0.text' will not fit in region `irom0_0_seg'
xtensa-lx106-elf-ld: region `irom0_0_seg' overflowed by 12592 bytes
esp8266.ld seems to have the linker commands for building the image, and it looks like memory is laid out as follows:

Code: Select all

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 = 0x40209000, len = 0x87000
}
Are these values mutable?

I see @pfalcon changed the firmware image size to 0x90000 at 3372f69, and there was a subsequent change to set the start of the file system at 3c9510d.

But I am not sure I understand the math that went into these values.

Thanks!

User avatar
pythoncoder
Posts: 5956
Joined: Fri Jul 18, 2014 8:01 am
Location: UK
Contact:

Re: Firmware image size

Post by pythoncoder » Wed Dec 21, 2016 5:26 pm

You might like to look at https://github.com/micropython/micropython/issues/2700, in particular the solution suggested by @robert-hh.
Peter Hinch
Index to my micropython libraries.

Post Reply