MPSロゴ USBを使ったファームウェア書き換え トップページに戻る
USBによるファームウェア書き換えに必要なもの
・USBアップデート対応のArdSCSinoファームウェア
※前述のとおり、USBアップデート対応かはビルドした人が付けたファイル名からしか分からないので要確認

・microUSBケーブル
※ちゃんと電源とデータ線が全結線されているもの、たまに電源のみのものもある・・・

・USBブートローダ書き込み済みのArdSCSino(BlueSCSI)アダプタ
※見分け方は前述のLOG.TXTのバージョン日付横にある「-USB」の文字があるかどうか
もしくは電源を入れたときのPC13 LEDの反応でもわかります

電源投入時にPWR LEDとPC13 LEDが最初に慌ただしく点滅し、ちょっとゆっくりに点滅→消灯する
(ブートローダが入っていない場合はPC13 LEDが一瞬点滅→消灯する)

ちなみにブートローダはST-LINKがあれば後から書き込むことができます
(USBだけで完結させるのは無理=ブートローダが書き込まれていないとUSBデバイスとして認識しない為)


まずArdSCSinoアダプタのUSBポートとPCをケーブルで接続します。デバイスマネージャで
こういう表示になった場合はドライバのインストールが必要です

DFUデバイスドライバのダウンロードとインストール → GitHub Arduino_STM32
右上の緑色の[Code▼]→[Download ZIP]でダウンロードします

[Arduino_STM32-master]→[drivers]→[win]だけを展開します。展開したら、[win]の中の[install_drivers.bat]を
実行すればドライバがインストールされます(出所怪しいドライバなのでシステムに起動ブロックされるかも)


ドライバがちゃんと当たればエラー表示が消えます

ドライバも当たりましたのでArdSCSinoアダプタにファームウェアを書き込みます

DFUモード用のファームウェア書き込みができるGUIなツールはいくつかありますが、どれもこれもとっつきにくい
(個人の感想です)なので、オープンソースである「dfu-util」(CUI)を使います。どうしてもGUIじゃなきゃ
やだい!という人は各自で調べてください

dfu-utilは先ほどダウンロードしたArduino_STM32の中に入っています
[Arduino_STM32]→[tools]→[win]→[dfu-util-0.9-win64]の中です(Windows 64bit専用)

dfu-utilのフォルダの中にファームウェアをコピーして、コマンドプロンプトを開いて
以下のように入力してください
dfu-util-static.exe -D (ファームウェア名) -a 2
入力してもまだEnterを押さないで!


リセットボタンを押すと、PC13 LEDが慌ただしく点滅し、ちょっとゆっくりに点滅→消灯という感じになりますが
慌ただしく点滅、ちょっとゆっくり点滅の間にコマンド実行をしてください!
時間にして2~3秒の間ですね。あんまり早く(リセットと同時にコマンド実行)だと失敗する確率が高く
ボタンを押してから1秒くらい経ってからコマンド実行をするとうまくいくようです

ファームウェアの書き込みが上手くいったか確認するにはTFカードが入っている場合は抜いて下さい
リセットボタンを押して慌→ゆっくり点滅の後、5回間隔で点滅するのが確認出来たら成功です
(ArdSCSinoのTFカードが入っていない場合のエラー点滅ですね>5回点滅)

dfu-utilがおいてあるフォルダに移動して、コマンドを手打ちしてファームウェアの書き込みをしてもいいのですが
もう少し楽に書き換えしたいなーという思いから、専用ツール(バッチファイル製)を作りました

ArdSCSino半自動ファームウェアアップデータ(仮)


アップデータを展開したフォルダに「2:」で作成・ダウンロードしたArdSCSinoファームウェアをコピーし
コマンドプロンプトを開いて「fwupdate ファームウェア名」とすれば起動します
どうでもいいことですが、このツールは「ファイル名8+3文字形式」「80文字+25行」を意識して作られています(笑)

あとはアップデータの指示に従って
・2-書き込みにUSBを使用
・TFカードが挿さっていればArdSCSinoアダプタのTFカードを抜く
・ArdSCSinoアダプタのUSBコネクタとPCをUSBケーブルで繋ぐ
・大文字のWキー+Enterキーでファームウェア書き込み開始
・書き込みが終わったらリセットボタンを押す
・PC13 LEDが5回間隔で点滅するのが確認出来たらUSBケーブルを取り外す
・コマンドプロンプトウィンドウを閉じる

ArdSCSinoアダプタにSCSIケーブルを繋いで実機で動作確認。デバイススキャンでドライブを認識しなかったり
認識しても妙に不安定だった場合はファームウェアに問題があります。可能なら再ビルドするか
ビルド済みパッケージの場合は、ビルドした人に確認してみてください