メディア

Arm Cortex-Mのメモリプロテクションユニット(MPU)って何?Q&Aで学ぶマイコン講座(108)(4/5 ページ)

» 2025年10月31日 10時00分 公開

メモリアクセス管理

 マイコンの外部メモリインタフェースに外部デバイスを接続して制御する際に注意点があります。マイコンに接続する外部デバイスの中には、SRAMインタフェース経由で自身のメモリ空間へのアクセスを提供するデバイスがあります。

 STM32マイコンの外部メモリインタフェースのFMCは、アドレス空間上の0x6000 0000〜に配置されており、この領域のCortex-Mメモリタイプ=Normalです。メモリタイプがNormalのアドレス範囲は、「バッファー可能」なメモリ属性を持ち、アドレスへのアクセス時にCortex-Mの書き込みバッファーが関与します。

 書き込みバッファーが有効の場合、メモリタイプ=Normalのアドレス領域にマップされた外部デバイスのレジスタにアクセスする際に注意が必要です。

  • 外部デバイスの2つの異なるデバイスレジスタに設定値を順序通りに書き込む処理があり、
  • 外部デバイスの仕様上、その順序を守る必要がある場合、

 書き込みバッファーによってその順序が変化する可能性があります。また、同一アドレスに異なるデータを連続して書き込む場合も、書き込みバッファーによってメモリインタフェースから実際に出力されるデータに欠落が発生する可能性があります。

 このような障害を回避するために、STM32マイコンのFMC外部メモリインタフェースのメモリ属性を、Cortex-M MPUで「Strongly Ordered(命令実行順序強制)」に設定する必要があります。Strongly Orderedに設定すると、FMC外部メモリインタフェースのアドレス領域へのアクセス時にCortex-Mの書き込みバッファーが関与しなくなります。

 メモリ属性を、Strongly Ordered、Device、Normalのいずれかに設定するには、表1表2が示すMPU設定が関係します。MPUリージョンのメモリタイプをStrongly Orderedにするには、MPU_RASRレジスタのTEXビット=000、Cビット=0(キャッシュ非対象)、Bビット=0(バッファー非対象)に設定します。

表1:MPU_RASRレジスタ
ビット 名称 説明
28 XN eXecution Never(実行許可/禁止)
26:24 AP data Access Permission field (RO, RW, or No access)
21:19 TEX Type Extention Field
18 S Shareable(共有対象/非対象)
17 C Cacheable(キャッシュ対象/非対象)
16 B Bufferable(バッファー対象/非対象)
15:8 SRD Sub Region Disabled. For reach subregion, 1=disabled & 0=enabled.
5:1 SIZE specifies SIZE of MPU region

 

表2:MPU_RASRレジスタで設定可能なメモリタイプ
TEX C B メモリタイプ 説明 共有可/不可
000 0 0 Strongly Ordered 命令実行順序強制
000 0 1 Device 共有可能デバイス
000 1 0 Normal Write through, no write allocate Sビットの設定次第
000 1 1 Normal Write back , no write allocate Sビットの設定次第
001 0 0 Normal キャッシュ非対象 Sビットの設定次第
001 0 1 予約 予約 予約
001 1 0 Undefined Undefined Undefined
001 1 1 Normal Write-back, write and read allocate Sビットの設定次第
010 0 0 Device 共有不可デバイス 不可
010 0 1 予約 予約 予約

 下記、Strongly Ordered、Deviceの違いです。

表3:Strongly Ordered、Deviceの違い
メモリタイプ バス上で転送が完了するまで待機が発生する場合
Strongly Ordered 全ての命令実行後
Device いま実行した命令と次に実行する命令がどちらもメモリアクセスの場合

 Deviceメモリタイプの場合は、いま実行した命令がメモリアクセスで、次に実行する命令がメモリアクセス出ない場合は、書き込みバッファーを用いてメモリ転送を進めながら並行して次の命令を実行できます。

Copyright © ITmedia, Inc. All Rights Reserved.

特別協賛PR
スポンサーからのお知らせPR
Pickup ContentsPR
Special SitePR
あなたにおすすめの記事PR

RSSフィード

公式SNS

EDN 海外ネットワーク

All material on this site Copyright © ITmedia, Inc. All Rights Reserved.
This site contains articles under license from AspenCore LLC.