機能一覧に戻る

embOS-MPU RTOS:メモリ保護機能

embOS-MPU:メモリ保護機能対応OS

Cortex-M、Cortex-A などのマイコンで実装されているMPU/MMU 機能に対応します。メモリ保護機能を持つことにより、OS と特権タスクはメモリ保護され、非特権タスクの悪影響から隔離されます。embOSと互換性のあるAPI 実装のため、embOSで開発されたアプリケーションも最小の工数でembOS-MPU に適合させることができます。

embOS-MPU は、ハードウェアのメモリ保護ユニット(MPU) と、embOS-MPU で実装されたソフトウェア機能により、1 つのタスクがシステム全体に影響を与えないようにします。これにより、あるタスクでバグが発生した場合でも、他のタスクやオペレーティングシステムが実行を継続することができます。
embOS-MPU では、特権タスクはメモリにフルアクセスできます。非特権タスクは、それぞれの個別のメモリ領域に対し、特定のアクセス権限を持ちます。また周辺機器にアクセスするため、追加のメモリロケーションとOS 制御構造、デバイスドライバ、特定のembOS API などを非特権タスクから呼び出すように設定も可能です。

ハードウェアのメモリ保護機能(MPU)対応

embos-mpu

特権命令

特権状態で動作します。MPU 設定の初期化タスクやデバイスドライバを含みます。特権命令を使用するタスクは、完全な信頼性を確認する必要があります。

非特権命令

「非特権命令アプリケーション」は、特権のない状態で実行されるため、不具合が発生した場合においても、メモリ保護機能により、基本システムに影響を与えることはありません。

状態説明
特権状態メモリ、周辺デバイス、CPU機能にフルアクセス可能
非特権状態制限されたメモリへのアクセスだけで、周辺デバイスに直接アクセスできず、CPU機能も一部しかアクセスできない

embOS MPUサンプルコード
機能一覧に戻る