In the MQTT software for the ESP8266 (ESP-01 etc), specifically the MAKE file, there is this line..
$(PYTHON) $(ESPTOOL) -p $(ESPPORT) write_flash 0x00000 firmware/0x00000.bin 0x3C000 $(BLANKER) 0x40000 firmware/0x40000.bin
It's pretty obvious what it does, it blows the two BIN files you've just created. By what I don't understand is why it blows the blanker file at 0x3c000.
No really I'm not losing my marbles. In the MQTT package - in config.c and config.h you'll learn all about how defaults are stored in FLASH. Specifically 3c000, 3e000 and 3fooo are used to store non-volatile info and if a specific value is not found in the FLASH, then either sector 3c000 or 3e000 is firstly erased programmatically and then over-written - the purpose of using two is to ensure in the event of a failure you always have the previous version - so I cannot for the LIFE of me understand why there is a blanker file for 3c000 AND I can't understand why 3d000 is not used.
Thought anyone - if someone comes up with some good intel on this I'm moving stuff around...