I just now started with ESP8266 -01 model. Its great. I've got some doubts regarding booting process and I'm still messed up. Hope you guys can help me out. before that, let me just sum it up what I've learned about it.
Boot ROM (64kB) of ESP has bootloader and other perpheral libaries with it. Upon reset, it samples the GPIO pins (boot_mode_sel_bits : GPIO15,GPIO0,GPIO2) and based on that it decides whether bootloader (loads the firmware from ext.Flash to IRAM of ESP) or UART (loads firmware to ext.flash memory) takes the control.
Now my doubts are......
1. Boot ROM is Write protected and hence the bootloader can never be updated. But in contrast, "boot.bin" has bootloader only. Also, I came across "The hardware bootloader in ROM loads this firmware bootloader from flash, and then it runs the program" , but I'm not aware that there is a harware bootloader. Is it so?
2. The firmware that we are downloading via UART is loaded into where? I hope it goes to external Flash memory. But by what means it goes? Whether it bypasses the ESP8266 (like DMA) since boot ROM Write protected or UART to ESP's SPI and from that to external Flash memory?
Please help me out guys..!!