2.19 実行モードに関する注意事項

メインアプリケーションを実行するモードを検討する必要があります。選択するモードによって、システムの初期化の実装方法が異なります。

これは、ARMv6-M および ARMv7-M プロファイルには適用されません。

起動時にリセットハンドラおよび $Sub$$main の両方で実装する可能性のある多くの機能は、特権モードで実行する場合にしか使用できません。例えば、オンチップメモリの操作や割り込みの有効化などが挙げられます。

アプリケーションを特権モードで実行する場合、これは問題になりません。リセットハンドラを終了する前に適切なモードに変更するようにして下さい。

アプリケーションをユーザモードで実行する場合は、必要なタスクを特権モードで実行したにしかユーザモードに変更できません。通常、この変更は $Sub$$main() で行われます。

C ライブラリ初期化コードは、アプリケーションと同じスタックを使用する必要があります。$Sub$$main で非ユーザモードを使用し、アプリケーションでユーザモードを使用する必要がある場合は、ユーザモードスタックポインタを使用するシステムモードのリセットハンドラを終了する必要があります。

非機密扱いPDF file icon PDF 版ARM DUI0471JJ
Copyright © 2010-2013 ARM.All rights reserved.