5 製品別サポート 5 DT+Trace 5 チュートリアル 5 汎用ポート接続(GPIO4Bit/GPIO2Bit/SPI/I2C)の導入手順

汎用ポート接続(GPIO4Bit/GPIO2Bit/SPI/I2C)の導入手順

ドライバ内でターゲット機器のポート制御処理を行う必要がありますので、ターゲット機器に合わせてカスタマイズします。カスタマイズ後、ターゲット機器とDBOX+Traceを接続します。

1. 事前準備

DT+Traceに割り当てるポートをHi/Lo制御できるよう、該当ポートのレジスタもしくは制御用APIと、その定義のあるヘッダファイルを事前に把握しておく必要があります。

2. カスタマイズする箇所

ヘッダファイルのインクルード

上述のように、ポートの操作に必要な処理などが定義されているヘッダファイルをインクルードします。

DTxTrace_DriverInclude

サンプルにある”Common.h”は例です。削除して適切なファイルをインクルードしてください。

関数のインライン設定

ドライバ内の各関数は高速化のためインライン化されています。環境によっては”inline”を使用することでビルドエラーとなりますので、そのような環境では”static”を使用します。

DTxTrace_DriverInline

いずれかをコメントアウトしてください。”inline”が使用できる環境であれば上記のようにします。

使用するポートの初期化

“_TP_BusPortInit”関数で行います。サンプルドライバでは例が書かれています。削除して、ターゲット機器で使用するポートに合わせて初期化してください。また、初期化後にCLKおよびCSのポート(プローブのNo.2とNo.3が接続されているポート)はHi出力してください。

DTxTrace_DriverInit

この関数は、ターゲットが初めてテストポイントを通過したときのみ実行されます。すでにターゲット機器のコード上でDT+Traceが使用するポートも初期化している場合は、空にしてかまいません。

CLKポートの制御(GPIO4Bit/GPIO2Bit接続)

“portReverseCLK”関数で行います。プローブのNo.2で接続されているポートのHi/Loを読み込み反転させます。

DTxTrace_DriverReverseCLK

サンプルドライバには例が書かれています。削除して、ターゲットに合わせてカスタマイズしてください。

CLKポートの制御(SPI/I2C接続)

“portSetCLK”関数で行います。この関数の引数”dat”の値は0か1になっていますので、1のときはポートがHi、0のときはポートがLoになるように、プローブのNo.2で接続されているポートを制御します。

DTxTrace_DriverSetCLK

サンプルドライバには例が書かれています。削除して、ターゲットに合わせてカスタマイズしてください。

CSポートの制御(GPIO4Bit/GPIO2Bit/SPI接続)

“portSetCS”関数で行います。この関数の引数”dat”の値は0か1になっていますので、1のときはポートがHi、0のときはポートがLoになるように、プローブのNo.3で接続されているポートを制御します。

DTxTrace_DriverSetCS

サンプルドライバには例が書かれています。削除して、ターゲットに合わせてカスタマイズしてください。

DATAポートの制御

“portSetDATA”関数で行います。この関数の引数”dat”の値はそれぞれの接続方式で以下のようになっています。

DTxTrace_DriverSetDataImage

サンプルドライバには例が書かれています。削除して、ターゲットに合わせてカスタマイズしてください。以下はGPIO2Bitでのカスタマイズ例です。

DTxTrace_DriverSetDataExample

割り込み禁止の設定

割り込み処理にもテストポイントが挿入されている場合は、正常なデータ出力のための割り込み禁止処理を明記します。”enterCritical”関数(割り込み禁止の有効化)および”exitCritical”(割り込み禁止の無効化)をカスタマイズしてください。

DTxTrace_DriverEIDI

そうでない場合は空関数にして差し支えありません。

カスタマイズが完了したら・・・

ドライバファイルをターゲットの開発環境に追加し、ビルドします。エラーなどが発生せずビルドできればここまでの準備は完了です。

3. DBOX+Traceとターゲット機器を接続する

テストレポートの取得を行うため、以下のようにターゲット機器とDBOX+Trace、そしてPCを接続します。

DTxTrace_ReportCollectingImage

プローブの各線は以下の表のように接続してください。接続するポートを誤ると、正しくレポート取得ができませんのでご注意ください。

DTxTrace_GPIOPinAssign

また、DBOX+Traceとターゲット機器を接続する際にはプローブの向きにご注意ください。向きを誤ると、正しくレポート取得ができません。

レベルシフタの切り替え(対象デバイスが1.8V系出力の場合)

1.8V系出力の対象デバイスに接続するときは、DT+Traceアプリケーションのレベルシフタの設定を切り替えてご使用ください。
信号検出のスレッシュレベルが、Hi=2.36V → Hi=1.17V に切り替わります。
レベルシフトが有効になるのは、CLK, CS, DAT0~DAT3 端子のみになります。

・DT+Traceアプリケーションメニューの[テスト実行]→[GPIO/SPI/I2C接続設定]を選択します。
・GPIO/SPI/I2C接続設定ダイアログで[レベルシフトを有効にする]にチェックを付け[OK]を選択します。

ここまでで、レポート取得に必要なすべての準備が完了しました。ターゲット機器の実行し、DT+Traceでテストレポートを取得します。