ESP32を搭載した基板20枚を製作しました。そのうち数枚において,WiFiのテストプログラムが動作しない問題がありました。結局,次のとおりフラッシュメモリをクリアすることで解決しました。
・症状
- WiFiが起動せず不安定(SSIDが見えない。)
- WiFiのパスワード入力後,再度パスワードを求められる
- ブラウザからアクセスしたとき,2,3回で通信断になる
・フラッシュメモリのクリア
1.コマンドプロンプト(管理者)を起動
2.esptool.exeを実行して,フラッシュメモリをクリア(消去)。COM<n>は環境に合わせて変更。
% esptool.exe --chip esp32 --port COM7 --baud 921600 erase_flash esptool.py v2.3.1 Connecting....... Chip is ESP32D0WDQ6 (revision (unknown 0xa)) Features: WiFi, BT, Dual Core, VRef calibration in efuse Uploading stub... Running stub... Stub running... Changing baud rate to 921600 Changed. Erasing flash (this may take a while)... Chip erase completed successfully in 9.4s Hard resetting via RTS pin...
3.WiFiのテストプログラムを書き込む
- 初期状態で動作しなかったESP32ボードは,プログラム実行時にシリアルモニタを開くと,次のメッセージが繰り返し出ていました。
・エラーメッセージ
rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT) configsip: 0, SPIWP:0xee clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00 mode:DIO, clock div:1 load:0x3fff0018,len:4 load:0x3fff001c,len:1324 load:0x40078000,len:7788 ho 0 tail 12 room 4 load:0x40080400,len:6448 entry 0x400806e8 assertion "false && "item should have been present in cache"" failed: file "/Users/ficeto/Desktop/ESP32/ESP32/esp-idf-public/components/nvs_flash/src/nvs_item_hash_list.cpp", line 85, function: void nvs::HashList::erase(size_t) abort() was called at PC 0x400ec2af on core 0 Backtrace: 0x400881d4:0x3ffcfba0 0x400882d3:0x3ffcfbc0 0x400ec2af:0x3ffcfbe0 0x400f5d2c:0x3ffcfc10 0x400f63e6:0x3ffcfc30 0x400f6715:0x3ffcfc80 0x400f57dc:0x3ffcfce0 0x400f5336:0x3ffcfd30 0x400f53cf:0x3ffcfd50 0x400f541a:0x3ffcfd70 0x400e6318:0x3ffcfd90 0x4012d993:0x3ffcfdb0 0x400edc5e:0x3ffcfde0 Rebooting...
コメント