ARM によると、Cortex-M3 のデフォルトの動作は、特定のメモリ領域からの実行を防止することです。情報はこちら: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0552a/CIHDHAEF.html
上記の情報ページによると、「オプションのMPUはデフォルトのメモリアクセス動作をオーバーライドできます」。デフォルトで XN の「実行しない」フラグが設定されている実装固有の 0xF0000000 領域からコードを実行したいので、これで問題ありません。
MPU をプログラムしてメモリ領域に追加の制限を加えることができるため、明らかに MPU は機能します。しかし、0xF0000000 領域での実行を許可するように MPU を設定した場合、0xF0000000 で実行しようとすると、CPU は依然として例外に入ります。
ARMページが示唆しているように、Cortex-M3 MPUがデフォルトの制限を解除できるかどうかは誰にもわかりませんか?