2021/02/11

M5CORE2にうまく接続できない

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のサンプルはまだリセットを繰り返している。

 

image

"Bat"の行が出力されているから、この行までは動いているはずだ。
そしてここはイベントループっぽいから、別のところでリセットしているのか。
タッチパネルを触ると値が変わるから、ループは止まっていないようだし。

セキュアエレメントも外したし、LEDも外したけど、まだダメだ。
他に何があるんだーー

0 件のコメント:

コメントを投稿

コメントありがとうございます。
スパムかもしれない、と私が思ったら、
申し訳ないですが勝手に削除することもあります。