MSP430 Value Line LaunchPad Development Toolを入手しました。これはTEXAS INSTRTUMENTSから出されている製品です。
ちょっと、MSP430FR5739をつかった基板のプログラムをみる必要があり、全くMSP430XX CPUの知識は無い為、取り合えずこのToolが役立ちそうだと思ったのが理由です。
コンパイラは「Code Composer Studio 7.1.0」の無償版をインストールしました。これは16KBまでの容量制限つきです。
AVRやPICに比べるとマイナーなのか、情報はそれなりにあるようですが、あまりファミリアーのCPUではありません。そんな印象をうけました。
例えば、MSP430FR5739のハードマニュアルもレジスタの設定定義詳細は記述されていなくて、ユーザマニュアルを見る必要が有るようです。
まだ、齧り始めたばかりで、見方が足りないのかもしれません。
Cでレジスタの設定をする場合の記述方法もこのマニュアルには無さそうです。
取り合えず、LaunchPadに付属のMSP430G2452でLチカをやって見ました。
コンパイルはパスしましたが、肝心のCPUに実行ファイルを書く方法が分りません。
色々調べてみると下記の3通りがあるようです。
1、BSLを使い書き込む
2、JTAG を使う方法
3、Spy Bi Wire I/Fを使う
Spy Bi Wire I/Fを使うのが一番簡単そうですので、これを使いました。但し、CPU側にこれを使うためのI/Fが必要です。
詳細はここを参考にしました。
http://espilab.ddo.jp/wp/wp-content/uploads/2013/06/b78102a627e122a9a16a248cbfc624c3.pdf
実際にプログラムを書き込むには、Code Composer Studio 7.1.0 のDEbugを実行する過程で書き込まれるようです。
上記画像のクリックで書き込まれたプログラムが実行されます。
"Cでレジスタの設定をする場合の記述方法"は、普遍性が
あり、AVRでおってきた方法か゜そのまま使えます。
例えば、
特定のregのbit目を'0'にするには、
reg &= ~(1 << bit);
逆に 特定のregのbit目を'1'にするには、
reg |= (1 << bit);
です。
ここは、以下のマクロを書けばもっと簡単になります。
#define cbi(reg, bit) reg &= ~(1 << bit) // regのbit目を'0'にする。
#define sbi(reg, bit) reg |= (1 << bit) // regのbit目を'1'にする。
ちなみにAVR では、
#define _BV(bit ) (1 << bit)
というマクロがあったので、
reg &= ~_BV(bit);
や
reg |= _BV(1);
と書けました。
MSP430でも、_BV()をマクロで定義して
AVR流儀での記述も可能だと思います。
ばんとさんのブログもずっと更新が止まっていましたが、引越しでお忙しかった様ですね。
AVR流儀の書き方、いろいろ教えていただき有難うございます。
MSP430でも使えるのですね。
MSP430は始めてのマイコンですので、いろいろ試行錯誤をやっています。
取りあえずは、慣れることかな、と思います。