MH-ET LIVE ESP32 Mini Kit V2.0
背景
研究用として提供いただいた MH-ET LIVE ESP32 Mini KIT (以下、便宜上 ESP32と略)には V1.1(画像左側)と、同V2.0(画像右側)の二種類があった。
どちらもボード設定は https://dl.espressif.com/dl/package_esp32_index.json からインストールした ESP32 内にある「MH ET LIVE ESP32MiniKit」を選択して使っている。
ちなみに使用しているのは M1 Mac mini, macOS Big Sur (11.5.2) だ。
問題(コンパイルした結果が書き込めない)
V2.0のESP32では、コンパイルした結果を書き込もうとすると次のエラーが出て書き込めないのだ。
「A fatal error occurred: Failed to write to target RAM (result was 01070000)」
シリアルポートの問題なのだが、ArduinoIDEのシリアルモニターにはESP32からの出力が表示される。(一見接続できている風)
調査
USBシリアル用のチップが V1.1では CP2104 チップが載っていて、
V2.0にはCH9102Xというのが載っている。
このためか、ArduinoIDEでシリアルポートを選ぼうとすると、
V1.1では /dev/cu.usbserial-019572BB
V2.0では /dev/cu.usbmodem52870175061
が表示される。この usbserial が usbmodem となっているあたりが怪しい
解決
CH9102X driver mac でググって出てきたものを当たるとここに解決策があった!
https://github.com/Xinyuan-LilyGO/LilyGo-T-Call-SIM800/issues/139#issuecomment-904390716
ここから CH9102_Mac_Driver.zip をダウンロードして解凍すると中身は
「CH34xVCPDriver_signed.pkg」なので手違いかと思うが、上記サイトの記事にCH9102で使えるとあるので、気にしないでインストール。
途中で中国語のポップアップウインドウが出てくるが、読めないのでそのままボタンをクリックする。そうすると「ドライバーをインストールしても良いか?」と聞かれるので、流れのまま環境設定の鍵をクリックして許可するとインストールが完了する。
念の為、macOSをリブートしてから ArduinoIDE を起動すると、シリアルポートの選択には
・/dev/cu.usbmodem...... と
・/dev/cu-wchusbserial..... の二つが表示されるようになった。
/dev/cu.wchusbserial.... を選ぶと書き込みができるようになって問題が解決した。
追記:ドライバーーインストール時、「システム環境設定」ー「セキュリティとプライバシー」の「一般」タブの左下の鍵マークをクリック&パスワード入力して、「ダウンロードしたアプリケーションの実行許可:」の「一部のシステムソフトウェアでは使用する前に確認が求められます」の右にある詳細をクリックして「CH34xVCPDriver」のチェックを入れて実行を許可する必要があります。うまくいくと下のようにインストール成功のウインドウが表示されます。