S25FS128Sフラッシュを使用するとFX3SPIブートが失敗する – KBA231163 - Community Translated (JA)

Version 1

    Community Translated by NoTa_4591161          Version: **

     

    Translation - English:  FX3 SPI boot fails when S25FS128S flash is used – KBA231163

     

    デフォルトでは、S25FS128Sフラッシュデバイスにはハイブリッドセクターが付属しています(64KBの最初のセクターが9セクターに分割されています(4KB8セクターと32KBセクターが1つ)。残りのセクターはすべて均一です(それぞれ64KB)。

     

    FX3 SDKのコントロールセンターアプリケーションを使用する場合、内部プログラミングユーティリティ(CyBootProgrammer.img)は、フラッシュデバイスのセクターサイズが均一であると想定します。これにより、ハイブリッドセクターである最初のセクターのデータが破損します。

     

    これを防ぐには、コンフィグレーションレジスタ3CR3NV)を変更して、それぞれ64KBの均一セクターを使用するようにフラッシュデバイスを構成します。図1を参照してください。

     

    1.コンフィグレーションレジスタ3CR3NV):アドレス= 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