ファームウェアのアップデートは準備が大変なので、しないで済むものならそうしたいのですが
ArdSCSino/BlueSCSIは現在でも新機能追加・改良が進められていて、将来的になんかスゴイ機能が追加される
可能性があります(まぁその機能に既存のハードで対応できるかどうかは別問題なのですが)
あとは定番ですが、現在起きている不具合がバージョンアップで解消されることもあります(逆に増えることも)
そんなファームウェアアップデートですが、RaSCSIベアメタルのようにダウンロードしてきたファイルをTFカードに
入れればOK!という簡単なものではなく、専用ツールや書き込み用ハードを別途用意する必要があります
1:現在のArdSCSinoのファームウェアバージョン確認
ArdSCSinoを正常に使用できている場合、TFカード上に「LOG.TXT」というファイルが作られていますので
そのファイルをエディタで開き赤線の部分を確認します。バージョンナンバーではなく日付形式です
GitHubのArdSCSinoのページに行き、src→ArdSCSIno.cppを開きます
47行目あたりに
「VERSION "1.1-SNAPSHOT-2022XXXX"」と記載されている行が現在の最新版です
ほかにもGitHub内には更新・変更内容などの情報が存在するのですが、GitHubは普段縁がない人には
なかなか難解な作りになっているので、あまり深くは掘り下げません
2:新しいファームウェアのダウンロード/ビルド
ある意味一番難解なところです。開発者さんがビルド済みのバイナリファイルを用意してくれればいいのですが
大抵は自前でソースコードをダウンロードして、そこからビルドしてファイルを得る必要があります
ArdSCSinoはビルド済みファイルが用意されています。bin→firmware.bin
ただ、これは「ST-LINK書き込み用」のファームウェアなので、USBケーブル経由でファームウェアをアップデート
できるUSBブートローダが書き込まれたBluePillでは動作しません(書き込むとブートローダ消えちゃう)
ArdSCSinoには
・ST-LINKで書き込む用ファームウェア
・USBアップデートに対応したファームウェア(上記とは細部が違うもの)
が存在することになります。しかもファイル名以外は見分ける手段なし(書き込んで動作確認して初めてわかる)
ビルドするには「PlatformIO」という統合開発環境を構築するのですが、これを分かりやすいようにかみ砕いて
説明する能力は私にはないので、各自で調べてください(逃げ)
3:ファームウェアを書き込む3つの方法
ファームウェア書き換え(書き込み)には3つの方法が用意されていますが、どれが使えるかは
ArdSCSinoアダプタの製作者に委ねられています
書き換え専用ハード「ST-LINK V2」を使うか「汎用のmicroUSBケーブル」を使うかです
(あとUSB-シリアル変換アダプタを使った書き換え方法もありますが、ST-LINKとダブるので割愛します)
確認する方法は冒頭のファームウェアバージョン日付の後ろに「-USB」がついていれば、USBケーブルによる
ファームウェア書き換えが可能、ついていない場合はST-LINKによる書き換えを必要とします
ちなみに「-USB」が付いているアダプタにST-LINKによる書き換えはできますが、USBがついていない
アダプタにUSBからのファームウェア書き換えはできません
ちなみにProject M.P.S製のArdSCSinoアダプタはカスタムファームウェアを使用してます
上記で公開されているファームをそのまま書き込んでも多分まともに動かないんじゃないかな~
(ソースは公開版と同一だけどビルドの方法が異なる)