Discuss here different C compiler set ups, and compiling executables for the ESP8266

User avatar
By Bananis
#5199 Hi,

These are the right steps. However, no need for step 1 as you will download a new firmware anyway in step 5. Just make sure to link the user1.bin and user2.bin from the firmware directory to "C:\inetpub\wwwroot\v1\device\rom" or use the makefile in my previous post that copy the user1.bin and user2.bin there so that the server can fetch them.

When uploading the bin files the first time in step 5 using the UART protocol you may have to do it one file at a time, as it seems to be some issues uploading more than one file at the same time.

/Bananis
User avatar
By MarekB
#5205 Ok, so I tried to do step 5 like this:
esptool-py.py -p COM4 write_flash 0x00000 c:\Espressif\esp_iot_sdk_v0.9.3\bin\boot_v1.1.bin
reset
esptool-py.py -p COM4 write_flash 0x01000 firmware/user1.bin
reset
esptool-py.py -p COM4 write_flash 0x7e000 c:\Espressif\esp_iot_sdk_v0.9.3\bin\blank.bin
unplug GPIO0, reset

When I open a console I am not getting any responses to AT commands (not even the ready thing at the start). Any thoughts? Do I not need to flash user2.bin as well?

Edit:
Never mind, I tried it once more and it responds to AT commands and CW+CIUPDATE seems to work (after I turned off firewall for a sec, need to look at the firewall rules). Btw. the update (1,2,3,4) happened pretty quickly, is it suppose to be that fast? This is the output I got in console:

AT+CIUPDATE
+CIPUPDATE:1b
+CIPUPDATE:2
+CIPUPDATE:3
+CIPUPDATE:4

OK

ets Jan 8 2013,rst cause:4, boot mode:(3,6)

wdt reset
load 0x40100000, len 612, room 16
tail 4
chksum 0x12
load 0x3ffe8000, len 788, room 4
tail 0
chksum 0x50
load 0x3ffe8314, len 264, room 8
tail 0
chksum 0x4a
csum 0x4a

2nd boot version : 1.1
SPI Speed : 40MHz
SPI Mode : QIO
SPI Flash Size : 4Mbit
jump to run user2

rl
ready
System info:
Time=264730
Chip id=0x9e5fa4
Free heap size=36744
Mem info:
User avatar
By Bananis
#5245 Seems you got it working!

The "cloud update" is really fast, several times quicker than the UART method, and it works remotely, so that's why I developed it. Speeds up development quite a bit.

/Bananis