Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob

FX3のカスタム USB ブートローダ - KBA218343 - Community Translated (JA)

FX3のカスタム USB ブートローダ - KBA218343 - Community Translated (JA)

ChaitanyaV_61
Employee
Employee
50 questions asked 25 likes received 25 sign-ins

Community Translated by JuIn_1625121          Version: **

Translation - English: FX3 as Custom USB Bootloader - KBA218343

質問:

FX3をカスタムUSBブートローダデバイスとして設定するにはどうすればいいですか?

回答:

FX3のブートオプションとブート可能なイメージフォーマットはAN76405に記載されています。FX3 デバイスを初めて使用する場合は、アプリケーションノートに目を通すことをお勧めします。

下の表は、FX3で可能なブートオプションを示しており、AN76405で詳細に説明されています。

pastedImage_0.png

設計段階では、ファームウェアのロードとテストを容易にするために、ユーザーはUSB ブートオプションを好みます。一般的に、FX3 が USB ブートオプション (PMODE [2:0] = Z11) に設定されて接続されると、デフォルトの VID が 0x04B4、PID が 0x00F3 の Cypress ブートローダデバイスとしてエニュメレートされます。これがデフォルトのUSBブートローダです。しかし、ユーザーによっては、FX3 が USB ブートオプションに設定されているときに、カスタムした名前、VID、PID でエニュメレートされるのを見たいと思うかもしれません。これはカスタムUSBブートローダと呼ばれています。

カスタム USB ブートローダを正常にエニュメレーションするには、この手順に従ってください。

1. ドライバの.infファイルをカスタムした名、VID、PIDで更新します。これは、FX3 SDKのドキュメントフォルダにあるCyUsb3.sys Programmer's Reference      Manual (CYUSB.pdf)に記載されています。デフォルトのSDKのインストールパスは、

64-bit Windows: C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\doc\SuiteUSB

32-bit Windows: C:\Program Files\Cypress\EZ-USB FX3 SDK\1.3\doc\SuiteUSB

2. FX3 デバイスにカスタムブートローダに必要な変更を実装するには、2 つの方法があります。以下の2つの方法のいずれかを使用することができます。

a. 0xB2イメージの使用とUSBフォールバックでのPMODEの設定

0xB2 イメージは 8 バイトで構成される特別なイメージタイプで、FX3 ファームウェアイメージの代わりに、EEPROM または SPI フラッシュ上のデータがカスタムUSB ブート用の VID と PID であることを示すために使用されます。これは、カスタム USB ブートローダ用の新しい VID と PID を持つのに役立ちます。

0xB2 イメージの例は下の通りです。

Location1: 0xB2 0x1A ’Y’ ’C’ //CY Signature,32k EEPROM,400Khz,0xB2 Image

Location2: 0x04B40008 // VID = 0x04B4 | PID=0x0008

0xB2 イメージ用の PMODE の設定は以下の通りです。

1. PMODE [2:0] = Z1Z, I2C Boot with USB Fallback

2. PMODE [2:0] = 0Z1, SPI Boot with USB Fallback

注記:I2C または SPI 通信にエラーがある場合、FX3 はカスタムブートローダデバイスではなく、Cypress ブートローダデバイスとして表示されます。

下の条件の場合、I2C EEPROMのブートに失敗します。

    • I2Cアドレスサイクルまたはデータサイクルエラー
    • 無効なFX3 ファームウェアの署名
    • 無効なイメージタイプ

下の条件の場合、SPIのブートに失敗します。

    • SPIアドレスサイクルまたはデータサイクルエラー
    • 無効なFX3 ファームウェアの署名
    • 無効なイメージタイプ

b. 二段階ブートローダの使用 二段階ブートローダの実例となるファームウェアは、以下のディレクトリで提供されています。 C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\boot_fw\src (the default EZ-USB FX3 SDK installation path)   マクロは3つの可能なブートオプションのためにmain.cファイルで定義されています。

    • USBブート
    • I2C EEPROM
    • SPI Flash/EEPROM

FX3 をカスタム USB ブートローダとしてエニュメレートするには、USBデバイス記述子にカスタム VID と PID を指定し、USB ブートマクロを定義し、二段階目のブートローダの main.c ファイルにその他のコメントを記述します。次に、二段階目のブートローダのイメージファイルをEEPROM/Flashにロードし、PMODEの行をI2C EEPROMの場合はPMODE[2:0]=Z1Zまたは1ZZに、SPI Flashの場合はPMODE[2:0]=0Z1に設定します。FX3 がホストに接続されると、ROM ブートローダはPMODE の設定に従って 二段階目のブートローダをロードし、カスタム VID/PID のカスタムブートローダでFX3 を設定します。

0 件の賞賛
423 件の閲覧回数
寄稿者