What is the memory layout of nodeMCU?
Posted: Mon May 25, 2015 5:48 am
The default AT firmware seems to have an "old" and a "new" memory layout (without or with a boot loader), and the layout is dependent on the flash size. Also, there seem to be two ROM sections: For the 512k flash for example one is below 256k, and one starts at 256k. Before the 2nd 256k block there is free space.
The files that are generated when I build nodeMCU seem to fit neither of these layouts: 0x00000.bin is too big for a bootloader, and 0x10000 is too big to fit into the first 256k of the flash. Apparently, there eis also some free space between 0x00000 and 0x10000 (ca. 15k).
This leads me to some questions:
Also, I am confused about the generated "blank.bin" and "esp_init_data_default.bin". The former is 4k is size, but I have seen a memory map that shows this area to be 8k. The latter is just 128 bytes, but again seems to go into a much bigger area. What exactly is in these files and why is their size seemingly to little?
The files that are generated when I build nodeMCU seem to fit neither of these layouts: 0x00000.bin is too big for a bootloader, and 0x10000 is too big to fit into the first 256k of the flash. Apparently, there eis also some free space between 0x00000 and 0x10000 (ca. 15k).
This leads me to some questions:
- What is the memory layout of nodeMCU?
Will I have more space for LUA scripts with a bigger flash (e.g. the 4M flash of the newer ESP-12Es)?
Also, I am confused about the generated "blank.bin" and "esp_init_data_default.bin". The former is 4k is size, but I have seen a memory map that shows this area to be 8k. The latter is just 128 bytes, but again seems to go into a much bigger area. What exactly is in these files and why is their size seemingly to little?