Use this forum to chat about hardware specific topics for the ESP8266 (peripherals, memory, clocks, JTAG, programming)

User avatar
By papadeltasierra
#44905 Can someone tell me where the Non-OS bootstrap is and whether anyone has tried extracting it, modding it and reloading it? I would like to patch it to ignore GPIO2 on boot up so I can use GPIO2 as a simple I/O line.
User avatar
By martinayotte
#44913 I don't think Richard Burtons's RBoot is related to that...

The fact that GPIO15/GPIO2/GPIO0 is used in the Boot process is completely hard-coded in ROM bootloader.
So, it can't be bypassed !

You can still use GPIO2 as normal I/O after boot is done, but it MUST be HIGH during the boot sequence for normal execute mode.

A good example is that GPIO2/GPIO0 can be used as an I2C bus, since I2C bus also needs pullups, therefore, it is a perfect match with those pins.
User avatar
By papadeltasierra
#44944
martinayotte wrote:...The fact that GPIO15/GPIO2/GPIO0 is used in the Boot process is completely hard-coded in ROM bootloader.
So, it can't be bypassed !


I see. If it really is ROM and not something that can be read and rewritten using the normal (esptool) flash writes then my idea is dead in the water. It's rather silly because the ESP8266-01 has only two GPIOs exposed, and neither of these can be generally used. I've had to repurpose the TX pin as a GPIO for a little project but there is never any time when I need anything other than 'boot from flash' and 'reload flash'.