MSP430向けに開発されたArduinoAPI互換IDE Energia。
最近MSP430LaunchPadを買ったついで最新版を確認したら、Stellaris LaunchPadとMSP-EXP430FR5739がサポートされていた。
(追記)Stellarisは名前が変わってTiva™ C となった。 開発ボードはTM4C123G LaunchPadとなる模様。
・・・・
MSP430LaunchPadは、Texas Instruments(TI)社の16bitマイコンMSP430シリーズの開発用ボード。MSP430のバリューラインという石を開発できる。
Stellaris LaunchPad(通称StellarPad)は LM4F120H5QRというCortex-M4FコアのARMマイコン開発ボード。
MSP430は結構前に購入していたが、先日もう一つ追加で買った(千石電商)。 今のロットでは同梱される石がピン数が多く周辺回路が豊富なものに変更されている。 以前ついていたものはバリューラインの中でも下位モデルだった。
もう一つ、StellarPad のほうは届いて以来積み基板と化していた…。
準備
Energiaをダウンロードして解凍するのとは別に、デバッガのドライバをインストールする。 ドライバの在り処はTIのWikiを参照。
(EnergiaにはMSP430のドライバが付属するけど、32bit用のみだった)
Windowsでは、MSP430は実行ファイルを一つ実行するだけだが、Stellarisはデバイス管理画面から、Stellarisのデバッガについて複数の項目(仮想UART、パラレルポートドライバ等)を一つ一つ当てる。
あとは、Energia上でマイコン種別と、仮想UARTポートを指定するだけ。
デバッガ経由なので、書き込みがとてもスピーディ。
ハードウェアまわり
・各ボードのピン配置図
・MSP430LaunchPadはボードRevによって若干仕様が違うので、要確認。
・MSP430はIDE/Hardware にある boards.txtのボード定義を編集するだけで動作周波数を変更可能。
AVRではブートローダーの書き換えが必要なので動作周波数を変えるのはお手軽ではないが、Energia上ではちょうどPICをPICkitで開発するような感覚。
MSP430G2553の定義された周波数は16MHzだが、もしそんなに必要なければ、試しに1MHzに書き換えて消費電流を見てみよう。このとき、デバッガとはジャンパピンを切り離しておく。
3mAあったものが0.2mAまで落ちるはず。
これでスリープも併用すれば電池や太陽電池用途にとても向いている。
ArduinoAPIが使えるPIC24だと思えば、色々と用途が見つかりそう。
…
StellarPadは80MHz時のボード全体での電流が50mA程度と、他の32bit系ボードとくらべても少なめ。
HWSerialが8chもある。試しに 3Mbpsというボーレートを設定してみたけど普通に動いてしまった。
シリアルポートの定義はCoreライブラリにまだバグがあって、全部動かすには修正が必要だったけれど、8chすべて使うことができた。 意外とロボットに向いてそうなので、試しに昔ArduPilot MEGAで作ったシステムをStellarPadで置き換えてみようと思う。
hardware/lm4f/cores/lm4f を覗いてみると、 その他にもFPUやスリープ命令の関数があるので、呼び出せば使えそう。 スリープモードはボードに32.768kHzの水晶発振子が付いているので、そのまま使えるはず。