- 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
Hi, Kenshow-san
You can work on this KBA.
Thanks,
Mohammed
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Mohammed-san,
Japanese translation was over.
Please check below.
Original KBA:
FX3 SPI boot fails when S25FS128S flash is used – KBA231163
Thanks.
==============================
タイトル: S25FS128Sフラッシュを使用するとFX3SPIブートが失敗する – KBA231163
バージョン:**
デフォルトでは、S25FS128Sフラッシュデバイスにはハイブリッドセクターが付属しています(64KBの最初のセクターが9セクターに分割されています(4KBの8セクターと32KBセクターが1つ)。残りのセクターはすべて均一です(それぞれ64KB)。
FX3 SDKのコントロールセンターアプリケーションを使用する場合、内部プログラミングユーティリティ(CyBootProgrammer.img)は、フラッシュデバイスのセクターサイズが均一であると想定します。これにより、ハイブリッドセクターである最初のセクターのデータが破損します。
これを防ぐには、コンフィグレーションレジスタ3(CR3NV)を変更して、それぞれ64KBの均一セクターを使用するようにフラッシュデバイスを構成します。図1を参照してください。
図1.コンフィグレーションレジスタ3(CR3NV):アドレス= 0x00000004
均一な64KBセクターでフラッシュを設定するには、WRAR 71hコマンドを使用してCR3NV [3]に「1」を書き込み、CR3NV [1]に「0」を書き込みます(CR3NVレジスタに0x08を書き込みます)。このレジスタを更新した後、デフォルトのコントロールセンターアプリケーションを使用して、ファームウェアイメージをフラッシュにロードします。
別のアプローチとして、コントロールセンターユーティリティ(CyBootProgrammer.img)のデフォルトのプログラマツールを変更することがあります。ただし、他のタイプのフラッシュを使用すると、エラーが発生する可能性があることに注意してください。したがって、他のフラッシュデバイスで使用するためにCyBootProgrammer.imgのバックアップを作成します。
CyBootProgrammer.imgを変更するには、次の手順を実行します。
1. SDKサンプルプロジェクトcyfxflashprogを次の場所からEZ- USBSuiteにインポートします。
C:\Program Files(x86)\Cycles\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxflashprog
2. cyfxflashprog.cソースファイルを開き、CyFxFlashProgSpiInit関数を見つけます。
3.この関数の最後に次のコード行を追加します。
uint32_t reg_adr = 0x000004;
uint32_t temp;
uint8_t location[5], rdBuf[2];
location[0] = 0x06; /* Write enable. */
CyU3PSpiSetSsnLine (CyFalse);
status = CyU3PSpiTransferWords (location, 1, 0, 0);
CyU3PSpiSetSsnLine (CyTrue);
rdBuf[0] = 0x8;
location[0] = 0x71; /* Sector erase. */
temp = reg_adr;
location[1] = (temp >> 16) & 0xFF;
location[2] = (temp >> 8) & 0xFF;
location[3] = temp & 0xFF;
location[4] = 0x08;
CyU3PSpiSetSsnLine (CyFalse);
status = CyU3PSpiTransferWords (location, 5, 0, 0);
CyU3PSpiSetSsnLine (CyTrue);
4.プロジェクトをビルドします。
5.生成された.imgファイルの名前をCyBootProgrammer.imgに変更します。
6.このファイルをコピーして次の場所に貼り付けます。
C:\Program Files(x86)\Cypress\EZ-USB FX3 SDK\1.3\bin。
7.この場所に既存のCyBootProgrammer.imgのバックアップを作成して、他のSPIフラッシュデバイスで使用できるようにします。
8.コントロールセンターユーティリティ (CyControl.exe) を使用してフラッシュをプログラムします。
添付のcyfxflashprogSDKサンプルプロジェクトには、必要なファームウェアの変更が含まれています。
コントロールセンターのユーザーガイドを参照してください:C:\Program Files(x86)\Cypress\EZ-USB FX3 SDK\1.3\application\c_sharp
==============================
29-Sept-2020