Community Translation - PSoC®/PRoC™ BLE Upgradable Stack OTA Project Gets Stuck in Launcher Project if Frequently Powered ON and OFF - KBA219824

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 KBA into Japanese.

Please confirm to my work.

Thanks,

Kenshow

0 Likes
2 Replies
JennaJo
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hi, Kenshow-san

Sorry to said that, this KBA is worked already, would you pick another one to work?

Thanks

Jenna

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

Hi Jenna-san,

                                

Japanese translation was over.
Please check below.

Original KBA:

PSoC®/PRoC™ BLE Upgradable Stack OTA Project Gets Stuck in Launcher Project if Frequently Powered ON and OFF - KBA219824

Thanks.

Kenshow

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

タイトル: PSoC®/PRoC™BLEアップグレード可能なスタックOTAプロジェクトが頻繁に電源をオン/オフするとランチャープロジェクトでスタックする - KBA219824

バージョン:**

質問:

PSoCまたはPRoC BLEチップを256Kフラッシュで使用し、アップグレード可能なスタックOTAをアプリケーションプロジェクトにマージします。頻繁に電源をオン/オフすると、プロジェクトがランチャープロジェクトでスタックし、フラッシュが破損します。この問題を解決するにはどうすればよろしいでしょうか?

回答:

これは、同じデータがすでにフラッシュにある場合でも、ブートローダーが起動中に毎回メタデータに書き込むために発生します。フラッシュ書き込みには、デバイスのVddおよびVssピンに安定した電力が必要です。起動時に同じデータがフラッシュにある場合にブートローダーがメタデータに書き込むのを防ぐには、Launcher.cファイルの2812行から2828行を変更します。これにより、フラッシュに書き込む前に同じデータがすでにフラッシュにあるかどうかがチェックされます。ブートローダーV1.5以前のバージョンに問題があり、これは今後のバージョンで修正される予定です。

if (rowData[address % CYDEV_FLS_ROW_SIZE] != runType)

    {

        rowData[address % CYDEV_FLS_ROW_SIZE] = runType;

#if(CY_PSOC4)

(void) CySysFlashWriteRow((uint32) rowNum, rowData);

    #else

(void) CyWriteRowData(arrayId, rowNum, rowData);

    #endif  /* (CY_PSOC4) */

    #if(CY_PSOC5)

/***************************************************************************

* フラッシュへの書き込み時に、命令キャッシュ内のデータが古くなる可能性があります。

* したがって、キャッシュデータは、フラッシュに書き込まれたばかりのデータとは相関しません。

*キャッシュ内のデータを無効にし、フラッシュから新しい情報を強制的にロードするには、

* CyFlushCache()の呼び出しが必要です。

***************************************************************************/

CyFlushCache();

    #endif /* (CY_PSOC5) */

    }

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

04-August-2020

  Kenshow

0 Likes