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

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

cross mob
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi,               

I would like to translate KBA231163into Japanese.

Please confirm to my work.

Thanks,

Kenshow

0 Likes
2 Replies
MohammedN_41
Moderator
Moderator
Moderator
25 replies posted 25 sign-ins 10 replies posted

Hi, Kenshow-san

You can work on this KBA.

Thanks,

Mohammed

0 Likes
Kenshow
Level 8
Level 8
Distributor - Marubun (Japan)
50 solutions authored 25 solutions authored 10 solutions authored

Hi Mohammed-san,

Japanese translation was over.
Please check below.

Original KBA:

FX3 SPI boot fails when S25FS128S flash is used – KBA231163

Thanks.

Kenshow

==============================

タイトル: S25FS128Sフラッシュを使用するとFX3SPIブートが失敗する – KBA231163

バージョン:**

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

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

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

1.コンフィグレーションレジスタ3CR3NV):アドレス= 0x00000004

   pastedImage_13.png    

均一な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

Kenshow

0 Likes