汎用ポート接続(GPIO4Bit/GPIO2Bit/SPI/I2C)の導入手順
ドライバ内でターゲット機器のポート制御処理を行う必要がありますので、ターゲット機器に合わせてカスタマイズします。カスタマイズ後、ターゲット機器とDBOX+Traceを接続します。CONTENTS
1. 事前準備
DT+Traceに割り当てるポートをHi/Lo制御できるよう、該当ポートのレジスタもしくは制御用APIと、その定義のあるヘッダファイルを事前に把握しておく必要があります。
2. カスタマイズする箇所
ヘッダファイルのインクルード
上述のように、ポートの操作に必要な処理などが定義されているヘッダファイルをインクルードします。サンプルにある"Common.h"は例です。削除して適切なファイルをインクルードしてください。
関数のインライン設定
ドライバ内の各関数は高速化のためインライン化されています。環境によっては"inline"を使用することでビルドエラーとなりますので、そのような環境では"static"を使用します。いずれかをコメントアウトしてください。"inline"が使用できる環境であれば上記のようにします。
使用するポートの初期化
"_TP_BusPortInit"関数で行います。サンプルドライバでは例が書かれています。削除して、ターゲット機器で使用するポートに合わせて初期化してください。また、初期化後にCLKおよびCSのポート(プローブのNo.2とNo.3が接続されているポート)はHi出力してください。この関数は、ターゲットが初めてテストポイントを通過したときのみ実行されます。すでにターゲット機器のコード上でDT+Traceが使用するポートも初期化している場合は、空にしてかまいません。
CLKポートの制御(GPIO4Bit/GPIO2Bit接続)
"portReverseCLK"関数で行います。プローブのNo.2で接続されているポートのHi/Loを読み込み反転させます。サンプルドライバには例が書かれています。削除して、ターゲットに合わせてカスタマイズしてください。
CLKポートの制御(SPI/I2C接続)
"portSetCLK"関数で行います。この関数の引数"dat"の値は0か1になっていますので、1のときはポートがHi、0のときはポートがLoになるように、プローブのNo.2で接続されているポートを制御します。サンプルドライバには例が書かれています。削除して、ターゲットに合わせてカスタマイズしてください。
CSポートの制御(GPIO4Bit/GPIO2Bit/SPI接続)
"portSetCS"関数で行います。この関数の引数"dat"の値は0か1になっていますので、1のときはポートがHi、0のときはポートがLoになるように、プローブのNo.3で接続されているポートを制御します。サンプルドライバには例が書かれています。削除して、ターゲットに合わせてカスタマイズしてください。
DATAポートの制御
"portSetDATA"関数で行います。この関数の引数"dat"の値はそれぞれの接続方式で以下のようになっています。サンプルドライバには例が書かれています。削除して、ターゲットに合わせてカスタマイズしてください。以下はGPIO2Bitでのカスタマイズ例です。
割り込み禁止の設定
割り込み処理にもテストポイントが挿入されている場合は、正常なデータ出力のための割り込み禁止処理を明記します。"enterCritical"関数(割り込み禁止の有効化)および"exitCritical"(割り込み禁止の無効化)をカスタマイズしてください。そうでない場合は空関数にして差し支えありません。
カスタマイズが完了したら・・・
ドライバファイルをターゲットの開発環境に追加し、ビルドします。エラーなどが発生せずビルドできればここまでの準備は完了です。3. DBOX+Traceとターゲット機器を接続する
テストレポートの取得を行うため、以下のようにターゲット機器とDBOX+Trace、そしてPCを接続します。
プローブの各線は以下の表のように接続してください。接続するポートを誤ると、正しくレポート取得ができませんのでご注意ください。
また、DBOX+Traceとターゲット機器を接続する際にはプローブの向きにご注意ください。向きを誤ると、正しくレポート取得ができません。
ここまでで、レポート取得に必要なすべての準備が完了しました。ターゲット機器を実行しDT+Traceでテストレポートを取得します。
->テストレポートを取得する
▲トップページへ戻る