まだ使える Grace

(前回から、続き)

Graceは、MSP430内蔵の各種周辺I/O機能の初期化ルーチンや、割込みルーチンのコードを自動生成してくれるツールだ。
GUI画面で自分の使いたい周辺ブロックを選択肢、必要な項目をうめていくと、人が読める形の Cのソースコードを生成してくれる。

Grace Quick Start Guide (Texas Instruments Wiki)

Grace Quick Start Guideのトップページ

「人が読める形のソースコード」を出してくれる所がミソで、コメントもしっかり入っていて、ベテランが「こういうコードを書けばいいよ」と、お手本を教えてくれている感じがする。
それだけでなく、あとから仕様変更、例えば 入力や出力に使うGPIOピンを変更したくなったら、GUI画面の設定にもう一度戻ってもよいが、ソースを直接、自分で編集すれば早い。

Graceは以前は、CCSに組み込んで使うプラグインの形で提供されていたが、残念ながら CCS v6.1.2を最後にサポートは終わり、プラグイン形式では提供されなくなった。
だが、Grace単独で使える、スタンドアロン版も公開されており、今でもダウンロードして使える。

ダウンロードのページはこちら。
Grace – グラフィカル・ペリフェラル設定ツール
「GRACE-CCSV6:」 「GRACE-CCSV4: 」とあるのがCCSのプラグイン版 (今でている最新版 CCS は v7.4 なので使えない)
スタンドアロン版は「GRACE:」とだけ書かれた、一番下の項目。 なお、ダウンロードにはユーザー登録 (TIサイトの my TIのアカウント) が必要なようである。

さて、ダウンロードしてインストールするだけですんなり使えるかというと、少しコツが要る。
基本的には、Graceでコード生成したものを、CCS側で作ったプロジェクトにコピーして取り込めばよいのだけど、手加工が必要な部分がある。
それについては次回。

(続く)

20ピンのMSP430マイコンを楽に使おう

MSP430が好きだ。
PICやAVRマイコンよりは人気も知名度も低そうだし、秋葉原で購入できる品種は限られているが、自分が便利に使えれば人気は関係ないし、通販を使えば豊富な品種が購入できる。

書き込みツールは、1万いくらするJTAGエミュレータではなく、Launchpad MSP-EXP430G2 から、Spi-Bi-Wire の線を引き出して使えば足りる。 解説「MSP430 Launchpadを書き込み器に流用する」を以前書いた。

20ピンDIP品のMSP430G2452、MSP430G2553 と、同チップのLaunchPadならば、秋月電子通商で安定して入手できる。

秋月電子で取り扱っているMSP430関連製品

MSP430マイコンで、Cでプログラムを書くには、以下のような、何通りかの流儀がある:
(1) ベアメタルで書く
(2) DriverLibを利用する
(3) Graceを利用する
(4) Energiaを利用する

# TIの日本語のサイトにも、「コーディングスタイルの選択」という解説ページがある。

自分にとって初めての品種のマイコンを使う時、プログラミングの課題は、内蔵されているA/DやらUARTやらI2Cなどの、豊富な周辺(ペリフェラル) I/O機能を、いかに楽に使いこなせるかにかかってると思う。

先に(4)のEnergiaに触れると、これは ArduinoのMSP430版みたいなもので、各種I/Oにも簡単にアクセスできる関数類が用意されている。よくできているのだが、Arduino同様、デバッグが弱い。ブレークポイントを張ったり、止めて変数の値を見たりはできない。

Code Composer Studio (CCS) を使う場合、まず、自分で1から周辺I/Oの仕様・機能をデータシートを読んで理解し操作する、(1)の流儀がある。(こういうのを「ベアメタルで」と呼ぶらしい) TIのサイトに各種I/Oを動かすサンプルコードが、MSP430の品種毎に公開されているので、コピペして使えば大体動く。ただ、サンプルにない使い方をしたい場合は、自分で頑張る必要があり、悩むケースもある。

(2)のDriverLib、これはTIが用意したライブラリで、CCSでプロジェクトを新規作成する時、この選択肢がでる品種に限り、利用する事ができる。Cの関数の形で各種APIが用意されていて、ドキュメントも揃っている。
ただし、MSP430FR4133とか、FR5739 などの、仕様的に大きいチップでのみサポートされているようだ。

20ピンの品種である MSP430G2553 では DriverLibは用意されていない。
ではベアメタルでやるしかないのか?
ここで強力な助っ人が、(3)のGraceだ。

(続く)