2011/10/02からのアクセス回数 10069
Versaloonは、ARM Coretex-M3シリーズで最近よく使われているデバッガとのインターフェース SWDをサポートするオープンソースのJTAGです。
STM32マイコン評価ボードSTM32VLDISCOVERY やARMマイコンパーフェクト学習基板で採用されているLPC1343の評価ボードhttp://akizukidenshi.com/catalog/g/gM-03598/ が開発環境とボードに組み込まれたSWDデバッガでとても簡単に開発できるのですが、すべてWindows上の開発環境です。 *1
arm/CodeBaseを使ったARMマイコンパーフェクト学習基板の使い方でMac OSX上でコンパイルと、 プログラムのセットができても、オープンソースのデバッガOpenOCDがSWDに対応していない *2 ので、とても悔しい思いをしていました。
はじめてVersaloonの存在を知ったのは、 ねむいさんのぶろぐ を見たときでした。世の中にはすごい人がいるものだと感動しました。
さっそく、STM8S-Discoveryはじめ必要な部品を揃えSTM8S-DiscoveryのVersaloon化に挑戦しましが、 ハンダ技術にとぼしい私には、MCUのピンにハンダ付けをすることは不可能でした。
そこで、 Versaloonのサイト から完成品のVersaloon Miniを購入し、OpenOCDを作ろうとしましたが、 開発途中のためパッチとソースのバージョンが合わず上手くいきませんでした。
Windowsの方は、ねむいさんが OpenOCDの作成手順 を紹介されていますので、そちら参照するとよいでしょう。
この他に LPC1343 QuickStart Board を販売しているサイトから 10-pin to 20-pin JTAG Adpater Kit を合わせて購入すると便利です。
それでももう一度Versaloon対応のOpenOCDを作ってみようと思ったのは、 Bingo氏のサイト で紹介されている STM32 DiscoveryのVersaloon化の手順書 を見たときです。
これならトラ技のオフ会でもらったSTM32L-Dsicoveryを使ってハードの改造なしに、簡単にSTM8S-Discovery をVersaloon化することができると気づきました。 *3
その前に、Versaloon用のOpenOCDを作成する必要があります。以下ではMac OSX上でVersaloon対応のOpenOCDを作成する手順を紹介します。
Bingo氏は、VersaloonのForumでだれでも再現できるようにな スクリプトと必要なパッチ をまとめてくれました。
Bingo氏は、Versaloonの著者Simon氏の配布ファイルにあるopenocd_updateを修正し、
しています。
上記配布ファイルを使ってMac OSXでmakeをする場合、準備と若干の修正が必要です。
$ sudo port install openocd
SUDO=sudo81行目
./configure --enable-vsllink --enable-ft2232_libftdi --enable-maintainer-mode \ --enable-ft2232 --enable-libftdi
準備ができれば、後は簡単です。
$ cd local $ tar xzvf ~/Downloaded/openocd-force-10-mar-2011.tar.gz
$ cd openocd-force-10-mar-2011 $ ./openocd_update 途中でsudoからパスワードの要求がありますので、ユーザのログインパスワードを入力してください。
私が購入したVersaloon Miniのファームウェアが古く、これをopenocd-force-10-mar-2011.tar.gzに付属する
と入れ替えなくてはならないことが分かりました。
ファームウェアの更新には、STMの提供するFlash Loader Demonstratorが必要ですが、これを見つけるのに一苦労しました。ということで、
Versaloonにファームウェアを書き込むには、ボタンを押しながらUSBに接続すると赤のLEDが点灯します。 これで、シリアル通信ができるようになります。
Flash Loader Demonstratorを起動し、
指示に従いながら進んでVeraloon_IAR.hexを指定して書き込みます。
OpenOCDを使う場合、JTAGインターフェースの定義ファイル、ターゲットのMPUの定義ファイルが必要となります。
OpenOCDでは、インストール時によく使われているものについてこれらの定義を
にセットされていますが、versaloonやSWD対応MPUであるLPC1114, LPCLPC1343, LPC1768の定義ファイルは 提供されていません。
いろいろ探してみると流石 ねむいさんのぶろぐ おきば にありました。
をダウンロードしてください。 ねむいさん、ありがとうございます。
ダウンロードした定義ファイルを解凍し、以下のようにコピーします。
$ cd OpendOcd_cfgs $ sudo cp tcl/interface/* /usr/local/share/openocd/scripts/interface/ $ sudo cp tcl/target/* /usr/local/share/openocd/scripts/target/
書き込みのテストには、ねむいさんの作られたkick startのプロジェクトを使いました。
ファイルを展開したら、
$ cd LPC1343_with_KickStarts_20100901 $
皆様のご意見、ご希望をお待ちしております。