Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Ivan Grokhotkov
@igrr
regarding priority: the core inside esp8266 only has three interrupt levels. all "normal" interrupts are at level 1. Debug interrupt is level 2, and NMI is level 3.
so GPIO interrupt will not preempt other level 1 interrupts (e.g. timer interrupts)
Hagai Shatz
@hagai-shatz
@igrr , thanks for the clarifications.
Holger Lembke
@holgerlembke
so finally found some time to finish my flash check program for changing the flash chip.
Me No Dev
@me-no-dev
@holgerlembke I spent some time myself and can confirm that space above 4M does not work
Holger Lembke
@holgerlembke
and the results of the German jury are: if I write to it, I can read it back without errors....
@me-no-dev Hmmm. I write a integer into it and read that same value back
Me No Dev
@me-no-dev
@holgerlembke even though you might be able to access it from within the firmware
the ESP thinks that the FLASH size is 512K and puts the conf there
also SPIFFS does not work
Holger Lembke
@holgerlembke
hmmm.
Me No Dev
@me-no-dev
overall your option is to set 4M config and use the space above from the sketch
Holger Lembke
@holgerlembke
let me sum it up: use as program space: no. use as storage from my sketch: yes. right?
Me No Dev
@me-no-dev
right
Holger Lembke
@holgerlembke
so SPIFFS does not work why?
Me No Dev
@me-no-dev
ESP understands flash up to 4MB and assumes 512K is magic does not match to 4M
the ESP will put at the end of whatever it thinks the size is the config secttors
it's kinda hard for me to formulate and explain it all
Holger Lembke
@holgerlembke
me not understand that
SPIFFS is entirely sketch driven. right?
Me No Dev
@me-no-dev
|--sketch--|--ota--|--spiffs--|--eeprom--|--config--|
not entirely ;) address and size are defined in linker
Holger Lembke
@holgerlembke
so as the current flash sizes are... I had to change flashchip->chip_size
so why not create a config with 2mb |--sketch--|--ota--|--eeprom--|--config--| and put SPIFFS at the end?
Me No Dev
@me-no-dev
config is written by the SDK, eeprom is defined as 4K after SPIFFS
you can maybe make a config for 1M and have EEPROM and SPIFFS after
though OTA will not work because it takes spiffs start as it's possible end
Holger Lembke
@holgerlembke
i dont get it. why does the SDK care about SPIFFS?
Me No Dev
@me-no-dev
SDK does not care about spiffs
SDK cares about WIFI config
and always puts that config in the last 4 sectors (or maybe it was 3) before what it thinkls is the end of the flash
which is determined by the magic byte of the image
Holger Lembke
@holgerlembke
so if flashchip->chip_size is changed, it wont find its config any more, because it cant access beyond the 4mb?
Me No Dev
@me-no-dev
flashchip->chip_size has not come into play when flash size is determined
flashchip->chip_size is set based on that (and we overwrite it if needed)
Holger Lembke
@holgerlembke
it is all I need to get write/read access...
Me No Dev
@me-no-dev
from within the firmware yes
but not from the bootloader
Holger Lembke
@holgerlembke
sooooooo. where is the problem? boot 2mb |--sketch--|--ota--|--eeprom--|--config--| , change chip_size, init SPIFFS.
Me No Dev
@me-no-dev
even if you manage some crazy config, it will break OTA, SPIFFS upload tool and maybe more
Holger Lembke
@holgerlembke
oh. i see
so every time a spiffs-call is made, chipsize must be changed and restored....
Me No Dev
@me-no-dev
what you can do also is set chip_size and attach second SPIFFS partition above 4M
|--sketch--|--ota--|--spiffs--|--eeprom--|--config--|--spiffs2--|
Holger Lembke
@holgerlembke
ok, to sum that up: all tools assume sketch/ota/spiffs/eeprom/config for calculations. if it is changed, it is unclear, what happens.
Me No Dev
@me-no-dev
yes
Holger Lembke
@holgerlembke
so two spiffs would be the workable solution. just add the first for compatibility sake and ignore it and use the second instead.
Me No Dev
@me-no-dev
or use both...
Holger Lembke
@holgerlembke
squezze every drop out of it...
as I dont know much about the "internal thoughts of core developers", is SPIFFS really that good? Any other solutions? I mean, a file system with no folders...