4. セキュアおよび非セキュア周辺モジュールの定義および使用方法
4.5. 混在セキュア周辺モジュールの使い方
AN5365
セキュアおよび非セキュア周辺モジュールの定義および使用方法
図4-13. セキュアTCハンドラのフローチャート
AN5365
セキュアおよび非セキュア周辺モジュールの定義および使用方法
• EVSYS (イベントシステム): 各イベント チャンネルをセキュアまたは非セキュア アプリケーショ
ンに割り当てます。
詳細は、SAM11製品データシート内の「ARM TrustZone Technology for ARMv8-M」を参照してくださ い。
混在セキュア周辺モジュールが内部リソースを共有可能かどうかは、PAC モジュール内で設定されたそ のモジュールのセキュリティ属性(PAC Secured または Not PAC Secured) によって決まります。
4.5.1 混在セキュア周辺モジュール (PAC Secured)
混在セキュア周辺モジュールがPAC Secured (対応するPAC NONSECxヒューズ = 0)である場合、周辺 モジュール レジスタはバンク化され、2 つの異なるメモリエイリアスを介してアクセス可能です(下図参 照)。
図4-14. PAC Secured 混在セキュア周辺モジュール レジスタのアドレス指定
これにより、セキュア領域はNONSECレジスタを使って、周辺モジュール内部リソースへの非セキュア アクセスを個々に有効にできます。
AN5365
セキュアおよび非セキュア周辺モジュールの定義および使用方法
下図に、EIC (外部割り込みコントローラ) NONSECレジスタを示します。
図4-15. NONSECレジスタ
NONSEC レジスタの内容は、セキュア領域から周辺モジュール レジスタのセキュア エイリアス
(例: EIC_SEC.NONSEC)を介して変更する事しかできません。
NONSEC レジスタ内の特定の内部機能ビットフィールドをセットする事により、周辺モジュール非セキ
ュア エイリアス内のこの機能に対応する各種ビットフィールドへのアクセスを有効にします。
4.5.2 混在セキュア周辺モジュール (PAC Non-Secured)
混在セキュア周辺モジュールがPAC Non-Secured (対応するNONSECxヒューズ = 1) の場合、その周辺 モジュールは標準非セキュア周辺モジュールとして動作します。
周辺モジュール レジスタにはセキュアおよび非セキュア アクセスが可能です。
AN5365
セキュアおよび非セキュア周辺モジュールの定義および使用方法
周辺モジュール レジスタのマッピングを下図に示します。
図4-16. PAC Non-Secured 混在セキュア周辺モジュール レジスタのアドレス指定
PAC Non-Securedの混在セキュア周辺モジュールのアプリケーション レベルでの管理は、標準非セキュ
ア周辺モジュールの場合と同様です。
詳細は「非セキュア周辺モジュールの使い方」を参照してください。
4.5.3 混在セキュア周辺モジュール(PAC Secured)の使用事例
以下に、セキュアEIC (外部割り込みコントローラ) の使用事例を示します。
この事例では、セキュア プロジェクトはシステム リソースの設定、EIC割り込みライン1の非セキュア 領域への割り当て、セキュア割り込みライン2での外部割り込みの管理を行います。
AN5365
セキュアおよび非セキュア周辺モジュールの定義および使用方法
下図に、セキュアmain関数のフローチャートを示します。
図4-17. セキュア アプリケーションのフローチャート
この事例では、非セキュア プロジェクトは、セキュア アプリケーションが非セキュア領域に割り当て たEIC割り込みライン1の設定と処理を行います。
AN5365
セキュアおよび非セキュア周辺モジュールの定義および使用方法
下図に、このプロセスのフローチャートを示します。
図4-18. 非セキュア アプリケーションのフローチャート