1 Reply Latest reply on May 3, 2020 6:51 PM by JuyoungJ_06

    Community Translation - Store Custom Data in SFlash for PSoC 6 MCU Device – KBA228374

    MoTa_728816

      Hi,

       

      I'd like to translate KBA228374 into Japanese.

       

      moto

       

      Original KBA: KBA228374

      Store Custom Data in SFlash for PSoC 6 MCU Device – KBA228374

       

      Translated by: MoTa_728816

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

      タイトル: PSoC 6 MCU デバイスで SFlash にカスタムデータを保存する - KBA228374

       

      ヴァージョン:**

       

      PSoC® 6 内部にある SFlash は 32-KB のフラッシュセクターを占めています。SFlash に保存されているデータには、デバイスのトリム値、フラッシュブート実行コード、暗号鍵などがあります;また FW/HW の情報や、実行時のエラーログ、BLE デバイスのアドレス、その他通常のフラッシュ書き込みで変更されてはいけないようなカスタム情報を SFlash に保存しておくことも可能です。SFlash への書込み(プログラミング)は通常のフラッシュへの書込みと同様です。通常のライフサイクルステージでは、 Cy_Flash_WriteRow や EraseRow/ProgramRow 等の API が使用できます。デバイスがセキュアモードに以降後には、SFlash は変更することが出来なくなります。

       

      ユーザーデータ用には SFlash の 4列(row) が使用可能です - 0x16000800, 0x16000A00, 0x16000C00, 0x16000E00 (合計 512 x 4 = 2048 バイト)。自動の SFlash メモリ配置はビルド後のプロジェクトのリンカーファイルに下記のように表示されます:

       

      /* The following regions define device specific memory regions and must not be changed. */

      sflash_user_data  (rx)    : ORIGIN = 0x16000800, LENGTH = 0x800      /* Supervisory flash: User data */

      sflash_nar        (rx)    : ORIGIN = 0x16001A00, LENGTH = 0x200      /* Supervisory flash: Normal Access Restrictions (NAR) */

      sflash_public_key (rx)    : ORIGIN = 0x16005A00, LENGTH = 0xC00 /* Supervisory flash: Public Key */

      sflash_toc_2      (rx)    : ORIGIN = 0x16007C00, LENGTH = 0x200      /* Supervisory flash: Table of Content # 2 */

      sflash_rtoc_2     (rx)    : ORIGIN = 0x16007E00, LENGTH = 0x200      /* Supervisory flash: Table of Content # 2 Copy */

      もし PSoC Creator か Modus Toolbox™ を使用して SFlash のユーザー列(row) に特定のデータを置きたい場合には、“CY_SECTION(".cy_sflash_user_data")” をご使用ください。これは直接絶対アドレスに書込むよりも読みやすく、将来の変更にも対応が容易な推奨される方法です。

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

       

      21-Apr-2020

      moto

      P.S. In the original document 0x16000E00 was written as 0x1600E00 but since SFlash is from 0x16000000 to 0x16008000

      I decided that it must be 0x16000E00