MSP430 LaunchPadの開発環境構築

たまたまWebサーフィンしていたら、MSP430のLinux開発環境について記載されているページがあったので、追試を兼ねて環境構築してみることにしました。

内容物はこれ。エミュレータ機能付きのターゲットボード(MSP430G2231付き)と、予備?のMSP430G2231、32.768kHzのクリスタル、いかにもブレッドボードにつないでください、という感じのヘッダソケット、シールです。

で、今回の情報元はここです。詳しくは直接情報元を参照してもらうとして、Ubuntu10.04LTSで追試した際の手順だけ記載します。赤字で書いた部分がオリジナルとの差分です。おそらく、オリジナルの環境では texinfo がインストールされていたのでしょう。

1) subversionのインストール
・・・・すでに入ってました。

2) texinfoのインストール

$ sudo apt-get install makeinfo

で texinfo をインストールします。そうしないと途中で「makeinfoがない」と怒られて終了します。

3) 作業用ディレクトリを作る

$ cd ~
$ mkdir mspwork
$ cd mspwork

4) ソースの入手

$ svn co https://mspgcc4.svn.sourceforge.net/svnroot/mspgcc4 mspgcc4

5) コンパイル

$ sudo ./buildgcc.sh

を実行すると、構築するツールのバージョンやディレクトリをいくつか聞いてきます。Insightはwgetでダウンロードするところで 404 Not Found で引っかかるので、InsightとGDBは構築しないことにして、それ以外は今回はすべてデフォルトにしました。
最後に、「今構築するか?」と聞いてくるので、そこだけ「今構築する」に変更しました。そうすると、勝手に binutils や gcc のソースなどをダウンロードして構築してくれます。

6) パスの修正

パスに「/opt/msp430-gcc-4.4.3/bin」を追加します。具体的には、.bashrc の最後の行に、

PATH=$PATH:/opt/msp430-gcc-4.4.3/bin

を追加します。

7) mspdebugを書き込みツールとしてインストール

ソースコードを mspdebug の sourceforge のページからダウンロードしてきて、コンパイルする。(ubuntuはパッケージがあるようなことが書いてあるが、実際にはない *後述)

$ tar xvfz mspdebug-0.17.tar.gz
$ cd mspdebug-0.17
$ make WITHOUT_READLINE=1
$ sudo make install

8) LanuchPadのパーミッション変更

ルート権限で以下の内容のファイルを /etc/udev/rules.d/z99_msp430launchpad.rules として作成します。

ATTRS{idVendor}=="0451", ATTRS{idProduct}=="f432", MODE="0666", GROUP="plugdev"

その後、

$ sudo /etc/init.d/udev reload

として設定を有効にします。

9) LaunchPadの動作確認

LaunchPadを接続して動作確認します。開封直後の状態で接続すると、2つのLEDが交互に点滅します。

この状態で「mspdebug –usb-list」でデバイス一覧が表示されるのを確認しました。(マニュアルはこっちを参照)

$ mspdebug --usb-list
Devices on bus 005:
    005:001 1d6b:0001
Devices on bus 004:
    004:001 1d6b:0001
Devices on bus 003:
    003:001 1d6b:0001
Devices on bus 002:
    002:002 0451:f432 eZ430-RF2500 [serial: E3FF4225A511471A]
    002:001 1d6b:0001
Devices on bus 001:
    001:002 13fd:1040
    001:001 1d6b:0002

となるので、eZ430-RF2500として認識していることがわかります。

そこで、「$ mspdebug rf2500」とするとLEDの点滅が止まり、以下の表示がされてコマンド入力待ちになります。

$ mspdebug rf2500
MSPDebug version 0.17 - debugging tool for MSP430 MCUs
Copyright (C) 2009-2011 Daniel Beer <dlbeer@gmail.com>
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Trying to open interface 1 on 002
Initializing FET...
FET protocol version is 30001000
Configured for Spy-Bi-Wire
Set Vcc: 3000 mV
Device ID: 0xf201
Device: MSP430G2231
Code memory starts at 0xf800
Number of breakpoints: 1
fet: FET returned NAK
fet: warning: message 0x30 failed

Available commands:
    =         delbreak  gdb       load      opt       reset     simio
    alias     dis       help      locka     prog      run       step
    break     erase     hexout    md        read      set       sym
    cgraph    exit      isearch   mw        regs      setbreak  

Available options:
    color           gdb_loop        iradix
    fet_block_size  gdbc_xfer_size  quiet           

Type "help <topic>" for more information.
Press Ctrl+D to quit.

(mspdebug)

この状態で「run」コマンドを実行すると再びLEDの点滅が始まり、CTRL+C でブレークをかけることができました。

また、「hexout 0xf800 0x800 original.hex」で元々書き込まれていたプログラムを読み出して HEX ファイルに格納できました。続けて「erase」でflashの消去、「prog original.hex」で再プログラミング、「run」で点滅を再現させることができました。

10) コンパイルと実行の確認

参考にさせていただいたこちらのページのまんまで完全に動作しました。

 

ということで、最低限の環境構築ができました。できれば gdb と Insight も動かしたいところですが、とりあえずはここまでということで。

あと、launchpad.net(こっちは Canonicalが管理している方です)のこちらのページこちらのページを見ると、どうもubuntuの11.04(natty)や11.10(oneiric)ではMSP430開発環境がパッケージでサポートされているっぽい感じです。時間があれば確認してみたいと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)