# Flash Commands ---- ## Core tools Esp-idf commands can be executed using: * **idf.py**, Located in: ./esp32/esp-idf/tools/idf.py/ * **python**, Located in: ./esp32/idf-tools/python_env/idf6.1_py3.13_env/bin/python * **esptool**, Located in: ./esp32/idf-tools/python_env/idf6.1_py3.13_env/bin/esptool **idf.py** to be invoked as: ``` $ idf.py ``` **esptool** can be invoked in different ways: ``` $ esptool $ python -m esptool ``` ## Full Flash ``` idf.py -p /dev/ttyACM0 flash python -m esptool --chip esp32c3 -p /dev/ttyACM0 -b 460800 --before default-reset --after hard-reset write-flash --flash_mode dio --flash_size 4MB --flash-freq 80m 0x0 build/bootloader/bootloader.bin 0x8000 build/partition_table/partition-table.bin 0xd000 build/ota_data-initial.bin 0x10000 build/LCR-Meter.bin 0x250000 default.config ``` Where parameters are: * write_flash * -chip **esp32c3** or **esp32** * -p **/dev/ttyACM0** or **/dev/ttyUSB0** * -b **460800** * --before default_reset * --after hard_reset * --flash-mode dio * --flash-size **detect** or 4MB * --flash-freq **80m** or 40m * partition 1 = 0x0 build/bootloader/bootloader.bin * partition 2 = 0x8000 build/partition_table/partition-table.bin * partition 3 = 0xd000 build/ota_data_initial.bin * partition 4 = 0x10000 build/LCR-Meter.bin ## Flash Application Partition Use following examples to write to flash: ``` esptool -chip esp32c3 -p /dev/ttyACM0 -b 460800 --before default-reset --after hard-reset write-flash --flash-mode dio --flash-size detect --flash-freq 80m 0x10000 build/ESR-Meter.bin python -m esptool --chip esp32c3 -p /dev/ttyACM0 -b 460800 --before default_reset --after hard-reset write-flash --flash-mode dio --flash-size 4MB --flash_freq 80m 0x10000 build/ESR-Meter.bin python ../../esp-idf/components/esptool_py/esptool/esptool.py -p /dev/ttyUSB0 -b 460800 --before default-reset --after hard-reset --chip esp32 write-flash --flash_mode dio --flash-size detect --flash-freq 40m 0x00130000 build/thermometer.bin ``` Where parameters are: * write_flash * -chip **esp32c3** or **esp32** * -p **/dev/ttyACM0** or **/dev/ttyUSB0** * -b **460800** * --before default_reset * --after hard-reset * --flash-mode **dio** * --flash-size **detect** or 4MB * --flash-freq **80m** or 40m * 0x10000 build/ESR-Meter.bin ## Flash Config Partition ===== ### Write Config to partition === esptool --port /dev/ttyACM0 write-flash --flash-mode qio 0x250000 default.config ### Read CONFIG from partition === esptool --port /dev/ttyACM0 -b 460800 --before default-reset --chip esp32c3 read-flash 0x250000 4096 downloaded.config