PSoC 6 MCU デバイスで SFlash にカスタムデータを保存する - KBA228374- Community Translated (JA)

Version 1

    Community Translated by  MoTa_728816          Version: **

     

    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")をご使用ください。これは直接絶対アドレスに書込むよりも読みやすく、将来の変更にも対応が容易な推奨される方法です。