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
© Copyright 2024 ExpyDoc