I see that as per the link https://github.com/esp8266/esp8266-wiki/wiki/Memory-Map, in SPI flash ROM layout table (without OTA) there are 5 bin files that are flashed to esp8266. Though there are instructions found online in other resources that mention how to merge all bin file to one,

  • What is the primary reason behind creating 5 different bin files for ESP MCUs unlinke a single bin file in other MCUs like STM32? (What is the distinct purpose of each bin file and what is the architechture or working principle of ESP due to which we need to generate different bin files?)
  • I would be thankful if someone can add the detail of explaining the bin files with respect to memory layout. The starting addresses of the bin files do not reflect in the memory layout table given in page in same URL mentioned above.
  • Finally, Why do we need to use esptool command utility to flash bin files to ESP MCU unlike using load command in other MCUs like STM32. Is there any difference in memory layout functioning that ESP MCU differs architecturally or at BFD level from other MCUs?

Probably it seems to club multiple questions at a single go, but fundamentally all questions point to the same concept of memory layout in ESP MCUs and its reflection in build process/ flashing.


  • please ask one focused, answerable question that has one answer ... any additional question that requires multiple answers should be split into multiple posts ... furthermore, your questions are not really about IoT, but about microcontroller architecture and about the supporting framework for the microcontroller
    – jsotola
    Sep 25, 2022 at 18:24
  • if the memory map has multiple distinct sections, and only one of those sections varies with the program, and some of the other sections change infrequently, then it makes sense to keep the content of each section in a separate file
    – jsotola
    Sep 25, 2022 at 18:32
  • what starting address differences are you talking about?
    – jsotola
    Sep 25, 2022 at 18:34
  • @jsotola Thanks for the replies. 1) Yes I understand but posed the question here after going through other questions posed in this section and ESP platform is used only or at least predominantly in IoT applications.
    – DevBee
    Sep 26, 2022 at 19:50
  • @jsotola 2) Regarding split files - I am not an expert in the field but I believe this is not practised in general in applications involving other MCUs whereas with ESP, this is practised even in beginners' experiments with ESP platform. 3) Regarding starting addresses mismatch or not reflecting properly - For example, app.v6.flash.bin starting address in w/o OTA is mentioned as 0000H whereas it is differently mentioned in memory layout table; app.v6.irom0text.bin mentions SDK libraries at 40000H but I do not make out or see it in memory layout table.
    – DevBee
    Sep 26, 2022 at 19:51


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Browse other questions tagged or ask your own question.