(SYSCFG) Final_JP

STM32L4システムコンフィグレーションコントローラについてご
案内します。
1
STM32L4デバイスは、コンフィギュレーション・レジスタのセッ
トを備えています。
システム構成コントローラは、次の機能にアクセスできます:
メモリ領域0に対処するためにリマッピング、
GPIOの外部割り込み回線接続を管理し、
特定の連続運転性の機能、
SRAM2の書き込み保護および消去、
小数点ユニット割り込みを浮遊、
ファイアウォール制御
そして、最後に、I²C高速モードプラスに使用する20ミリアンペ
ア高ドライブI/Oの構成
2
この図は、STM32L4の4ギガバイトのリニアアドレスマッピング
です。
フラッシュメモリは、デュアルバンク構成で、1MBまでです。
FB_MODEビットは、図のように、バンク1と2のアドレスマッピン
グを決定します。
また、CortexM4コアで見られるようなベクタテーブルの先頭で
ある、0番地にエイリアスされているバンクを決定します。
SRAMの合計サイズは128KBです。
これは、2つの部分に分かれています。
SRAM1は、アドレス0xx20000000から始まる96KBです。
そして、SRAM2は、アドレス0x10000000から始まる32 KBです。
SRAM1は、RAMのための通常のARMメモリ空間に配置され
ています。
SRAM2は、直接ウエートステート0でデータコードと命令コード
をバスを介してアクセスすることができ、コードの実行に使用
することができます。
3
アドレス0のメモリリマップは、システム・バスを使用するので
はなく、命令とデータバスへのアクセスするおかげでに性能
を押し上げることが可能です。
アドレス0のメモリリマップは、システムコンフィグレーションリ
マップレジスタのMEM_MODEビットを使用して選択される。そ
れは、メインフラッシュメモリ、システムフラッシュ・メモリ、FMC
バンク1(NORかPSRAM)、SRAM1、QUADSPIのどれかを選択し
ます。
システムコンフィグレーションリマップレジスタのFB_MODEビッ
トが、バンク1またはバンク2を交換することができ、それに
よってフラッシュメモリバンク1と2のいずれかで起動すること
が可能です。
4
これは、STM32L4のバスマトリックスです。バス・マスタは、最
上部に表示され、Cortex-M4コアと2つのDMAコントローラは、
丸で囲んだ交点を経由して右図のバススレーブと通信します。
フラッシュメモリは、アクセラレータを介して読み込まれます。
Cortex-M4命令は、命令バスを介してフェッチされ、リテラル
プールは、データバスを介して読み込まれます。
SRAM1は、デフォルトではシステムバスによってアクセスされ、
またアドレス0に再マッピングされたときにIバスとDバスを通じ
てアクセスされます(濃い青色の円で示される経路。これは
性能を向上させるため)。
SRAM2は、常にIバスDバスを介してアクセスされ、ゼロウエイ
トステートコードの実行を可能にします。
クワッドSPIおよびFMCバンクはデフォルトでは、システム・バ
スを介して読み込み、実行され、パフォーマンスを向上させる
ために0に再マッピングすることが可能です。
2つのDMAは全てのメモリと周辺機器にアクセスすることが可
能です。
異なるバス・マスタは、ハイパフォーマンスな計算や操作を可
能にするように、バスマトリクスを経由して、同時に異なるメモ
リ及び周辺機器にアクセスすることができます。
5
BOOT0ピンとnBOOT1という名前のオプションビットで選択され
た3つのブートモードがあります。BOOT0ピンがローレベルの
とき、STM32L4はアドレス0にエイリアスされたユーザFLASHメ
モリからブートする。これはSTM32L4を起動する標準的な方
法です。
BOOT0ピンがハイレベルのとき、nBOOT1ビットがブートモード
を決定します。デフォルトオプションのビット設定はHで、フラッ
シュメモリ内のシステムメモリのbootloaderを有効にする。他
のオプションは、デバッグ目的で使用することができるSRAM1
のメモリ領域からブートです。
ユーザFlashメモリからのbootが選択された場合、オプション
ビットBFB2がデフォルト値である‘0’のとき、STM32L4はバンク
1から起動します。BFB2オプションビットが‘1’に設定されてい
る場合、STM32L4フラッシュメモリバンク2から起動します(そ
の最初のアドレスが有効なSRAMアドレスの場合)それ以外の
6
場合は、バンク1から起動します。このチェックは、有効なベク
タテーブルを確実にします。
6
オンチップのブートローダは、ユーザが、周辺シリアル通信を
介して、フラッシュメモリをプログラムすることをサポートしま
す。サポートされているプロトコルは、USART、USB、CAN、SPI
およびI2Cです。
7
32KBのSRAM2は、性能、完全性、安全性、および低消費電
力のために特に適しています。
SRAM2は、リマッピングせずにデータと命令バスを介してアク
セスされる。これはゼロウェイトステートでコード実行できると
いうことです。
SRAM2は、パリティチェックをサポートしている。データバス幅
は36bitです。なぜなら4ビットは、メモリの堅牢性を高めるた
めに(1バイトにつき1ビット)のパリティ検査のためです。これ
はクラスBまたはSIL規格により必要です。クラスBとSILは安全
基準で、クラスBは家電用でSILは機能安全のためです。
パリティビットはSRAMへの書き込み時に計算記憶されます。
そして読み取り時に、自動的にチェックされます。
1bitが失敗した場合は、NMIが生成されます。同じエラーは、
タイマーのブレーク入力に連結することができます。SRAM2
パリティチェックは、デフォルトでは無効になっていることに注
8
意してください。
SRAM2の内容は、必要に応じてスタンバイ状態で保持するこ
とが可能です。
8
SRAM2は、セキュアなアプリケーションに適しています。
SRAM2は、1KBの単位で書き込み保護することが可能です。
SRAM2はまた、RDPオプション・バイトを介して読み出し保護
が可能です。保護された場合には、SRAM2は、システムFlash
からまたはSRAMからbootしたとき、JTAGまたはシリアルワイ
ヤデバッグポートを介した、読み取りまたは書き込みができ
ません。読み出し保護がレベル1からレベル0に変更されたと
きSRAM2が消去されます。詳細については、システムメモリ
保護トレーニングを参照してください。
SRAM2はSRAM2システムコンフィグレーションコントロールお
よびステータスレジスタのSRAM2ERビットを設定することによ
り、ソフトウェアで消去することが可能でし。SRAM2は、ユー
ザーオプションバイトのオプションビットSRAM2_RSTに応じて、
システムリセットで消去することが可能です。
9
システムコンフィグレーションレジスタ2は、SRAM2のパリティ
エラーフラグなどの安全性と堅牢性にリンクされている制御
およびステータスビットを含み、および制御ビットは直接、いく
つかのエラー検出イベントをタイマのブレーク入力につなぎま
す。これは、アプリケーションのクラッシュ時にタイマ出力を既
知の状態に置くためです。プログラムされると、次のシステム
リセットされるまでロックされます。これらの内部イベントは、
フラッシュエラーコード訂正イベント、電源電圧検出イベント、
SRAM2パリティエラーイベント、およびCortex-M4ハードフォー
ルトが含まれます。
10
システムコンフィグコントローラは、Stopモードからウェイク
アップするための、外部割り込みまたはイベント信号をGPIO
に割り当てるのを管理します。
コンフィギュレーションレジスタ1は、浮動小数点ユニットの割
り込み制御ビットが含みます。なお、I2C高速モードプラスの
20ミリアンペアドライブの制御イネーブルビットも含まれてい
ます。4つのI/Oは、彼らは、I2C機能として使用されていない
場合でも、ハイドライブモードに設定することが可能です。そ
れらは、例えば、LEDを駆動するために使用することができま
す。I/Oのアナログスイッチ電圧ブースターは、ファイアウォー
ルと同様に、ここで選択されます。
11
ここでは、80 MHzでのEEMBCのCoreMarkベンチマークの実
行性能を比較します。
最大のパフォーマンスは、コードはSRAM1に、データを
SRAM2に置いた時に達成されます。
これは、SRAM1にコード、SRAM2にデータで、SRAM1をアドレ
ス0に再マッピングされている時にも最大のパフォーマンスに
到達することができます。80 MHzでフラッシュメモリから実行
する場合、ARTアクセラレータが有効になっているときに最大
のCoreMark性能に達し、性能をほとんど損失しません。なぜ
なら、フラッシュアクセスは80 MHzで4ウェートステートを必要
とするからです。
プリフェッチバッファを有効にすると、わずかに高いスコア、
3.35のCoreMark/ MHzとなります。
このトレーニングに加えて、リセットおよびクロック制御、パ
ワーコントローラ、割り込み、フラッシュおよびシステムメモリ
保護機能、タイマーとI2Cトレーニングを参照可能です。
13
詳細はアプリケーションノート 「AN2606 STM32
microcontroller system memory boot mode and AN4435
Guidelines for obtaining UL/CSA/IEC 60335 Class B
certification in any STM32 application」を参照してください。
14