XJAPI−XJLink USB-JTAG コネクタ用のAPI
XJAPIは、XJLink のJTAGハードウェアに直接アクセスする為の、Windows2000/XP用アプリケーション・プログラム・インターフェース(API)です。以下の3種類の機能を持っています。
APIのヘッダファイルはここからダウンロードできます:XJAPI.h
以下に機能の要約を示します。
初期化/APIの終了
ハードウェアとピン配置のセットアップを行う関数です。動作周波数(XJAPIは入力された周波数に最も近いXJLinkが設定可能な周波数に自動的に選択します)、ピン配置、JTAG経由の電源供給の有無を規定できます。
XJAPI_HardwareSetup( frequency, pinMap, powerOn );
ハードウェアを開放する関数です。APIを終了する前に必ず実行する必要があります。
XJAPI_HardwareRelease( );
ピン配置を設定する関数です。この関数は、コネクタの20ピンに対応した20のエレメントを持つ配列変数をパラメータとして持ちます。配列の添字(I)は、ピン I+1に対応します。以下の固定ピンは設定できません。
- pin 1 - VCC
- pin 2 - NC
- pin 4 - GND
- pin 20 - GND
※アレイは0から始まり、ピン番号は1から始まるため、ピン10は配列[9]になります。
XJAPI_SetPinMap( pinMapping, pinTypes[20], powerOn );
低レベルのJTAGアクセス
クロック周波数を設定する関数(100kHz〜33MHz)
XJAPI_SetFrequency( frequency );
TMSリセットを出力する関数
XJAPI_TmsReset( );
特定のJTAGステートに移行する関数
XJAPI_GotoState( state );
DR又はIRスキャン終了後にシステムが移行する最終ステートにセットする関数。通常、このステートはJTAG_IDLEステートです。
XJAPI_SetEndState( endir, enddr );
JTAGチェインの特定の回数クロック送る関数
XJAPI_ClockChain( count );
高レベルのJTAGスキャン関数
JTAGのDRスキャン又はIRスキャンを実行する関です。通常、システムはこのスキャン終了後にJTAG_IDLEステートに移行します。異なるステートに設定したい場合はXJAPI_SetEndState関数を使用してください。
スキャンのタイプを(DR又はIRに)規定します。スキャンするビット長とデータバッファのアドレスも規定します。“outData”は出力バッファで0バイト目の0ビット目を先頭にシフトアウトします。“inData”は入力バッファで0バイト目の0ビット目を先頭にシフトインします。
XJAPI_Scan( scanType, length, outData, inData );
複数回のスキャンを実行する関数です。DRスキャンとIRスキャンが混在した複数のスキャンチェーンに対して、利用可能です。
※“nScans“以外の引数は、全て”nScans“個の配列変数になります。
XJAPI_ScanMultiple( nScans, scanTypes, length, outData, inData );