お待たせしました!
ルネサスRXマイコン用JTAG ICEをリリースします。
このJTAG ICEは低機能ですが、ルネサスエレクトロニクスのRX610、RX62T、そしてRX62Nに対応しました。
(そのほかに、SH-2、SH-2A、SH-4、V850ESなどにも対応しています)
とりあえずは、このブログで使い方を簡単に説明します。
ここでは、ターゲットボードとして、アルファプロジェクトさんのAP-RX62T-0Aを使います。このボードは、RX62TというファミリのCPUが乗っています。RX62Nに比べると、幾分機能が削減されているタイプです。(RX62Nのほうが高級)
まず、ボードのCN3にJTAGの信号をつなぎます。このICEは、Pocket JTAG Cableや、Spartan-6ボードで作るUSB-JTAG、「マルチJTAGプログラムアダプタ」のJ-Writer、それからパラレルポートなどが使えます。

つなぎ方を図解します。

TDI、TMS、TCK、TDO、Vref、GND、TRSTは必ずつないでください。nRSTとEMLEはオプションでつなぎます。(つながなくても動作させられるけど面倒だからつないだほうがいい)
このマイコンにあるEMLEという端子は、エミュレータイネーブルの意味です。この信号がHレベルになると、JTAG の使用が許可されます。この信号がLレベルだと、JTAGは使えません。EMLE信号をPocket JTAG Cableとつなぐと、自動的に操作されます。
このAP社の基板において、プログラムをデバッグする場合と、ルネサス・フラッシュ・ツール(FDT)で書き込む場合の、基板上のスイッチの設定を次の図に示します。これらの設定は排他的です。JTAG ICEでデバッグする場合の設定だとFDTは動作しません。逆にFDTでフラッシュに書き込む設定だと、JTAGは動作しないのでご注意ください。

こちらからダウンロードしたスーパーマルチJTAG ICEをインストールすると、デスクトップ上に次のアイコンが出来ます。これをクリックして起動します。

起動する際に、CPUの種類と使用するケーブルを選ぶ設定がでます。ここでは、RXマイコンとPocket JTAG Cableを選びます。いろんな種類のCPUに対応させてきたつもりですが、よくみると全部ルネサスになってしまいました。

ケーブルがうまく接続できていて、電源がちゃんとつながっていれば、次のような画面が出て、JTAG ICEとCPUとの間で通信が確立したことが示されます。

ここでツールバーのストップボタンを押すと、CPUの動作が停止し、現在のレジスタ一覧を読み出して停止します。

この状態で、ステップ実行したり、再開したり、レジスタを書き換えたり、メモリダンプができます。
次に、プログラムをRAM上にダウンロードする方法を説明します。
プログラムを内蔵ROMではなくRAM上にダウンロードすれば、書き込みをするたびにROMが劣化するのを防げます。(ROMの書き換え回数は有限) また、RAMへのダウンロードのほうが短い時間で済みます。だから、簡単なプログラムならRAMにダウンロードしたほうがメリットがあります。
まず、ツールバーの「ダウンロードボタン」を押します。

すると、ダウンロードマネージャというのが開きます。ここで、HEWで作成したファイルを指定して「実行」ボタンを押します。なお、HEWでコンパイル&リンクされたファイルは.absという拡張子になっていますが、中身はELFファイルです。

短いプログラムなら、1秒足らずでダウンロードできます。

RAM上にダウンロードしたら、制御レジスタのPSWを手動で0にしてください。下の画面では、PSWは00130000のようになっていますが、この13というのは、ユーザモードと割り込みレベルを示す値です。ユーザモードのままで初期化プログラムを走らせても正しく動作しないので、これを0にクリアしてスーパーバイザモードにしてから開始してください。

これで実行開始ボタンを押せばプログラムは走りますし、ステップ実行ボタンを押せば1命令ずつ動きます。
下の画面は、シリアル通信を動かして文字をひたすら表示するテストプログラムです。

スーパーマルチJTAG ICEのダウンロードはこちらから行えます。
まだまだバージョンアップしていきますので、ご期待ください。
最近のコメント