![]() |
|||
|
|
|||
平成18年8月1日 ここはSH2用JTAG ICEのサポートページです。 このページで紹介するJTAG ICEは、CQ出版の雑誌「Interface」誌の2006年6月号に付録のSH2基板でのみ動作するものです。
JTAG ICE(ジェイタグアイス)とは、JTAGという通信を使ってCPUの中のコアにアクセスし、レジスタやメモリの読み書きをしたり、ステップ実行をさせるといった、強力なデバッグツールです。 自分で作ったプログラムをデバッグするには、モニタプログラムという方法もありますが、モニタプログラムは常にROMのどこかに常駐していなければなりませんし、本来ユーザが使えるはずのメモリの多くを使ってしまいます。 それに対してJTAG ICEを使ったデバッグ方法では、SH2のROMやRAMといったユーザリソースを全く必要としないのが大きな特徴です。また、RS232ではなくJTAGという専用の通信線を使いますので、RS232Cのポートはユーザが自由に使えるように残されています。 そのため、最終的なリリースをする状態に近い状態でのデバッグができるようになります。 ここで紹介するSH2用JTAG ICEを使うと、XILINXやALTERAのパラレルケーブルを用いて、SH2付録基板のJTAGデバッグができるようになります。
JTAGデバッグとは、JTAGといわれている4本の配線を使ってCPUとパソコンの間で通信をし、CPUのレジスタやメモリの読み書きをしたり、ステップ実行をさせることができる技術です。JTAGデバッグをさせるシステムをJTAGデバッガといいます。 JTAGデバッガを使うと、CPUの動作を任意の場所で止めたり、レジスタやメモリの内容を読み書きすることができるようになります。 RS232Cのシリアル通信を使うモニタ方式と比べて、次のようなメリットがあります。 現在のところ、Interface2006年付録基板のCPU(SH7144)に対して、以下の操作を行うことができます。
また、本デバッガは、上記の機能を組み合わせることで以下の機能を実現しています。
本デバッガは、以上の機能を備えたシンプルなものですが、Windowsのネイティブプログラムで動作しますので、非常に機敏かつ快適に動作します。 C言語のソースコードレベルでのデバッグが行いたい場合には、Insightというデバッガと接続して行うこともできます。 平成18年8月1日をもって、ダウンロードは終了させていただきました。ご利用ありがとうございました。 最新版は、Interface誌9月号(平成18年7月26日発売)に収録されていますので、是非ともInterface誌をお求め下さい。 使用期限について バージョン1.1ならびにバージョン1.2には試用期限はありません。
本ソフトウェアを使用するためには、以下のいずれかのJTAGケーブルをご用意ください。
XILINXのParallel Cable IIIは比較的簡単に自作することができます。 Parallel Cable III (DLC 5) Schematic RS232Cを使ったJTAG接続アダプタを作りかたを紹介します。 このアダプタを作るには、R8CマイコンかARM7マイコンを使用します。R8Cマイコンはトランジスタ技術2005年4月号の付録基板を、ARMマイコンはデザインウェーブマガジン2006年3月号付録を使います。 これらのARM基板またはR8C基板にはRS232Cのコネクタや汎用のI/Oポートがありますので、D-SUBコネクタやケーブルを接続するだけで、簡単にRS232C-JTAG変換装置を作ることができます。 RS232C-JTAGアダプタで使用するARMもしくはR8Cマイコンのファームウェアは、トランジスタ技術誌2006年5月号またはInterface誌2006年9月号のCD-ROMに収録されています。 アダプタの作り方は、詳しくは下記のURLを参照してください。 最近のノートパソコンなどはパラレルポートを備えていないものが多くなっています。そのようなPCではパラレルケーブルを使用することができませんので、USBを使うことになります。 USB-JTAGケーブルは、前述のRS232C-JTAGと市販のUSB-RS232C変換アダプタを組み合わせることで自作することができます。 具体的ば、パソコンのUSBポートに市販のUSB-RS232C変換アダプタを接続し、雑誌付録マイコンボードをつかってRS232CからJTAGにプロトコル変換します。 ただし、この方法では非常に動作速度が遅くなってしまいます。 そこで、廉価なUSB-JTAG変換アダプタとして、PocketJTAGというUSB-JTAGアダプタを開発しました。 まもなく販売を開始する見込みですのでどうぞご検討ください。 なお、このUSB-JTAGアダプタはSH2用JTAG ICE専用ではなく、「包括的JTAGサポートソフトウェア MITOUJTAG」で使用することができるものです。
PocketJTAG 予価29,800円(税別) お問い合わせは info@tokudenkairo.co.jp まで
以下、XILINXのParallel Cable IVを使用する場合で話を進めます。 SH2ボードのコネクタJ3にJTAGの信号線が出力されています。この信号線の配置は下の図のようになっています。XILINXのParallel CableにはVCC、GND、TCK、TDI、TDO、TMSと記された6本の線がありますので、SH2基板の対応する場所に接続していきます。ASEBREAKやRESETなどは接続しなくても構いません。
接続を行うと次の写真のようになります。 なおInterface付録のSH2ボードは、DBGMD端子がデフォルトでプルアップされていますので、JTAGデバッグ可能な状態になっています。もしDBGMDを改造してプルダウンにしている場合は元に戻すようにしてください。 JTAGコネクタを接続し終えたら、SH2ボードに電源を入れる準備をしてください。 これで、JTAGデバッグのためのハードウェアの準備は完了です。
SH2デバッガを使用するには、原則としてキーコードというものを設定しなければいけません。 キーコードはSH2 7144FのH'00000020番地に書き込まれた32ビットの値です。 キーコードを設定するというのは、H'FFFFFFFF以外の値を設定することを意味します。 キーコードを書き込むには、FDT(Flash Development Tool)というツールを使って、RS232C経由でフラッシュROMに書き込まなければなりません。
なお、このSH2デバッガはキーコードが未設定の状態でも起動することができます。ただし未設定の場合は起動時にフラッシュROMを消去してしまいます。 なお、本デバッガは評価用に作られているため、キーコードはH'C91F0606に固定されています。この値を変更することはできません。詳細はInterface誌をご覧下さい。
SH2の7144は、アドレス0番地の付近はジャンプテーブルとして使用されています。その中で、アドレス0x20番地の場所は「(システム予約)」とされています。本デバッガを用いてJTAGデバッグを行うには、この場所に0xC91F0606という、マジックワードを書き込む必要があります。
その中にあるvecttbl.cを編集します。右の図のようにvecttbl.cを開いてください。
GCCの場合も同様に、スタートアップルーチンなどで定義しているベクタテーブルの8番を設定してください。
Interface誌9月号付録のCD-ROM、または上記のURLからダウンロードしたexeファイルをクリックしてください。
デスクトップにある下の図のアイコンをクリックしてください。
次の図に示した画面が開きますので、XILINXのケーブルを使う場合は、そのままデフォルトの状態で「OK」ボタンを押します。「ビッグエンディアン」と書かれたチェックボックスはチェックしたままにしてください。 FDT(Flash Development Tool)などを用いてROM上にプログラムをダウンロードしている場合は、「内蔵ROM上のプログラムをデバッグする」のチェックボックスをONにしてください。 内蔵ROMが空の場合は、「内蔵ROM上のプログラムをデバッグする」のチェックボックスはOFFにしてください。
上の起動操作を行って、SH2がJTAGで認識されると、下の図のような画面になります。
もし上のような画面にならない場合は、JTAGコネクタの接続や、ターゲットボードの電源、そしてアドレス0x20番地のキーコードを確認してください。 成功すると、SH2のCPUコアにはリセットがかかり、JTAGを通じて強制的に停止させられた状態になっています。 SH2のCPUコアが停止した状態では、各種のデバッグコマンドを発行させることができます。
各ボタンの機能を以下に簡単に説明します。
本デバッガの画面は次の図のように構成されています。
各ウィンドウは不必要ならば閉じてしまっても構いません。
本デバッガは、GNUデバッガ(GDB)から接続を受けることができます。 この様子を図で表すと、下の図のようになります。
GDBやInsightは、C言語のソースコードを用いた比較的高度なデバッグを行うことができますが、JTAGプロトコルを出力することはできません。GDBやInsightはGDBプロトコルと呼ばれるコマンド群を出力します。 一方、SH2はGDBプロトコルを解釈することができません。 そこで、本デバッガが間に入って、そのGDBプロトコルを解釈してSH2が理解できるJTAGプロトコルに変換し、SH2へ送ります。 このようにして、GDBからSH2をJTAGでデバッグすることができるようになります。 GDBと本デバッガの接続はTCP/IPを使用します。相手先のアドレスはlocalhostとしてください。ポートは2159番に固定されています。
ご意見・ご質問はこちら。 掲示板はこちら
Copyright(C) 2004 Nahitech Inc. All rights reserved. |
|||