使用するESP32がどのようなチップか、また、初期状態のバックアップ等、書き込まれているメモリのバックアップ取得
前提
- ESP-IDF 4.4.2インストール済み
- ESP32がUSB接続されている
- WIndows11
チップ情報確認
インストール後に作成されるデスクトップの「ESP-IDF 4.4 CMD」を起動
下記コマンドでディレクトリを変更
cd C:\Espressif\frameworks\esp-idf-v4.4.2\components\esptool_py\esptool
ESP32のボタンBOOTを押しながらボタンResetを押す
下記コマンドでESP32の情報取得することで接続確認する
esptool.py flash_id
C:\Espressif\frameworks\esp-idf-v4.4.2\components\esptool_py\esptool>esptool.py flash_id esptool.py v3.3.2-dev Found 1 serial ports Serial port COM3 Connecting..... Detecting chip type... Unsupported detection protocol, switching and trying again... Connecting.... Detecting chip type... ESP32 Chip is ESP32-D0WDQ6 (revision 1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: c8:f0:9e:a3:25:08 Uploading stub... Running stub... Stub running... Manufacturer: 5e Device: 4016 Detected flash size: 4MB Hard resetting via RTS pin... C:\Espressif\frameworks\esp-idf-v4.4.2\components\esptool_py\esptool>
次のバックアップに必要なメモリサイズは「Detected flash size」に出力される
バックアップ
ESP32のボタンBOOTを押しながらボタンResetを押す
下記コマンドでESP32のメモリのバックアップを取得する
esptool.py read_flash 0 取得サイズ ファイル名
– 取得サイズ:フラッシュサイズが4MBなら4194304(4×1024^2)
C:\Espressif\frameworks\esp-idf-v4.4.2\components\esptool_py\esptool>esptool.py read_flash 0 4194304 c:\Espressif\image4M.bin esptool.py v3.3.2-dev Found 1 serial ports Serial port COM3 Connecting........................ Detecting chip type... Unsupported detection protocol, switching and trying again... Connecting..... Detecting chip type... ESP32 Chip is ESP32-D0WDQ6 (revision 1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: c8:f0:9e:a3:25:08 Uploading stub... Running stub... Stub running... 4194304 (100 %) 4194304 (100 %) Read 4194304 bytes at 0x0 in 377.5 seconds (88.9 kbit/s)... Hard resetting via RTS pin... C:\Espressif\frameworks\esp-idf-v4.4.2\components\esptool_py\esptool>
ESP32のボタンBOOTを押しながらボタンResetを押す
下記コマンドでESP32のバックアップ確認(ベリファイ)する
esptool.py verify_flash -diff yes 0 取得サイズ ファイル名
C:\Espressif\frameworks\esp-idf-v4.4.2\components\esptool_py\esptool>esptool.py verify_flash --diff yes 0 c:\Espressif\image4M.bin esptool.py v3.3.2-dev Found 1 serial ports Serial port COM3 Connecting..... Detecting chip type... Unsupported detection protocol, switching and trying again... Connecting.... Detecting chip type... ESP32 Chip is ESP32-D0WDQ6 (revision 1) Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None Crystal is 40MHz MAC: c8:f0:9e:a3:25:08 Uploading stub... Running stub... Stub running... Configuring flash size... Verifying 0x400000 (4194304) bytes @ 0x00000000 in flash against c:\Espressif\image4M.bin... -- verify FAILED: 158 differences, first @ 0x0000c025 0000c025 00 a0 0000c026 00 aa 0000c027 a8 fe 0000c028 aa ff 0000c3e0 02 ff 0000c3e1 01 ff 0000c3e2 01 ff 0000c3e4 16 ff 0000c3e5 96 ff 0000c3e6 af ff 0000c3e7 9c ff 0000c3e8 61 ff 0000c3e9 70 ff 0000c3ea 2e ff 0000c3eb 73 ff 0000c3ec 6e ff 0000c3ed 64 ff 0000c3ee 63 ff 0000c3ef 68 ff 0000c3f0 61 ff 0000c3f1 6e ff 0000c3f2 00 ff 0000c3f3 00 ff 0000c3f4 00 ff 0000c3f5 00 ff 0000c3f6 00 ff 0000c3f7 00 ff 0000c3f8 01 ff 0000c400 02 ff 0000c401 42 ff 0000c402 02 ff 0000c403 80 ff 0000c404 f6 ff 0000c405 7f ff 0000c406 0b ff 0000c407 1b ff 0000c408 73 ff 0000c409 74 ff 0000c40a 61 ff 0000c40b 2e ff 0000c40c 6d ff 0000c40d 61 ff 0000c40e 63 ff 0000c40f 00 ff 0000c410 00 ff 0000c411 00 ff 0000c412 00 ff 0000c413 00 ff 0000c414 00 ff 0000c415 00 ff 0000c416 00 ff 0000c417 00 ff 0000c418 06 ff 0000c419 00 ff 0000c41c 00 ff 0000c41d 1e ff 0000c41e f9 ff 0000c41f 2a ff 0000c420 c8 ff 0000c421 f0 ff 0000c422 9e ff 0000c423 a3 ff 0000c424 25 ff 0000c425 08 ff 0000c440 02 ff 0000c441 48 ff 0000c442 01 ff 0000c444 50 ff 0000c445 f0 ff 0000c446 fb ff 0000c447 86 ff 0000c448 73 ff 0000c449 74 ff 0000c44a 61 ff 0000c44b 2e ff 0000c44c 6d ff 0000c44d 61 ff 0000c44e 63 ff 0000c44f 00 ff 0000c450 00 ff 0000c451 00 ff 0000c452 00 ff 0000c453 00 ff 0000c454 00 ff 0000c455 00 ff 0000c456 00 ff 0000c457 00 ff 0000c458 06 ff 0000c459 00 ff 0000c45a 00 ff 0000c45b 00 ff 0000c45c 01 ff 0000c45d 80 ff 0000c460 02 ff 0000c461 42 ff 0000c462 02 ff 0000c463 80 ff 0000c464 5a ff 0000c465 9e ff 0000c466 83 ff 0000c467 b3 ff 0000c468 61 ff 0000c469 70 ff 0000c46a 2e ff 0000c46b 6d ff 0000c46c 61 ff 0000c46d 63 ff 0000c46e 00 ff 0000c46f 00 ff 0000c470 00 ff 0000c471 00 ff 0000c472 00 ff 0000c473 00 ff 0000c474 00 ff 0000c475 00 ff 0000c476 00 ff 0000c477 00 ff 0000c478 06 ff 0000c479 00 ff 0000c47c 96 ff 0000c47d 2e ff 0000c47e fe ff 0000c47f 5d ff 0000c480 c8 ff 0000c481 f0 ff 0000c482 9e ff 0000c483 a3 ff 0000c484 25 ff 0000c485 09 ff 0000c4a0 02 ff 0000c4a1 48 ff 0000c4a2 01 ff 0000c4a4 4c ff 0000c4a5 38 ff 0000c4a6 13 ff 0000c4a7 13 ff 0000c4a8 61 ff 0000c4a9 70 ff 0000c4aa 2e ff 0000c4ab 6d ff 0000c4ac 61 ff 0000c4ad 63 ff 0000c4ae 00 ff 0000c4af 00 ff 0000c4b0 00 ff 0000c4b1 00 ff 0000c4b2 00 ff 0000c4b3 00 ff 0000c4b4 00 ff 0000c4b5 00 ff 0000c4b6 00 ff 0000c4b7 00 ff 0000c4b8 06 ff 0000c4b9 00 ff 0000c4ba 00 ff 0000c4bb 00 ff 0000c4bc 01 ff 0000c4bd 80 ff A fatal error occurred: Verify failed. C:\Espressif\frameworks\esp-idf-v4.4.2\components\esptool_py\esptool>
差分が出るが、000cxxならOK
おそらく、起動する度、ROMに追記される情報