このプロジェクトって何なの?
Blackfin BlueBootとは、Blackfinに接続されたブート用フラッシュ・ロムを書き換える事のできるソフトウェアです。ターゲット用の専用ブート・ローダとホスト用の専用アプリケーションから構成され、両者が協調動作する事でBlackfinに接続されたブート用フラッシュ・ロムの書き換えを実行します。
Blackfinは、SPIに接続された外部フラッシュ・ロムからブートさせる事ができます。
しかし、Blackfinは予めどんな外付けフラッシュ・ロムが接続されるのか知るよしもありません。
当然のようにBlackfinが外付けフラッシュ・ロムの書き換え機能を持つわけもなく、「一体どうやったら書き換えができるの?」というわけです。
Analog Devices社は、同社純正ソフトウェアであるVisualDSP++でこの問題を解決しており、Blackfinに接続されたフラッシュ・ロムの型式を選択する事で、GUIから書き換えができるようなサービスを提供しています。
うーん、さすが有償ツール!なんて感動している場合ではありません。
VisualDSP++はとても高価なツールです。
業務で使うならまだしも、趣味のDSP開発で手の出せる金額ではない事がわかりました。
Blackfin BlueBootは、このような背景から高価なツールを購入せずともBlackfinに接続されたフラッシュ・ロムを書き換えられるようにしようというプロジェクトです。
プロジェクトのゴール
このプロジェクトは、以下のゴールを設定しました。
- Blackfin搭載のターゲットに対応可能な事。
- 幅広いフラッシュ・ロムに対応可能な事。
- とにかく簡単に使える事。
- ユーザが自由にターゲットを追加できる事。
- 業務でも趣味でも少ない制約で利用できる事。
- 入手性の良いDSPボードを使って実例を示す事。
- CUIとGUIでホスト側ツールを用意する事。
- 将来的にWindows、Linux、Mac OSのプラットフォームをサポートする事。
- ターゲット側のコードは公開し、幅広く利用してもらえるようにする事。
- その他。
上記のゴールを基に設計したのが、今回公開するBlackfin BlueBootです。
簡単に使える
Blackfin BlueBootが標準でサポートするBlackfin基板を使う場合、特に簡単に使う事ができます。
最初にリリースされるWindows版における動作を見てみましょう。
インストーラでソフトウェアをインストールすると、デスクトップにアイコンが作られます。
ダブルクリックしてソフトウェアを起動します。
ソフトウェアを起動すると、以下のような画面が出現します。
初めに行なうのは、ターゲットとホストを接続するシリアル・ポートの設定です。
次に標準的にサポートされているターゲット・ボードの選択を行ないます。
このリストにないターゲット・ボードの場合、インストール先ディレクトリに公開されているターゲット用ソース・コードと設定ファイルの更新により、独自にブート・ローダを記述する事で対応させる事ができます。(これは後日、別途記事を書きたいなぁ。)
最後に、使用するブートローダとアプリケーションを指定して選択は完了です。
Boot Loaderとは、初段でターゲットに流し込むフラッシュ・ロム書き換え用プログラムです。
Boot Loaderを流し込んで書き込みを行なう場合、ターゲットをUARTブート・モードにしておく必要があります。
Applicationとは、ターゲット上のフラッシュ・ロムに書き込むバイナリを指します。
Applicationは、初段で流し込んだブート・ローダを経由してフラッシュ・ロムに書き込まれます。
ちょっと便利なLDR表示機能
単に書き込めるだけでは面白くないのでBlackfinで使用しているLDRファイルの属性も表示できるようにしました。
Version 0.2.0ではBF592形式しか対応していませんが、順次対応を拡大しようと考えています。
あ、DEADBEEFなんて洒落ていますね。
ダウンロード
- こちらからダウンロードできます。
- 2016年2月27日現在:ウェブサーバーを変更し http://cubeatsystems.com/software/bfin-blueboot/bfin-blueboot_ja.html で公開しています。 @GarageStyleMscさんにお問い合わせ頂きました。ありがとうございます。
- ライセンスはMITです。
- 業務の開発に、趣味の開発に存分に御活用下さい。
- 無保証です。使用した結果起きる如何なる損害も当方は責任を負いません。
関連文書
- 先日の記事でM25P16の書き換えコードを公開しました。
- DSPいじりを楽しみたい方には、金子システム株式会社さんが販売されているACB-BF592をお勧めします。
- DSPなどの話題が盛りだくさんの酔漢さんのページ、DSP空挺団もお勧めです。
まとめ
今回のBlackfin BlueBootツールは、これからBlackfinを使ってみたいけどツールは高価で手が届かないという人にも、手軽にDSPを体験して頂く事のできるツールとして設計しました。Blackfin BlueBootで用いた、「第1段階に書き換え機能を持ったプログラムを流し込み」、「本当にやりたい事を第2段階でやる」という手法は、一般的に用いられる手法の一つです。
実はXilinx社のFPGAツールでもプラットフォーム・フラッシュの書き換えで同様の手法が用いられていたりします。
世の中の色々なツールの動作を観察してみるのも意外に面白いかもしれませんね。
0 件のコメント:
コメントを投稿