Community Translation - FX3 as Custom USB Bootloader - KBA218343

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

cross mob
JuIn_1625121
Level 5
Level 5
100 sign-ins First solution authored 100 replies posted

タイトル:

FX3のカスタム USB ブートローダ - 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 Likes
1 Reply
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello,

We receive your translation, it will be published to KBA to Community.

After upload, You will receive the points as the word of KBA.

Due to the current volume of works, Please bear with me for the delayed the response,

Thanks for your contribution to CDC!

Will keep you update the status.

Thanks,

Jenna Jo

Jenna Jo
0 Likes