マイコン工作実験日記

Microcontroller を用いての工作、実験記録

開発環境 - JTAG

2008-01-07 23:10:50 | Weblog
W-SIMの方はLCDをつなげたところで、しばらく停滞中。きょうは、開発に使用しているARM用JTAGについて書いておこうと思います。

わたしが使用しているJTAGはKrisTechのUsbScarabという製品です。ポーランドの会社の製品ですが、昨年Sparkfunで扱っているのを見つけて購入したものです。当初はOLIMEXのJTAG USB OCDを購入することを考えていたのですが、Sparkfunではいつも在庫切れ状態なので、在庫のあるUsbScrabを買ってみることにしました。値段は$75くらいでした。どうやらSparkfunでは在庫を売り切るとともに取扱いを止めてしまったようで、今ではProgrammarの一覧の中にUsbScarabを見つけることはできません。

わたしは他のJTAGを使ったことがあるわけではありませんが、UsbScarabもどうやらFT2232ベースのようであり、仮想COMポート機能も備えているしOpenOCD対応も詠っています。KrisTechでは、UsbScarab用のARMデバッガを用意しており、こいつを使うことでLPC2000とAT91SAM7に対してはフラッシュの書き込みがおこなえます。I/Oレジスタを調べるための機能も各CPU用にあらかじめ用意されており、簡単に使えて重宝しています。このデバッガで間に合ってしまっているので、結局OpenOCDも使わずにいます。



上記のようにいったんデバイスを選択しておくとともに、ファイルロード時の動作を指定しておくことで、ELFファイルを読み込む度に自動的にフラッシュの書き換えをおこなってくれます。ソースのコンパイルはvmware上のLinuxで行っていますが、Windowsとのファイル共有をおこなってくれるhgfs機能を使うことで、コンパイルにより生成されたELFをARMデバッガで読み込めるので結構快適です。Eclipse+OpenOCDというのが当世風なのでしょうが、バカチョンで使える簡便さからコイツを使い続けています。

AT91SAM7にはSAMBAというシリアルまたはUSBを用いたローダ機能も用意されていますが、SAM7-H256とUsbScarbaを同時に購入して使い始めたので、一度も使ったことがありません。やはりJTAGでの書き込みは快適ですね。一度、こいつに慣れてしまうと時間がかかったりジャンパの設定変更が必要なシリアルでのロードは苦痛です。

以前DWMのおまけARM基板を使っていた時には、増設したRAMで走るコードは128KB近くになっていました。この時には32KBのフラッシュには、SDカードのドライバ, FAT FSとHEXローダを焼いておき、このコードを使ってSDカードに書き込んだHEXファイルをRAM上にロードするようにしていました。ノートPCとしてLets Noteを使っているので、SDカード渡しはさほど時間もかからず、それなりに便利でした。

さて、UsbScarabなんですが、いつの間にかUsbScarab2という製品にアップデートされているようです。外観にはなんの変化も無いようなので、内部回路が何か変わったのだと思われますが、どういう変更があったのかまったく不明です。