「Arduinoの基礎」の版間の差分

ナビゲーションに移動 検索に移動
238行目: 238行目:
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>
== ファームウェアの復元 ==
==== Arudino UNO R4 WiFi ====
Arduino UNO R4 WiFiにはUSB-シリアル通信を処理するESP32-S3チップが搭載されている。<br>
このチップのファームウェアは、Arduino IDEまたはArduino Cloudを使用してアップグレードできるが、アップグレード後のファームウェアが正常に動作しない場合がある。<br>
<br>
この時、espflashツールを使用してファームウェアを復元することができる。<br>
<br>
これは、以下に示すような症状が起きている場合に有効である。<br>
* Arudino UNO R4 WiFiが、Arduino IDEまたはArduino Cloudの[ボード情報の取得]を選択すると、汎用のESP32ボード (例: ESP32-S3-Box) として検出される。
* Arudino UNO R4 WiFiが、Arduino IDEまたはArduino Cloudの[ボード情報の取得]を選択すると、データUSBケーブルでコンピュータに接続されているにもかかわらず、どのボードとしても検出されない。
<br>
まず、[https://github.com/arduino/uno-r4-wifi-usb-bridge/releases espflashツールのGithub]にアクセスして、espflashツールをダウンロードする。<br>
ダウンロードしたファイルを解凍する。<br>
unzip unor4wifi-update-linux.zip
cd unor4wifi-update-linux
<br>
espflashツールを実行してファームウェアを復元する。<br>
./bin/espflash write-bin -b 115200 0x0 firmware/UNOR4-WIFI-S3-*.bin
<br>
espflashツールを実行する時、以下に示すようなエラーが出力される場合がある。<br>
これは、システムにインストールされているGLIBCのバージョンが古いためである。<br>
./bin/espflash: /lib64/libc.so.6: version `GLIBC_2.33' not found (required by ./bin/espflash)
./bin/espflash: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by ./bin/espflash)
./bin/espflash: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by ./bin/espflash)
<br>
この時、[[インストール - GLIBC]]のページを参照して、エラーで出力されているバージョン以降のGLIBCを別途インストールする。<br>
インストールしたGLIBCをラッピングして、espflashツールを実行する。<br>
# 別途インストールしたGLIBCをラッピングして、espflashツールを実行する場合
export GLIBC_DIR="<GLIBCのインストールディレクトリ>"
$GLIBC_DIR/lib/ld-linux-x86-64.so.2 \
    --library-path $GLIBC_DIR/lib64:$GLIBC_DIR/lib:/usr/lib64:/usr/lib:/lib64:/lib \
    ./bin/espflash write-bin -b 115200 0x0 firmware/UNOR4-WIFI-S3-*.bin
<br><br>


__FORCETOC__
__FORCETOC__
[[カテゴリ:Arduino]]
[[カテゴリ:Arduino]]

案内メニュー