RXマイコンでJTAGコントローラを作ろう
RXマイコンは、USBを備えていて、内蔵メモリもたくさんあり、そのうえ高速です。
これはスタンドアローンで動くUSB-JTAGアダプタを作るのに最適なマイコンだと思います。
そこで、RXマイコンをインテリジェントなUSB-JTAGアダプタにするプログラムを作ろうと思います。
目標は、
①JTAGで接続されたデバイスを自動認識できること
②バウンダリスキャンで接続されたデバイスの端子状態を読めること
③SVFプレイヤーとして動作させることができること
④XILINXのFPGAやCPLDに書き込みができること
⑤BSDLファイルを読み込む機能を持たせて、未知のデバイスにも対応できること
⑥パソコンからでも、Android携帯からでも上記の操作ができること
です。
これができれば、電車の中でFPGAのコンフィギュレーションが出来ますゆえ。
そういうわけで、開発をスタートしました。
以前、MITOUJTAGのライブラリをSH4に移植したことがあった(スタンドアローンのJTAG検査装置として受託開発した時のもの)ので、それをさらにRXマイコンに移殖してみました。
JTAG信号はRX62Nボードの汎用I/Oポートから出てくるようにしたので、それを自分のJTAGポートに入れます。
まさにセルフJTAGスキャンって感じです。
TCKと、TDOをオシロで見てみると、ちゃんと出ています。
こんな感じでポートを操作したところ、
PORT0.DR.BIT.B0 = 1;
PORT0.DR.BIT.B0 = 0;
TCKの速度は約1MHzでした。

JTAGライブラリはRXでもちゃんと動いてくれて、TeraTermの画面には検出されたデバイスのIDCODEが表示されました。

BSDLファイルやSDカードの中に入れておいたものを読み込めるようにしました。
とりあえず、JTAGライブラリ、SDカード、USBのすべてが連携して動きました。
SDRAMを使わなくてもRAMが足りそうなので、RaXino♪でも動けばいいなと思います。
現時点でのプログラムのサイズは130kBくらい。内蔵RAMも70kB以上余っているので、まだまだ入ります。FPGAの書き込みアルゴリズムくらいは入るんじゃないかと思います。
連休中に少し進めたいと思います。
| 固定リンク



コメント