![見出し画像](https://assets.st-note.com/production/uploads/images/93933197/rectangle_large_type_2_8d7e17433812321989255f0c63bd1c50.jpeg?width=1200)
FCにArduPilotを書き込む方法
使用するFCはMATEKSYS H743-MINI
メーカーの商品ページのこの辺を参照しながらやり方を進めていく。
今回はこのソフト以外でフラッシュを行うとフリーズしてエラーになるという事がメーカーページに書いてあるため、
STM32CubeProgrammer
を使ってArdu firmwareをFlashしていく方法をやってみる。
(BataFlightやINAVも.hexファイルさえあればこれでFlash可能)
書き込みソフトをダウンロードする
・まずはSTM32CubeProgrammer(WIndows版)を
こちらからダウンロード
DFUって何?
DFUドライバーがインストールされていることを確認する。
ない場合はここをチェック
と書いてあるけどDFUって何?
DFUとは
Device Firmware Uapdateの略で、USBを使用して機器のプログラムを更新するためのプロトコル・システム。
PCとマイコンボードをUSBケーブルでつなぐだけで書き込みが可能。
DFUファームウェアが書き込み済みであれば、ユーザーボタンを押しながらリセットすると、DFUモードになります。
あとはPCから書き込み用ソフトを起動して接続すれば、プログラムを書き込むことができます。
つまり、内蔵しているDFUファームウェアを消してしまっている状態だとPCが認識してくれないから、DFUドライバーを使ってPCに認識させるようにしてやるという感じ。
認識させて初めてフラッシュ作業ができるってことかな。
そもそもDFUドライバーは使うのか?認識してくれれば要らない?
結果→要らなかった(新品のFC)
FCに書き込みたいファイルをダウンロードしてくる
コプターなのでここのページの
aruducopter with bl.hex
をクリックしてダウンロード。
その他FCの場合ここのページから探す
stable(安定版)を選択
/stable/MatekH743-bdshot/
と
/stable/MatekH743/
があるんだがどっち?
Dshot使う時はdshotってことでいいかな?
欲しいhexファイルを入手したら
書き込み作業
手順(参考サイト)
USBを選択
portでUSB1 を選択し、[更新] ボタンをクリックします
コネクトおす
「消去とプログラミング」ボタン(アイコン)を選択
「FUll chip erase」をクリック
コンピューターから hex または bin ファイルを参照します。ardupilot をフラッシュしている場合は、「ardu*_with_bl.hex」を使用します。
「Start Programming」をクリック
プログラミング後、USB を取り外し、再度 USB を接続します。FC が起動し、通常の COM モードで実行されます。
以上でできました。