STM32U5
RAM 設定こんにちは。STM32U5 RAM 設定コントローラのプレゼン
テーションへようこそ。

1

RAM 設定の概要• エラーコード訂正（SRAM2/3 & BKPSRAM の ECC）
• キーによる SRAM-ECC ソフトウェアの無効化• キーによる SRAM のソフトウェア消去• 書込み保護（SRAM2 での 1 KB の粒度）
• 電圧スケーリングレンジ 4 のプログラム可能なウェイトステート

2

RAM 設定コントローラでは、以下が行われます。
- SRAM2、SRAM3、バックアップ SRAM でサポートされるエラーコード訂正（ECC）の処理- キーレジスタに基づいたソフトウェアシーケンスによる
ECC の無効化- キーレジスタに基づいたソフトウェアシーケンスによるグ
ローバル SRAM 消去の実行- 1 KB のチャンクごとの書込みアクセスから SRAM2 を保護- また、マイクロコントローラが電圧レンジ番号 4 の場合の、実際の周波数に従ってウェイトステート数をプログラミン
グ2

SRAM の機能
X = サポートされている機能

SRAM1

SRAM2

SRAM3SRAM4

SRAM5

SRAM6

BKPSRAMSTOP 0/1 の LPBAM

X

X

X

X

X

X

X

STOP2 の LPBAM

---

X

--

-

STANDBY でのオプションの保持

-

X

---

-

X

VBAT でのオプションの保持

-----

-

X

RDP の回帰により消去

X

X

X

X

X

X

X

タンパ検出により消去

-

X

----

X

オプションで、システムリセットにより消去

X

X

X

X

X

X

-

ソフトウェア消去

X

X

X

X

X

X

X

ECC

-X

X

---

X

書込み保護機能

-X

----

-

ウェイトステート

X

X

X

X

X

X

X

3

この表には、内部 SRAM の機能を示します。
まず、すべての内部 SRAM でサポートされる機能を説明します。
- STOP 0 および STOP 1 モードでの低電力バックグラウンド自律モード- 読出し保護レベルを下げた場合の消去- ソフトウェア消去- 電圧レンジ 4 でのウェイトステート数の調整
STOP 2 の低電力バックグラウンド自律モードは SRAM4 でのみサポートされます。
SmartRun ドメインに属しているためです。SmartRun ドメインアーキテクチャはDMA に依存しており、STOP 2 までの低消費電力モードでの自律動作が可能です。
STANDBY モードでは SRAM2 とバックアップ SRAM の内容を保持することができます。
VBAT モードではバックアップ SRAM の内容を保持することができます。
SRAM2 と、オプションでバックアップ SRAM がタンパ検出回路によって保護され、タンパが検出されると、ハードウェアによって消去されます。
SRAM2_ECC、SRAM3_ECC、および BKPSRAM_ECC ユーザオプションビットにより有効化されている場合、ECC は SRAM2、SRAM3、およびバックアップ
SRAM でサポートされます。
SRAM2 は 64 の 1 KB のページで構成されています。1 KB の各ページを書込み保護するには、対応する設定レジスタの PxWP ビットをセットします。

3

ECC による SRAM1/2/3 メモリマップ•ECC ストレージ：• SRAM3：上位ブロックの 64 KB 領域• SRAM2：32 ビットあたり 7 ビット（ユーザアクセス不可）•SRAM3 ECC 固有の管理：••••

ECC が有効な場合、SRAM3 の最初の 256 KBのみが ECC あり
SRAM3 の残りの部分には ECC はない
最後のブロックは ECC の格納に使用されるため、アプリケーションには使用できない

ECC• SEDC：シングルエラー検出訂正（割込み）• DED：ダブルエラー検出（割込みまたは NMI）

4

SRAM2、SRAM3、およびバックアップ SRAM に実装されたユニットでは、データの32 ビットごとに 7 つの ECC ビットが追加されているため、シングルビットエラーの検出と訂正、ダブルビットエラーの検出ができます。
SRAM3 の 4 つの 64 KB ブロックと SRAM2 の 64 KB は ECC 保護されています。
SRAM3 の場合、ECC コードは SRAM の専用部分（SRAM3 の上位 64 KB 部分）に格納されます。この領域はアプリケーションでは使用されません。
SRAM2 の場合、格納される情報は、39 ビット幅、つまり 32 ビットデータ + 7ビット ECC です。したがって、SRAM2 全体が ECC 保護されます。
オプションで、SRAM2 の全容量、8 KB または 56 KB を STANDBY および STOP 3モードで保持し、低電力レギュレータで電源供給することができます。これをSRAM2 の保持モードでのスタンバイといいます。
ECC エラー検出は、次のように Cortex-M33 にレポートされます。
- シングルエラーの検出と訂正により割込みリクエストが発生- ダブルエラー検出によりノンマスカブル割込みが発生- 障害が発生したアドレスをレジスタにラッチ

4ソフトウェアによる ECC の有効化/無効化• ECC が（ユーザオプションビットによって）有効化された場合、システムリセット後に自動的にECCE ビットがセットされます。
• ECC は、ソフトウェアシーケンスの実行により無効化できます• これは、アプリケーションに対する ECC の影響の確認に役立ちます• ECC が無効化されると（ECCE = 0）、ECC ユーザテストのために SRAM3 ECC スト
レージ領域の読出し/書込みができます• ECC が有効化されると（ECCE = 1）、この領域は ECC ストレージ用に予約され、読出しも書込みもできません。

5

ECC を自動的に有効にするには、Flash メモリのユーザオプションビットをプログラムします。
ECC を無効にするには、ECC キーレジスタにキーを書き込むソフトウェアシーケンスを実行します。
ECC では、部分データ（バイトまたはハーフワード）を書き込むときに読出し/変更/書込み操作が必要となるため、性能の測定は ECC ありと ECC なしで行えます。
SRAM3 で ECC が無効になっているとき、マスタは ECC コードを含む最後の 64 KB ブロックにアクセスできます。これはエラーインジェクションに使用できます。
SRAM3 で ECC が有効になっているとき、この領域は予約済みで、マスタはアクセスできません。

5RAM ウェイトステート（WS）

ウェイトステート（遅延）VOS レンジ 1 の HCLKVOS レンジ 2 の HCLKVOS レンジ 3 の HCLKVOS レンジ 4 およびLPBAM の HCLK

0 WS
(1 AHB サイクル)≤ 160 MHz≤ 110 MHz≤ 55 MHz≤ 16 MHz

1 WS(2 AHB サイクル)---≤ 25 MHz

6

SRAM からデータを正しく読み出すには、この表に示すように、AHB クロック周波数（HCLK）と電圧スケーリング範囲に基づいて、適切な数のウェイトステートをプログラムする必要があります。
周波数が 12 MHz を超える場合、レンジ 4 では 1 つのウェイトステートが必要であることに注意してください。

6

書込み保護（SRAM2）• SRAM2 は、1 KB の粒度を持つ 64 のページで構成されています• 1 KB の各ページは独立して書込み保護できます• RAMCFG_RAM2WPR1 と RAMCFG_RAM2WPR2 で PxWP（x = 0 ~ 63）ビットをセットします7

SRAM2 は 64 の 1 KB のページで構成されています。1 KB の各ページを書込み保護するには、RAMCFG メモリ 2 書込み保護 1 および 2 レジスタの対応する PxWP ビットをセットします。
64 ビットのビットマップを形成するには、2 つのレジスタが必要です。
書込み保護されたページに書込みを試みると、SRAM コント
ローラにより AHB マスタにエラー応答が返されます。
このマスタが Cortex-M33 CPU の場合、このエラーによりバスフォールト例外が発生します。
このマスタが DMA チャネルの場合、このエラーは DMA 転送エラーとして解釈されます。

7

ソフトウェア消去• SRAM 消去をリクエストするには、ソフトウェアシーケンスを実行します• 消去の進行中に同じアドレスに SRAM への読出し/書込みアクセスを行った場合、消去が終了するまでウェイトステート（AHB サイクル）が自動的に挿入されます• 総消去時間：
N AHB クロックサイクル（N は 32 ビットワード単位の SRAM のサイズ）• 注：消去サイクル中は RAM にアクセスできません• 消去が進行中であれば、SRAM 割込みステータスレジスタの SRAMBUSY フラグがセットされます• アクセスはブロックされます• 消去動作が終了するまで AHB バスでウェイトステートが挿入されます

8

SRAM 消去をリクエストするには、キーレジスタに書き込む必要があるキーに基づいてソフトウェアシーケンスを実行します。
消去が進行中であれば、関連する SRAM 割込みステータスレ
ジスタの SRAMBUSY フラグがセットされます。
各 SRAM の消去の合計時間は、N AHB クロックサイクルに等しくなります。N は 32 ビットワード単位で表した SRAM のサイズです。
消去中に SRAM の読出しまたは書込みが行われると、消去動作が終了するまで AHB バスにウェイトステートが挿入されます。

8

RAMCFG 割込み• 割込み：• 割込み生成ありの SEDC
• 割込みまたは NMI の生成ありの DED• SEDC および DED のステータス• 障害が発生したアドレスをレジスタにラッチ
割込みイベント

RAMCFGNMISLEEP モードの終了

STOP モードの終了

STANDBY
モードの終了ECC シングルエラー検出および訂正

あり

はい*なし

ECC ダブルエラー検出

あり

はい*

不可

ECC ダブルエラー検出

あり

はい*

不可

* STOP 0 およびSTOP 1 モードのみ

9

RAM 設定コントローラでは、次の割込みリクエストが生成されます。
- シングルエラー検出および訂正の発生時の通常割込み- ダブルエラー検出の発生時のノンマスカブル割込み
ステータスレジスタでは、これらのイベントの現在のステータス、訂正可能エラーが検出されたアドレス、訂正不能エラーが検出されたアドレスが示されます。
これらのアドレスは、ソフトウェアにより制御レジスタのアドレスラッチイネーブルビットがクリアされるまでロック状態となることに注意してください。
上の表は、RAM 設定コントローラに対する低消費電力モードの影響を示します。
SLEEP モードは影響を及ぼさず、RAMCFG 割込みが発生するとマイクロコントロー
ラの SLEEP モードは終了します。
STOP モードでは、RAMCFG レジスタの内容と SRAM の内容が保持され、ECC は機能し、ECC エラー割込みまたは NMI が発生するとマイクロコントローラの STOP 0および STOP 1 モードは終了します。
STOP3 では、SRAM にアクセスできません。
STOP2 では、低電力バックグラウンド自律モード（LPBAM）を実装することにより、SmartRun ドメインで SRAM4 のみにアクセス可能な状態になります。
そのため、STOP2 および STOP3 では、SRAM4 が ECC 保護されないため、ECC エラーは発生しません。
STANDBY モードでは、RAMCFG モジュールはパワーダウンされ、STANDBY 終了後に再初期化する必要があります。

9© STMicroelectronics - All rights reserved.
ST logo is a trademark or a registered trademark of STMicroelectronics International NV or its affiliates in the EU and/or other countries.
For additional information about ST trademarks, please refer to www.st.com/trademarks.
All other product or service names are the property of their respective owners.

ありがとうございました。

10