idf.py flashで焼こうとするのだが、タイムアウトして接続できない。
A fatal error occurred: Failed to connect to ESP32: Timed out waiting for packet header
CMake Error at run_cmd.cmake:14 (message):
esptool.py failed
Call Stack (most recent call first):
run_esptool.cmake:21 (include)
なぜだ。
$ idf.py -p /dev/ttyUSB0 flash
Executing action: flash...
[100%] Built target app
esptool.py --chip esp32 -p /dev/ttyUSB0 -b 460800 --before=default_reset --after=no_reset write_flash --flash_mode dio --flash_freq 80m --flash_size 16MB 0x8000 partition_table/partition-table.bin 0x1000 bootloader/bootloader.bin 0x10000 M5Core2ForAWSDemo.bin
esptool.py v3.0
Serial port /dev/ttyUSB0
いやいや、460800ってbpsだと思うけど、menuconfigの設定と違うでしょう!
それに、beforeでresetしそうなのにしないし、afterでresetしないようなのにするし。
これはどうもデフォルト値らしい。そしてmenuconfigのbps設定はidf.py monitor用だった。
慌てたらいかんね。
しかしコマンドだと苦労するのに、M5Burnerだとあっさり焼けるのが哀しい。
よくわからんが、接続待ちになったときにM5CORE2のリセットボタンを2回押すとよさそうな気がする。
確実にとはいかないのだが、だいたいいけてる。
もしかしたら1回でもいいのかもしれん。
M5Burnerだとそんなことないから、idf.py flashだけか?
そんな記事も見かけないので、VirtualBox経由でやっているせいというのもあるのかも。
まあ動けばよかろうなのだ。
2021/02/23追記
いままでLubuntu18.04だったのだが、なんとなくLubuntu20.04にアップグレードしてみた。
ターミナルも、QTerminalにしてみた。
それが何の関係があるかというと、ターミナルのカーソルがブリンクしないようになったのだ。接続待ちの時は、こんな感じでキャラクターがプログレスバーのように進んでいると思う。
Connecting........_____....._____....._
で、私が最近身につけてきたのは、「_」が出力される直前までリセットボタンを押したままにして、出力される前に離す、という技だ。
これがけっこうな確率で接続に成功する。。。していた。
「出力される前に」なので、「.」が出力されて「_」が出力される前に指を離さないといけないため、私はカーソルのブリンクでタイミングを計っていたのだ。
なお、CORE2 for AWSのサンプルはまだリセットを繰り返している。
"Bat"の行が出力されているから、この行までは動いているはずだ。
そしてここはイベントループっぽいから、別のところでリセットしているのか。
タッチパネルを触ると値が変わるから、ループは止まっていないようだし。
セキュアエレメントも外したし、LEDも外したけど、まだダメだ。
他に何があるんだーー
0 件のコメント:
コメントを投稿
コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。
注: コメントを投稿できるのは、このブログのメンバーだけです。