- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I would like to translate KBA229648 into Japanese.
Thanks,
Original KBA:
FX2LP I2C Based Debug with SDCC on Eclipse IDE- KBA229648
Translated by Kenshow
==============================
タイトル: Eclipse IDE上のSDCCによるFX2LP I2Cベースのデバッグ-KBA229648
バージョン:**
質問:
SDCCコンパイラを使用している場合、FX2LPを介してI2Cデバッグメッセージを送信するにはどのようにすればよいでしょうか?
回答:
FX3 SDKからインストールできるEclipse統合開発環境(IDE)には、SDCCコンパイラスイートプラグインが含まれており、FX2LPプロジェクトのビルドに使用できます。Eclipse IDEにあるテンプレートを使用してFX2LPプロジェクトを作成する方法の詳細については、 EZ-USB Suite User Guideをご参照願います。このナレッジベースの記事(KBA)では、I2Cインターフェイスを介してFX2LPからデバッグメッセージを受信するようにEclipse IDEでプロジェクトを構成する手順について説明します。
USBシリアルデバイス(CY7C65215)をI2Cスレーブとして使用してFX2LPからメッセージを送信するには、5 Debugging of FX2LP Firmware using I2C - KBA229175.をご参照願います。
FX2LPプロジェクトテンプレートを使用したプロジェクトの作成
1.Eclipse IDEで、メニューパスの[File ] →[New]→[Project ]を選択します。
図1. Eclipse IDEで新しいプロジェクトを開く
2. New Projectダイアログで、FX2LP Projectを選択します。
図2. FX2LPプロジェクトの選択
3. [Create the Project using one of the Templates ]チェックボックスを選択します。プロジェクトの名前を入力し、Bulkloop_SDCCテンプレートを選択します。[ Finish ]をクリックしてプロジェクトを作成します
図3. Bulklopp_SDCCテンプレートを使用したプロジェクトの作成
注: EZ-USB Suite User Guideで説明されていますように、SDCCコンパイラスイートをダウンロードしたことを確認してください。
4.プロジェクトを作成さら、 Properties → C/C++ Build.に移動します。ビルドコマンドスペースにC:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\Eclipse\plugins\net.sourceforge.eclipsesdcc.win32_1.0.0\os\win32\x86\make.exe -kを追加し、[OK]をクリックします。
デバッグファイル
このKBAに添付されている次のファイルには、バイト、ワード、文字、または文字列の形式でメッセージを送信する関数が含まれており、FX2LPプロジェクトに含めることができます。
- fX2lpi2c.h-このヘッダーファイルには、fx2lpi2c.cのすべての関数の関数定義が含まれています。fx2lpi2c.cの関数にアクセスするには、このヘッダーファイルをプロジェクトに含める必要があります。
- このソースファイルには、I2Cデバッグに必要なすべての関数が含まれています。
テストのセットアップ
Bulkloopテンプレートファームウェアは、デバッグ手順を示すために使用されます。一般的なI2C操作を有効にするには、USBJmpTb.asmファイルを変更する必要があります。これは、I2C ISRのアドレスをハードコーディングするために行われます。これは、SDCCコンパイラがデフォルトでアドレスを任意の場所に配置するため、ISR呼び出しとUSBのエヌメレーションで問題が発生するためです。ファイルに次の行を追加します。
.area INTI2C (CODE,ABS)
.org 0x004B
ljmp _i2c_isr
図4. USBジャンプテーブルファイルへのISRアドレスの追加
テンプレートプロジェクトを変更して、このKBAに添付されたデバッグファイルを含めます。
ターゲットプロジェクトへのファイルの追加
次の手順に従って、デバッグファイルをターゲットプロジェクトに追加します。
1.デバッグファイルをプロジェクトフォルダに追加します。
図5. プロジェクトへのファイルの追加
2. Eclipse IDEでプロジェクトを開き、ファイルが追加されていることを確認します。
図6. ファイルが追加されたかどうかの確認
3. bulkloop.cファイルを開き、fx2lpi2c.hヘッダーファイル参照を追加します。
図7. ヘッダーファイル参照の追加
4.一度コンパイルして、fx2lpi2c.cおよびfx2lpi2c.hファイルがプロジェクトに含まれていることを確認します。
ファームウェアの変更
次の例に示すように、bulkloop.cサンプルプロジェクトを変更して、I2Cデバッグ関数を使用します。
FX2LPI2C_Init()関数はbulkloop.cのTD_Init()関数内で呼び出されます。これにより、I2Cバスが初期化され、コード実行中の任意の時点で使用できるようになります。他の必要な関数は、次のセクションで説明するように、必要なときに呼び出されます。
I2Cスレーブアドレスと周波数はfx2lpi2c.hデバッグファイルで変更できることに注意してください。
- TD_Init() – 次のコードスニペットは、I2Cバスを初期化し、それを反映する文字列を出力します。次に、IFCONFIGの値を出力します。
FX2LPI2C_Init();// I2C Debug Code Start
FX2LPI2C_XmitString("Debug mode initialized\r\n");
// スレーブFIFOインターフェースを48MHzに設定します
IFCONFIG | = 0x40;
FX2LPI2C_XmitHex2(IFCONFIG); // 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 ");
デバッグ用のファームウェアファイルのすべての変更を含む添付プロジェクトをご参照願います。
参考文献
==============================
11-May-2020