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

User avatar
By tytower
#19420 Thanks I'll put what I do know here too
Bear with me as I try to get it all here first then try to analyse it.

Code: Select allets Jan  8 2013,rst cause:4, boot mode:(1,0) 
wdt reset
is the normal reset when power on and GPIO0 grounded.
So 1=001 or UART mode

Code: Select allets Jan  8 2013,rst cause:4, boot mode:(3,7)

wdt reset
load 0x40100000, len 28780, room 16
tail 12
chksum 0x7e
ho 0 tail 12 room 4
load 0x3ffe8000, len 1564, room 12
tail 0
chksum 0xc8
load 0x3ffe8620, len 3336, room 8
tail 0
chksum 0x30
csum 0x30
r�


This is from a while(1); statement so the wdt had more than a second with nothing happening.
So 3=011 or FLASH(running) mode

Code: Select allets Jan  8 2013,rst cause:4, boot mode:(3,7)

wdt reset
load 0x40100000, len 28780, room 16
tail 12
chksum 0x7e
ho 0 tail 12 room 4
load 0x3ffe8000, len 1564, room 12
tail 0
chksum 0xc8
load 0x3ffe8620, len 3336, room 8
tail 0
chksum 0x30
csum 0x30
r�

Is where it resets when ch_pd is shorted to reset
So 3=011 or FLASH(running) mode

Code: Select all ets Jan  8 2013,rst cause:4, boot mode:(1,7)

wdt reset

So 1=001 or UART mode
This is put out when the GPIO16 pin deepsleep() command sends reset low through a capacitor

Code: Select allets Jan  8 2013,rst cause:2, boot mode:(3,7)

load 0x40100000, len 28688, room 16
tail 0
chksum 0xef
load 0x33333333, len 858993459, room 8

So 3=011 or FLASH(running) mode
Don't know what this one is yet
Last edited by tytower on Sat Jul 25, 2015 4:04 am, edited 3 times in total.
User avatar
By tytower
#21492 I came accross a bit more of the puzzle today
In the bootup message 'boot mode:(x,y)' three low bits of x are {MTDO(GPIO15), GPIO0, GPIO2}.

Not sure how that fits in but brackets are probably meant to indicate an array.
ets Jan 8 2013,rst cause:4, boot mode:(1,0)
would mean maybe 15=1,0=0,2=0?? Not getting a lot out of that yet
User avatar
By jcmvbkbc
#21496
tytower wrote:
In the bootup message 'boot mode:(x,y)' three low bits of x are {MTDO(GPIO15), GPIO0, GPIO2}.

Not sure how that fits in but brackets are probably meant to indicate an array.

A concatenation, verilog-style.
tytower wrote:ets Jan 8 2013,rst cause:4, boot mode:(1,0)

GPIO15 == 0, GPIO0 == 0, GPIO2 == 1