2014年12月2日火曜日

mbed AutoTransferバージョンアップしました

mbed Advent Calendar 2014の2日目の記事を書かせて頂きます。

以前作成した「mbed AutoTransfer」のバージョンアップを行いました。
(mbedを使った何かもって書いてたけど間に合いませんでした>< ごめんなさい!)

そもそもこれはなんぞや?

 mbed オンラインIDEからダウンロードしたバイナリファイルを自動で、指定したリムーバブルドライブ(=mbed)に転送するためのソフトです。

いちいち落としたバイナリをD&Dで移動させるにしてもちょっとめんどい。
かといってブラウザのダウンロード先をmbedに変更したら戻すのが手間。
たまに移動したつもりがコピーになってて、hogehoge(1).binになっちゃうのにイラッ。
等など、 ちょっとした手間を省くために作ったソフトです。

今回のバージョンアップについて

今回は上記のように、ただ指定したドライブにバイナリをコピーするだけでしたが、新たにISPモードと自動リセットを追加しました。

ISPモードは、このソフトだけでシリアル経由のバイナリ書き込みができる!・・・というわけではなく、クマさん達が作られた「イカ醤油ぽっぽ焼き(以下ISP)」用のモードです。
ISPする際にはオンラインIDEからダウンロードしたバイナリファイル名を「bin」に変えた上でmbedのストレージにコピーするわけですが、ISPモードを有効にしていれば、コピーする際に「bin」へのリネームもやってくれます。

自動リセットは、バイナリファイルを転送し終わったあとにmbedのリセットボタンを押さないといけないわけですが、それをシリアル通信経由でやっちゃう機能です。
自動リセットが有効の場合、バイナリファイルのコピーが完了すると、指定したCOMポートに対してブレーク信号を送出します。mbedはブレーク信号によりリセットがかかるので、これによりコピー完了と同時に新しいソフトで動き出す、というわけです。

 というわけで以上2点の機能追加をしたmbed AutoTransferはこちらよりどうぞ。
http://developer.mbed.org/users/nameless129/notebook/mbed-autotransfer-tool/

以下のボードで動作確認を行いました。
mbed LPC1768
mbed LPC1114FN28
ST Nucleo F401RE
FRDM-KL46Z
LPCXpresso824-MAX
他のmbedだと動かないボードあるかも。。。
 
また今回のバージョンからGitHubにてソースを公開しました。readmeとかまだ間に合ってないですが。。。(うんコードでごめんなさい。。。)
https://github.com/en129/mbedAutoTransfer

明日は@nameless911です。

あ、カレンダーまだ枠空いてるので、ぜひぜひ
http://www.adventar.org/calendars/523