記事ディレクトリ
5.5.1 Zadig をダウンロードしてインストールします (Windows のみ)
5.5.2 ArduPilot ファームウェアのダウンロード
5.5.3 ArduPilot をマザーボードにアップロードする
5.6 外部フラッシュメモリを使用してファームウェアをボードにロードする
5.6.2 ArduPilot ブートローダーのインストール
5.5 代替案
5.5.1 Zadig をダウンロードしてインストールします (Windows のみ)
Zadig をダウンロードして実行し ( 「ダウンロード」で「 Zadig 2.3 」を検索)、ボードへのUSBアクセスを許可します。
オプション メニューから[すべてのデバイスのリスト] オプションを選択します。
ドロップダウン メニューから「 STM32 ブートローダー」を選択し、「ドライバーの交換」ボタンを押します。
必要に応じて、ボードがUSBポートとして表示されていることを確認することもできます。
- ボード上のDFUボタンを押したままにし、USBケーブルを差し込みます ( PCに接続します)。
- Windowsデバイス マネージャーを開き、「ユニバーサル シリアル バス デバイス」の下で「 STM32 ブートローダー」を探し、ボードがDFUモードになっていることを確認します。
5.5.2 ArduPilot ファームウェアのダウンロード
ボードのArduPilotファームウェアを、 firmware.ardupilot.orgから ダウンロードします。通常、次の方法で適切なファームウェアを見つけることができます。
- ファームウェア.ardupilot.orgを開きます 。
- 航空機のタイプ (飛行機、コプター、ローバー、潜水艦、 または アンテナ トラッカーなど)のリンクをクリックすることを選択します 。
- 「ベータ」または「安定版」を選択します。
- autopilotに最も近い名前のディレクトリを見つけます。
- 「arduXXX_with_bl.hex」ファイルをダウンロードし、クリックします。通常、ダウンロード フォルダーに保存されます。
5.5.3 ArduPilot をマザーボードにアップロードする
Betaflight Configurator ( Betaflight Configurator )をダウンロード、インストールし、実行します。
- 画面左側の「ファームウェア フラッシャー」を選択します。
- 右上からDFUを選択します。
- 右下の「 Load Firmware [Local] 」を押して、上記でダウンロードしたarduXXX_with_bl.hexファイルを選択します。
- 「Flash Firmware」を押すと、数分後にファームウェアがロードされるはずです。
これで、ボードを再起動して、お気に入りの地上局 ( Mission Planner、QGCなど) に接続できるようになります。今後のファームウェアのアップロードも、Pixhawkボードの通常の方法を使用して機能するはずです。
5.6 外部フラッシュメモリを使用してファームウェアをボードにロードする
最近のボード、特にSeriously Pro Racing ( Seriously Pro Racing - Home ) のボードでは、少量の内部フラッシュを備えたMCU が使用されていますが、外部接続されたフラッシュ チップははるかに大きくなっています。これらのボードには、 ArduPilotファームウェアをロードするための追加の手順が必要です。通常、ある種のブートローダーが内部フラッシュに常駐し、メイン ファームウェアが外部フラッシュに常駐します。
5.6.1 SSBL を使用したファームウェアのロード
SPRacingシリーズのボードには、内部フラッシュ メモリに独自のブートローダーがプリロードされており、さらにファームウェアをロードするには第 2 段階のブートローダーを使用する必要があります。これらのボードにファームウェアをロードするにはいくつかのオプションがありますが、どれを選択しても、SSBLを使用してArduPilotを初期化する必要があります。SSBL をボードにロードするには、「GitHub - spracing/ssbl: Second-Stage Bootloader for the H7 series Flight Controllers. メモリ マップされた QuadSPI を使用して外部フラッシュから PX4 またはその他のファームウェアを直接起動できるようにします。SSBL をボードにロードするための「インストール」手順」に従ってください。SSBLがロードされたら、 PX4の指示に従ってArduPilot をボードにロードします GitHub - spracing/ssbl: Second-Stage Bootloader for the H7 series Flight Controllers. メモリ マップされた QuadSPI を使用して外部フラッシュから PX4 またはその他のファームウェアを直接起動できるようにします。ただし、PX4ファームウェアを使用する代わりに、arducopter.binファームウェア イメージ。手順の概要は次のとおりです。
- リリース · Spracing/SSBL · Github をダウンロードし、 GitHub -SPRACING/SSBL: Second-Stage Bootloader for the H7 Series Flight Controller. 外部フラッシュ USIRY MAPPD Quadspiから PX4 その他の F ファームウェアを直接起動できるようにします。フラッシュ メモリ内。
- 最新のArduPilot外部フラッシュ バイナリをダウンロードします (例: https://firmware.ardupilot.org/Copter/latest/SPRacingH7/arducopter.bin )。
- ddを使用してバイナリを2MBまで埋めます。
dd if=/dev/zero ibs=1k count=2048 of=AP_2MB.bin
dd conv=notrunc if=arducopter.bin of=AP_2MB.bin
- ボードをSSBL dfuモードにします -- 電源を切り、BIND ( Bootではなく) を押し続け、電源を入れます-- LED が速く点滅し、BINDを放し、LEDがゆっくり点滅します-- DFUモードが有効になります。
- 次の方法を使用してバイナリ ファイルを書き込みます。
dfu-util -D AP_2MB.bin -s 0x90100000:0x200000
- フラッシュを確認します。以下のdfu-utilコマンドはフラッシュ メモリの内容をコンピュータにコピーし、diffコマンドは内容が同じか異なるかを示します。diff でファイルが同じであると示されない場合は、飛ばそうとせず、もう一度試してください。
dfu-util -U AP_2MB-VERIFY.bin -s 0x90100000:0x200000
diff -sb AP_2MB.bin AP_2MB-VERIFY.bin
- シャットダウンし、SDカードを取り付けます (注: SDカードを取り付ける必要があります。SD カードがないとファームウェアは起動しません)。起動します。
- ミッション プランナーを使用して、通常どおりボードを構成します。
この時点で、ボード上に動作するファームウェアが存在するはずです。新しいファームウェアをロードする場合は、手順2 ~ 7を再度実行する必要があります(ファームウェアのロードにMission Plannerを使用することはできません)。ボードにbetaflight をロードしたくないと確信している場合は、 ArduPilotブートローダーをインストールできます。
5.6.2 ArduPilot ブートローダーのインストール
!警告
ArduPilotブートローダーのインストールは一方向の操作です。この手順の後、ボードを工場出荷時の構成に復元したり、betaflightをロードしたりすることはできません。それが可能であるとしても、ボードをSeriously Proに送り返し、工場出荷時のファームウェアを再フラッシュする必要があります。
ボード上でArduPilotのみを使用することが確実な場合は、ardupilot ブートローダーをフラッシュすると、その後のアップグレードが簡単になります。
- 最初にArduPilotの動作バージョンをボードにインストールする必要があります。上記の手順に従います。
- ここで、内部フラッシュ メモリからコピー プロテクトを削除する必要があります。これは、フラッシュ メモリの完全な消去を必要とする破壊的な操作です。ArduPilot はそれを簡単にするためのサポートを提供します。BRD_OPTIONS = 16を設定します 。
- ボードの電源を一旦切り、再度電源を入れてください。ボードは起動していないように見えますが、フラッシュ セクターは消去されています。数秒待ってから、ボードの電源を切ります。
- スタートボタンを押したままにして(今回はスタートにバインドしないでください)、フライトコントローラーの電源を入れます。これにより、ボードがdfuモードになります。
- ArduPilotブートローダーをダウンロードします(例: https://github.com/ArduPilot/ardupilot/blob/master/Tools/bootloaders/SPRacingH7_bl.bin )。
- dfu経由でブートローダーをインストールします。
dfu-util -a 0 --dfuse-address 0x08000000 -D SPRacingH7_bl.bin
- ボードを再起動します。
- これで、お気に入りのツールを使用してArduPilotファームウェアをアップロードできるようになりました。