最終更新日 平成24年11月30日
RXマイコンは、USBがついていて、内蔵SPIモジュールがあり、メモリも多量に搭載しています。しかもCPU自体が高速です。これはUSB-JTAG用のマイコンに最適であると考え、
RXマイコンをUSB-JTAGアダプタにしよう!
という企画を考えました。
JTAGは、FPGAやCPUのデバッグポートとして使われている標準規格の信号です。
JTAGを使うと、FPGAやCPUにプログラミングができたり(デバイスプログラミング機能)、CPUやFPGAの動作中のI/O端子の状態を観察したり操作したりすること(バウンダリスキャン機能)ができます。
下の図は、XILINXのSpartan-6の端子の状態をバウンダリスキャンで観察したものです。Spartan-6はBGAパッケージなので、オシロやロジアナで端子の状態を観察することはできませんが、JTAGをつかうと、H/Lといったロジックが確認できます。
JTAG自体は難しいものではないのですが、実装がデバイス(CPUやFPGAのこと)ごと、ベンダごとにばらばらなので、実際にはデバイスごとに制御プログラムを全部作りなおさなければなりません。
また、デバイスの書き込みアルゴリズムは、デバイスベンダが秘密にしているので、さまざまな方法を使って解析しないと、書き込みプログラムは作れません。
特電は、漠然と評価ボードを作って売るだけではなく、そのボードをお買い求めいただいたお客様に末永く使ってもらえるような実用的なアプリも一緒に提供したいと考えています。
その考えを具体化する最初のステップがこのUSB-JTAGなのです。
お客様に「特電の製品を選んでよかったな」とちょっとでも思っていただければ嬉しいです。
こういうことができるRXマイコンボードは特電製品以外にありません。
他社のボードはUSB-JTAGにはならないからです。
このプロジェクトでは
の2つのプログラムを提供します。
まず、RXマイコンで動くプログラムは下記のリンクからダウンロードしてください。
これらのプログラムを評価ボードに書き込んでください。
次に、Windows PCで動くコントロールソフトウェアですが、バウンダリスキャンはMITOUJTAGの更新パッチで、デバイス書き込みツールはJ-Writerが対応しています。
RaXino-iで作るUSB-JTAGの結線図は次のようになります。
JTAG信号はポートのPORTEから出てきます。
究極のRX62Nボードや、RaXinoを使う場合には、同様にPORTEとAN5に接続してください。
SRSTとINITとTRSTは、CPUのバウンダリスキャンを行うときに使います。
ターゲットボードの電源電圧Vrefは、アナログ入力のAN5に入れます。
※基板表面 将来の拡張のためBlueToothモジュールが乗っていますが、まだ使われていません。
※基板裏面
上のリンクから、J-Writerソフトウェアをダウンロードしてください。
J-Writerソフトウェアは、下記のFPGAやCPLDに書き込みができます。
また、XILINXのFPGAに接続されたSPI ROMに間接的に書き込むこともできます。
【使い方】
使い方を簡単に説明します。
① デスクトップに作成されたJ-Writerのアイコンをクリックします。
② コマンドプロンプトの画面になるので、以下のようなコマンドを入力します。
接続されたJTAGデバイスを発見します。
③ その他のコマンドは、jwriterと打てば、ヘルプが出ます。
上のリンクから、MITOUJTAGパッチをダウンロードしてください。
これをダウンロードして、中にあるexeを実行すると、MITOUJTAGが更新されて、RX-USB-JTAGが使えるようになります。
ご質問やご意見があれば、特電の掲示板に書き込んでください。