プラットフォームごとのクセ
プラットフォームごとのクセ
最初は NXP LPC1768 しかなかったmbedですが、パートナー(半導体ベンダー)が増え、 たくさんの魅力的なCPUボードが出てきました。
ドラッグ&ドロップによる書き込みを実現する mbed interface ですが、 ボードによってプログラムの書き込み方法に特徴がありますのでまとめてみました。
Information
※ファームウェアのバージョンアップで、不具合の修正・仕様の変更などがされていることがあります。
mbed interface
- NXP LPC1768(青)
- NXP LPC11U24(黄)
- ボードの裏側に「mbedチップ(mbedインターフェース)」とUSBストレージ用のフラッシュメモリが付いています。
- USBストレージに mbed.htm とユーザーが保存した.binファイルなどがあります。
- USBストレージは2MBあり、プログラムのファイルを保存しても、すぐには書き込まれません。
- リセットや電源ON時に、タイムスタンプが一番新しいファイルが書き込まれます。
- CPUのUARTが、USBシリアルにつながるブリッジとしても働きます。(PCシリアル)
mbed HDK
- Freescale FRDM
- ST Nucleo(白)
- NXP LPC1114, LPC4088, LPCXpresso
- HRM1017
- u-blox C027
- メインのCPUとは別に「mbed HDK」として動作するCPUが付いています。
- 「MBED」という名前のUSBストレージに mbed.htm, .fseventsd, .metadata_never_index, .Trashes があります。
- USBストレージへプログラムのファイルを保存すると、すぐに書き込まれます。(書きこんだファイルは見えません)
- プログラムを書き込むと、USBがリセット(?)され、USBストレージとPCシリアルが切断・再接続されます。
- Nucleoはシリアル接続中に書き込むと、シリアルが認識しなくなり、USBの抜き差しが必要になります。(ファームウェアのアップデートにより解消)
- Macから書き込む場合は「cp -X」コマンドでファイルをコピーするといいでしょう。
- LPC11U35を使用したHDKは、シリアルが切断されないようです。
- CPUのUARTが、USBシリアルにつながるブリッジとしても働きます。(PCシリアル)
- ブートローダーモードにするピンを知らずに使っていると、プログラムが起動しないことがある。
en129 さんが便利なツールを作成されています。 [[オンラインIDEのバイナリを自動転送! mbed AutoTransfer]]
USBブートローダー
- EA LPC11U35 QuickStart Board
- CPU内蔵のブートローダーを使います。
- ISPボタンを押しながらリセットや電源ONすると、ブートローダーモードになります。
- 「CRP DISABLED」という名前のUSBストレージに firmware.bin があります。
- firmware.binを削除して、新しくプログラムのファイルを保存すると、すぐに書き込まれます。
- PCシリアルはありません。
Please log in to post comments.