-->
Page 1 of 1

update firmware from SPIFFS esp8266

PostPosted: Mon May 29, 2023 12:21 pm
by GastonMelo
Hi to all, Im using esp-01S 1Mb spi memory and I found this link https://arduino.stackexchange.com/questions/77164/flash-esp8266-from-spiffs-filesystem on how to update firmware from SPIFFS. I tried to use this code in the esp-01S using arduino IDE 1.8.19 (I upload to SPIFFS the Blink binary and used this code to flash de memory of the ESP-01S).
Checking the serial terminal I read a lot of garbage and I see this part:
Code: Select allFatal exception %d
(LoadStoreErrorCause):

):

orCause):

egeCause):

egeCause):

x%08x, excvaddr=0x%08x, depc=0x%08x

e %d

phy ver: %d_%d, pp ver: %d.%d


time7:%08X

err1,exceed max time value

time2:%08X

MBER IS BIGGER THAN 10

test already passed.

warn: want to erase error sec %d!

error magic!

enter deep sleep

gw:%d.%d.%d.%d
heap  : 0x%x ~ 0x%x, len: %d

null country

25Q32C status idx %d
 
QIO INIT ERR!!

GD25Q32C Config Qio Mode Fail

)
%d,
x, bbrx1=0x%x, bbrx2=0x%x, tdc:%d,%d

%d

dbp:%d, %x, %d, %d, %d, %d

or_accum, %d, tot_p,%d, coatt,%d, att,%d, rf_g,%x, txq_rate,%d, chan,%d, rate_att,%d

orrect_v,%d, error_accum, %d, tot_p,%d, coatt,%d, att,%d, rf_g,%x, txq_rate,%d, chan,%d, rate_att,%d

out=%d

tal_pwr=%d, %d-%d,
x

, cause: %d

pm_flash_read err

mode.c
fpm_err,flash_tmp alloc fail

enalbe

==dl

(%02x:%02x:%02x:%02x:%02x:%02x)
ap freq jump0 to %d

.c
::



ieee80211_sta.c
onnect after 1s

atus to disassoc

max connection!

VENDOR ACTION: len error step1: %d

VENDOR ACTION: type dismatch %d
232R

R: %s (error %d)

): could not obtain pcb

wpa_auth.c
wpa_auth_ie.c
dhcp client start...

0⸮!@core_esp8266_main.cpp
8x %c

arssl
sp: %08x end: %08x offset: %04x

%08x epc3=0x%08x excvaddr=0x%08x depc=0x%08x

ic %S:%d %S
t std::function<bool()>&, uint32_t, const std::function<bool()>&)


and the esp-01S doesn't do anything else. A few questions:
1)This is possible with the esp-01S?
2)why this code doesn't work with the esp-01S?
3)Why this sentences uint32_t maxSketchSpace = (ESP.getFreeSketchSpace() - 0x1000) & 0xFFFFF000;?
maxSketch return the size of the skecth but don't understand 0x1000 and 0xFFFFF000. Those a flash sectors? How can I know where to flash the new binary?
4)Is there an Update.h file that I can use withoout using other libraries to be able to update firmware on esp-01s?
Thanks
Gaston