13.1.11. ファームウェアの更新と復旧¶
IDEはカメラのファームウェア管理ツールでもあります。すべてのIDEリリースには各ボード向けの対応ファームウェアリリースが同梱されており、接続時にバージョンチェックが自動的に実行され、すべてのボードファミリーのブートローダー用ローダーが組み込まれています。IDEはボードを検出し、指示されなくても適切なプロトコルで通信します。カメラを最新の状態に保つには、接続してプロンプトを承認するだけで済みます。
13.1.11.1. 更新¶
接続時に、同梱リリースより古いファームウェアで動作しているカメラが見つかると、IDEは接続を完了したうえで更新を提案します(このプロンプトは恒久的に閉じることもできます)。承認すると、IDEはカメラをブートローダーへ再起動し、新しいファームウェアを書き込み、再接続します。更新ダイアログにある2つのチェックボックス(内部フラッシュファイルシステムの消去と、ROMファイルシステムのリセット)は、最初はオフの状態で、前回の選択を記憶します。両方ともオフであれば、更新によってカメラに保存されたものはすべて保持されます。例外は非常に古いファームウェアからの更新で、その場合ダイアログは消去を強制的にオンにし、警告でその旨を表示します。同じチェックは、ステータスバーのファームウェアバージョン表示から任意のタイミングで実行できます。
リリースの合間には、Tools → Install the Latest Development Release で、接続されているボード向けの現在の開発ビルドを取得してインストールできます。これは、マージされたもののまだ正式公開されていない修正や新機能を取り込む方法です。開発ビルドはまさに開発版であり、本番用のカメラはリリース版を使用すべきです。
ファームウェアとは別に、IDEは起動時に、IDE自体に対して更新されたリソース(サンプル、同梱ファームウェア、ドキュメント)が利用可能かどうかをチェックし、それらのインストールを提案します。また、新しいバージョンのIDEが利用可能になると、ダウンロードページへのリンクとともに通知します。
13.1.11.2. カスタムファームウェアの読み込み¶
Tools → Load Custom Firmware(Ctrl+Shift+L)は、同梱リリースの代わりにディスク上のファームウェアバイナリを書き込みます。これは、フリーズスクリプトやカスタム設定を組み込んでソースからビルドしたファームウェアのデプロイ経路です。ダイアログでは、ファームウェアファイルと、更新プロンプトと同じファイルシステム消去およびROMFSリセットのチェックボックスを指定します。
参考
そのバイナリを最初に構築する方法については ファームウェアのビルド を参照してください。
13.1.11.3. ファイルシステムの消去¶
Tools → Erase Internal FAT File System(Ctrl+Shift+E)は、カメラの内部フラッシュファイルシステムを再フォーマットし、保存されたすべてのファイル(main.py、ライブラリ、アセット、ログ)を削除して、デフォルトの内容を再作成します。これはカメラのストレージに対する工場出荷時リセットであり、破損したファイルシステムの修復方法であり、また誰かにカメラを渡す前にきれいな状態にする手段でもあります。ファームウェア本体とROMファイルシステムはそのまま残ります。
13.1.11.4. 文鎮化したカメラの復旧¶
ファームウェアが壊れてシリアルポートとして認識されなくなったカメラでも、まだ救済できます。ブートローダーはファームウェアの下位に存在し、ハードウェアの損傷でない限り生き残るからです。接続時にカメラが見つからない場合、IDEは文鎮化したカメラが接続されているかどうかを尋ね、復旧手順を案内します。ボードの種類を選択すると、IDEがそのボードのブートローダーインターフェースを操作し、同梱リリースのファームウェアが書き込まれます。Tools → Force enter OpenMV Cam bootloader は、まだ接続できるカメラに対して、ブートローダーへ再起動するステップを明示的に実行します。最悪の場合に備えて、ボードには電源投入時にブートローダーを強制的に起動させるハードウェア的な方法もあります。具体的な手順は各ボードのクイックリファレンスページに記載されています。