Community Translation - Debugging of FX2LP Firmware using I2C - KBA229175

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi,

I would like to translate KBA229175 into Japanese.

Please confirm to my work

Thanks,

Kenshow

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello, Kenshow-san

Yes, it is confirmed.

Please work to do.

Thanks,

Jenna

Jenna Jo
0 Likes
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi Jenna-san,

Japanese translation was over.
Please check below.

Original KBA:

Debugging of FX2LP Firmware using I2C - KBA229175

Thanks.

Kenshow

==============================

タイトル: I2Cを使用したFX2LPファームウェアのデバッグ - KBA229175

バージョン:* *

質問:

FX2LPI2Cインターフェイスを使用してデバッグメッセージを送信するにはどうすればよろしいでしょうか?

回答:

FX2LP I2Cコントローラーはマスターとして機能し、I2Cスレーブに接続してデバッグメッセージを送信できます。これは、任意のコードをリアルタイムでデバッグする必要がある場合、特にUARTインターフェイスを持たない56ピンパッケージの場合に役立ちます。このナレッジベースの記事(KBA)では、I2Cインターフェイスを介してFX2LPからデバッグメッセージを構成および受信する手順について説明します。

必要要件

USB-Serial CYUSBS236 kitは、仮想COMポート(VCP)モードでのI2Cスレーブとして動作することができます。このモードでは、デバイスがホストのCOMポートとしてエニュメレートされ、サイプレスCDC(Communications Device Class)ドライバーにバインドできます。このインターフェイスを使用して、Tera Termなどのシリアル端末のI2Cインターフェイスで受信したメッセージを表示することができます。

USB-Serial Configuration Utilityを使用し、次の手順に従ってデバイスを設定します。

1. Cypress USB-Serial Configuration Utilitで、[ Select Target ]タブに移動します。ドロップダウンリストからデバイスを選択し、[ Connect ]をクリックします。

1.png  

2. [ SCB 1 ]タブに移動し、CY7C65215SCB 1を無効にして、SCB 0I2C動作用に設定されている場合にデバイスが正しくエニュメレートされるようにします。

2.png  

3. [ SCB 0 ]タブに移動し、ModeI2C設定します[ Configure ]クリックします。

3.png  

4. SCB 0を必要なスレーブアドレスを持つI2C スレーブとして設定し、[ OK ]をクリックします。

4.png  

5. プロトコルをVCPとして設定し、[ Program ]をクリックします

5.png  

6. デバイスをリセットし、デバイスマネージャーを確認して、デバイスが正しくエニュメレートされているかどうかを確認します。

7. USBシリアルデバイスのSCLおよびSDAラインをFX2LPピン10SDAおよびピン11SCLに接続します。 FX2LPに接続されたI2Cラインにプルアップ抵抗が存在することを確認してください。

デバッグファイル 

このKBAに添付されているファイルには、バイト、ワード、文字、または文字列の形式でメッセージを送信する機能が含まれており、任意のFX2LPプロジェクトに含めることができます。

  • FX2LP_I2C.h - FX2LP_I2C.hヘッダーファイルには、FX2LP_I2C.cすべての関数の関数定義が含まれていますFX2LP_I2C.cの関数にアクセスするには、このヘッダーファイルをプロジェクトに含める必要があります。
  • FX2LP_I2C.cFX2LP_I2C.cファイルには、I2Cデバッグに必要なすべての関数が含まれています。

テストのセットアップ

Bulkloopサンプルファームウェアは、デバッグ手順を示すために使用されます。このサンプルファームウェアは、 CY3684 EZ-USB FX2LP Development Kitをインストールした後の C:\Cypress\USB\CY3684_EZ-USB_FX2LP_DVK\1.0\Firmware\Bulkloop にあります。サンプルコードを変更して、このKBAに添付されたデバッグファイルを含めます。

ターゲットコードへのファイル追加

次の手順に従って、デバッグファイルをTarget Keilプロジェクトに追加します。

1. プロジェクトウィンドウの左側のペインで、[ Target 1 ]を右クリックします。

2. ポップアップメニューから、Options for Target ‘Target 1クリックします。

1. プロジェクトメニューのOptions for Target ‘Target 1の選択

6.png  

3. Options for Target ‘Target 1 ウィンドウで、[ C51 ]タブに移動します。

4. [ Include Paths ]テキストボックスに、FX2LP_I2C.hヘッダーファイルへのパスを入力します。[ OK ]クリックします。

2. インクルードパスの指定

7.png  

5. bulkloop.cファイルを開き、FX2LP_I2C.hヘッダーファイル参照を追加します。

3. ヘッダーファイル参照の追加

8.png  

6. 一度コンパイルし、FX2LP_I2C.cおよびFX2LP_I2C.hファイルがプロジェクトに含まれていることを確認します。

ファームウェアの変更

次の例に示すように、bulkloop.cサンプルプロジェクトを変更して、I2Cデバッグ関数を使用します。

FX2LPI2C_Init()関数は、bulkloop.cTD_Init()関数内で呼び出されます。これにより、I2Cバスが初期化され、コード実行中の任意の時点で使用できるようになります。他に要求される関数は、次のセクションで説明していますように必要なときに呼び出されます。

I2CスレーブアドレスはUSBシリアルスレーブアドレスと一致するように「0x02」として設定されており、FX2LP_I2C.hデバッグファイルで変更できることに注意してください

  • TD_Init()  – 次のコードスニペットは、I2Cバスを初期化し、それを反映する文字列を出力します。次に、IFCONFIGの値を出力します。

FX2LPI2C_Init(); // I2Cデバッグコードの開始

FX2LPI2C_XmitString("Debug mode initialized\r\n");

 

//スレーブFIFOインターフェイスを48MHzに設定します

IFCONFIG | = 0x40;

FX2LPI2C_XmitHex2(IFCONFI); // IFCONFIGの値を出力する

FX2LPI2C_XmitString ("\r\n");

  • TD_Poll() – 次のコードスニペットは、EP2からEP6へのパケットの転送とパケットのバイト数を示す文字列を出力します。

FX2LPI2C_XmitChar('P');

FX2LPI2C_XmitString("acket of Byte Count = ");

FX2LPI2C_XmitHex4(count);

FX2LPI2C_XmitString(" being moved to EP6\r\n");

Tera Termの設定

USBシリアルデバイスのI2Cインターフェイスを介して受信したデバッグメッセージを出力するようにTera Termを設定します。

1. Tera Termを開きます。[ New Connection ]ウィンドウで適切なCOMポート(USB-シリアルデバイスが認識されているポート)を選択し、[ OK ]をクリックします。

9.png  

9. COMポートの選択

2. Setup > Serial Port 移動します。デバッグファイルは、FX2LPからのI2C周波数として100 kHzを使用します。したがって、ボーレート(Baud rateとしてI2C周波数10000入力します。[ OK ]クリックします。400 kHzも使用できますが、それに応じてFX2LP_I2C.h デバッグファイルを変更する必要があります。

10.png  

10. I2C周波数をボーレートとして設定する

テスト

USBコントロールセンターは、USBを使用して、コンパイル済みの.hexファイルをダウンロードします。次の手順に従って、サンプルのファームウェアをテストします。

1. USBケーブルを使用してCY3684 EZ-USB FX2LP DVKボードをコンピューターに接続し、それをドライバーcyusb3.sysにバインドします。EZ-USB FX3 SDKをダウンロードしてインストールし、USBコントロールセンターを起動します。

2. C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\application\c_sharp\controlcenter\bin\Releaseeに移動しCyControl.exeを実行しますUSB Control Centerウィンドウが表示されます。

11.png  

3. メニューパスProgram > FX2 > RAMを選びます。表示されるポップアップウィンドウで、buglooploop.hex選択します。これには、デバッグメッセージが含まれており、Bulkloopフォルダーにあります。

14.png

15.png 

  

FX2LPがコードを実行すると、デバッグメッセージがTera Termに出力されます。

16.png

==============================

15-May-2020

Kenshow

0 Likes