- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hello, Kenshow-san
Yes, it is confirmed.
Please work to do.
Thanks,
Jenna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jenna-san,
Japanese translation was over.
Please check below.
Original KBA:
Debugging of FX2LP Firmware using I2C - KBA229175
Thanks.
==============================
タイトル: I2Cを使用したFX2LPファームウェアのデバッグ - KBA229175
バージョン:* *
質問:
FX2LPのI2Cインターフェイスを使用してデバッグメッセージを送信するにはどうすればよろしいでしょうか?
回答:
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 ]をクリックします。
2. [ SCB 1 ]タブに移動し、CY7C65215でSCB 1を無効にして、SCB 0がI2C動作用に設定されている場合にデバイスが正しくエニュメレートされるようにします。
3. [ SCB 0 ]タブに移動し、ModeをI2Cに設定します。[ Configure ]をクリックします。
4. SCB 0を必要なスレーブアドレスを持つI2C スレーブとして設定し、[ OK ]をクリックします。
5. プロトコルをVCPとして設定し、[ Program ]をクリックします。
6. デバイスをリセットし、デバイスマネージャーを確認して、デバイスが正しくエニュメレートされているかどうかを確認します。
7. USBシリアルデバイスのSCLおよびSDAラインをFX2LPのピン10(SDA)およびピン11(SCL)に接続します。 FX2LPに接続されたI2Cラインにプルアップ抵抗が存在することを確認してください。
デバッグファイル
このKBAに添付されているファイルには、バイト、ワード、文字、または文字列の形式でメッセージを送信する機能が含まれており、任意のFX2LPプロジェクトに含めることができます。
- FX2LP_I2C.h - FX2LP_I2C.hヘッダーファイルには、FX2LP_I2C.cのすべての関数の関数定義が含まれています。FX2LP_I2C.cの関数にアクセスするには、このヘッダーファイルをプロジェクトに含める必要があります。
- FX2LP_I2C.c - FX2LP_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’の選択
3. Options for Target ‘Target 1’ のウィンドウで、[ C51 ]タブに移動します。
4. [ Include Paths ]テキストボックスに、FX2LP_I2C.hヘッダーファイルへのパスを入力します。[ OK ]をクリックします。
図2. インクルードパスの指定
5. bulkloop.cファイルを開き、FX2LP_I2C.hヘッダーファイル参照を追加します。
図3. ヘッダーファイル参照の追加
6. 一度コンパイルし、FX2LP_I2C.cおよびFX2LP_I2C.hファイルがプロジェクトに含まれていることを確認します。
ファームウェアの変更
次の例に示すように、bulkloop.cサンプルプロジェクトを変更して、I2Cデバッグ関数を使用します。
FX2LPI2C_Init()関数は、bulkloop.cのTD_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. COMポートの選択
2. Setup > Serial Port に移動します。デバッグファイルは、FX2LPからのI2C周波数として100 kHzを使用します。したがって、ボーレート(Baud rate)としてI2C周波数10000を入力します。[ OK ]をクリックします。400 kHzも使用できますが、それに応じてFX2LP_I2C.h デバッグファイルを変更する必要があります。
図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ウィンドウが表示されます。
3. メニューパスProgram > FX2 > RAMを選びます。表示されるポップアップウィンドウで、buglooploop.hexを選択します。これには、デバッグメッセージが含まれており、Bulkloopフォルダーにあります。
FX2LPがコードを実行すると、デバッグメッセージがTera Termに出力されます。
==============================
15-May-2020