Hi,
I cannot find option when using arduino-cli to upload bins to esp01 to choose to erase or not to erase the eeprom memory
Is it implemented ? How to do it ?
Thanks a lot
That option does not exist nor does the upload modify the EEPROM on the Arduinos that have real EEPROM on chip. Many times I will save stuff in EEPROM then load another program to display what is there.
I solved it by installing esptool which have this option, maybe it would be nice to make this option also for arduino-cli, thanks
What is the option?
I use: esptool.py erase_flash #Perform Chip Erase on SPI flash
I installed the tool by command: pip install setuptools wheel pyaes esptool
This is controlled by the "Erase Flash" custom board option.
You can learn the available custom board options using the arduino-cli board details
command:
$ ./arduino-cli board details --fqbn esp8266:esp8266:generic
Board name: Generic ESP8266 Module
FQBN: esp8266:esp8266:generic
Board version: 3.1.2
Identification properties: board=generic
Package name: esp8266
Package maintainer: ESP8266 Community
Package URL: https://arduino.esp8266.com/stable/package_esp8266com_index.json
Package website: https://github.com/esp8266/Arduino
Package online help: https://esp8266.com/arduino
Platform name: esp8266
Platform category: ESP8266
Platform architecture: esp8266
Platform URL: https://github.com/esp8266/Arduino/releases/download/3.1.2/esp8266-3.1.2.zip
Platform file name: esp8266-3.1.2.zip
Platform size (bytes): 39269515
Platform checksum: SHA-256:b3f47686d7783c120c2f10bf82788f921c53db8642cc87012599abb6e335b182
Required tool: esp8266:mklittlefs 3.1.0-gcc10.3-e5f9fec
Required tool: esp8266:mkspiffs 3.1.0-gcc10.3-e5f9fec
Required tool: esp8266:python3 3.7.2-post1
Required tool: esp8266:xtensa-lx106-elf-gcc 3.1.0-gcc10.3-e5f9fec
Option: CPU Frequency xtal
80 MHz ✔ xtal=80
160 MHz xtal=160
Option: VTables vt
Flash ✔ vt=flash
Heap vt=heap
IRAM vt=iram
Option: C++ Exceptions exception
Disabled (new aborts on oom) ✔ exception=disabled
Enabled exception=enabled
Option: Stack Protection stacksmash
Disabled ✔ stacksmash=disabled
Enabled stacksmash=enabled
Option: SSL Support ssl
All SSL ciphers (most compatible) ✔ ssl=all
Basic SSL ciphers (lower ROM use) ssl=basic
Option: MMU mmu
32KB cache + 32KB IRAM (balanced) ✔ mmu=3232
16KB cache + 48KB IRAM (IRAM) mmu=4816
16KB cache + 48KB IRAM and 2nd Heap (shared) mmu=4816H
16KB cache + 32KB IRAM + 16KB 2nd Heap (not shared) mmu=3216
128K Heap External 23LC1024 mmu=ext128k
8M w/256K Heap External 64 MBit PSRAM mmu=ext8192k
Option: Non-32-Bit Access non32xfer
Use pgm_read macros for IRAM/PROGMEM ✔ non32xfer=fast
Byte/Word access to IRAM/PROGMEM (very slow) non32xfer=safe
Option: Reset Method ResetMethod
dtr (aka nodemcu) ✔ ResetMethod=nodemcu
no dtr (aka ck) ResetMethod=ck
no dtr, no_sync ResetMethod=nodtr_nosync
Option: Crystal Frequency CrystalFreq
26 MHz ✔ CrystalFreq=26
40 MHz CrystalFreq=40
Option: Flash Frequency FlashFreq
40MHz ✔ FlashFreq=40
80MHz FlashFreq=80
20MHz FlashFreq=20
26MHz FlashFreq=26
Option: Flash Mode FlashMode
DOUT (compatible) ✔ FlashMode=dout
DIO FlashMode=dio
QOUT FlashMode=qout
QIO (fast) FlashMode=qio
Option: Flash Size eesz
1MB (FS:64KB OTA:~470KB) ✔ eesz=1M64
1MB (FS:128KB OTA:~438KB) eesz=1M128
1MB (FS:144KB OTA:~430KB) eesz=1M144
1MB (FS:160KB OTA:~422KB) eesz=1M160
1MB (FS:192KB OTA:~406KB) eesz=1M192
1MB (FS:256KB OTA:~374KB) eesz=1M256
1MB (FS:512KB OTA:~246KB) eesz=1M512
1MB (FS:none OTA:~502KB) eesz=1M
2MB (FS:64KB OTA:~992KB) eesz=2M64
2MB (FS:128KB OTA:~960KB) eesz=2M128
2MB (FS:256KB OTA:~896KB) eesz=2M256
2MB (FS:512KB OTA:~768KB) eesz=2M512
2MB (FS:1MB OTA:~512KB) eesz=2M1M
2MB (FS:none OTA:~1019KB) eesz=2M
4MB (FS:2MB OTA:~1019KB) eesz=4M2M
4MB (FS:3MB OTA:~512KB) eesz=4M3M
4MB (FS:1MB OTA:~1019KB) eesz=4M1M
4MB (FS:none OTA:~1019KB) eesz=4M
8MB (FS:6MB OTA:~1019KB) eesz=8M6M
8MB (FS:7MB OTA:~512KB) eesz=8M7M
8MB (FS:none OTA:~1019KB) eesz=8M
16MB (FS:14MB OTA:~1019KB) eesz=16M14M
16MB (FS:15MB OTA:~512KB) eesz=16M15M
16MB (FS:none OTA:~1019KB) eesz=16M
512KB (FS:32KB OTA:~230KB) eesz=512K32
512KB (FS:64KB OTA:~214KB) eesz=512K64
512KB (FS:128KB OTA:~182KB) eesz=512K128
512KB (FS:none OTA:~246KB) eesz=512K
Mapping defined by Hardware and Sketch eesz=autoflash
Option: Builtin Led led
2 ✔ led=2
0 led=0
1 led=1
3 led=3
4 led=4
5 led=5
6 led=6
7 led=7
8 led=8
9 led=9
10 led=10
11 led=11
12 led=12
13 led=13
14 led=14
15 led=15
16 led=16
Option: NONOS SDK Version sdk
nonos-sdk 2.2.1+100 (190703) ✔ sdk=nonosdk_190703
nonos-sdk 2.2.1+119 (191122) sdk=nonosdk_191122
nonos-sdk 2.2.1+113 (191105) sdk=nonosdk_191105
nonos-sdk 2.2.1+111 (191024) sdk=nonosdk_191024
nonos-sdk 2.2.1+61 (190313) sdk=nonosdk_190313
nonos-sdk 2.2.1 (legacy) sdk=nonosdk221
nonos-sdk 3.0.5 (experimental) sdk=nonosdk305
Option: lwIP Variant ip
v2 Lower Memory ✔ ip=lm2f
v2 Higher Bandwidth ip=hb2f
v2 Lower Memory (no features) ip=lm2n
v2 Higher Bandwidth (no features) ip=hb2n
v2 IPv6 Lower Memory ip=lm6f
v2 IPv6 Higher Bandwidth ip=hb6f
Option: Debug port dbg
Disabled ✔ dbg=Disabled
SSL+TLS_MEM lvl=SSLTLS_MEM
SSL+HTTP_CLIENT lvl=SSLHTTP_CLIENT
SSL+HTTP_SERVER lvl=SSLHTTP_SERVER
TLS_MEM+HTTP_CLIENT lvl=TLS_MEMHTTP_CLIENT
TLS_MEM+HTTP_SERVER lvl=TLS_MEMHTTP_SERVER
HTTP_CLIENT+HTTP_SERVER lvl=HTTP_CLIENTHTTP_SERVER
SSL+TLS_MEM+HTTP_CLIENT lvl=SSLTLS_MEMHTTP_CLIENT
SSL+TLS_MEM+HTTP_SERVER lvl=SSLTLS_MEMHTTP_SERVER
SSL+HTTP_CLIENT+HTTP_SERVER lvl=SSLHTTP_CLIENTHTTP_SERVER
TLS_MEM+HTTP_CLIENT+HTTP_SERVER lvl=TLS_MEMHTTP_CLIENTHTTP_SERVER
SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER lvl=SSLTLS_MEMHTTP_CLIENTHTTP_SERVER
CORE lvl=CORE
WIFI lvl=WIFI
HTTP_UPDATE lvl=HTTP_UPDATE
UPDATER lvl=UPDATER
OTA lvl=OTA
OOM lvl=OOM
MDNS lvl=MDNS
HWDT lvl=HWDT
HWDT_NOEXTRA4K lvl=HWDT_NOEXTRA4K
CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS lvl=COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS
CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT lvl=COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT
CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K lvl=COREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K
SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS lvl=SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNS
SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT lvl=SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT
SSL+TLS_MEM+HTTP_CLIENT+HTTP_SERVER+CORE+WIFI+HTTP_UPDATE+UPDATER+OTA+OOM+MDNS+HWDT_NOEXTRA4K lvl=SSLTLS_MEMHTTP_CLIENTHTTP_SERVERCOREWIFIHTTP_UPDATEUPDATEROTAOOMMDNSHWDT_NOEXTRA4K
NoAssert-NDEBUG lvl=NoAssert-NDEBUG
Option: Erase Flash wipe
Only Sketch ✔ wipe=none
Sketch + WiFi Settings wipe=sdk
All Flash Contents wipe=all
Option: Upload Speed baud
115200 ✔ baud=115200
57600 baud=57600
256000 baud=256000
512000 baud=512000
921600 baud=921600
3000000 baud=3000000
Programmers: ID Name
Here we can see that the ID for the "Erase Flash" option is wipe
and the ID for the "All Flash Contents" setting of that option is all
:
Option: Erase Flash wipe
Only Sketch ✔ wipe=none
Sketch + WiFi Settings wipe=sdk
All Flash Contents wipe=all
You can set the board option using the --board-options
flag.
So if you want to erase the entire flash you would use a command like this:
arduino-cli upload --fqbn esp8266:esp8266:generic --board-options wipe=all
Great thanks, will try
just from the options it is not clear how did you find the keyword: wipe=all,
I cannot see it in the options, Is it a "secret" option ?
Also not I tried to search the forum site ans arduino-cli with keyword: erase with no luck, maybe there could be some example shown there
Sorry, just found it, it was on the right side in the textarea, not seen on the first sight
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.