PSoC 6 MCU デバイスで SFlash にカスタムデータを保存する - KBA228374- Community Translated (JA)
- RSS フィードを購読する
- 新着としてマーク
- 既読としてマーク
- ブックマーク
- 購読
- 印刷用ページ
- 不適切なコンテンツを報告
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")” をご使用ください。これは直接絶対アドレスに書込むよりも読みやすく、将来の変更にも対応が容易な推奨される方法です。
- タグ:
- psoc6