2017-09-21 11 views
2

ARMv7A mcu(Cortex-A8)の割り込みを有効にしようとしていて、私が試してもユーザモードでCPSRレジスタのIビットを変更できないことに気付きました。私は少し読んで、これは私がUSRモードにいるためです。ARMV7Aプロセッサのユーザモードで割り込みを有効にする

SWIを呼び出してSWIハンドラのSPSRを変更する唯一の方法はありますか?

+4

プロセッサのIビットを変更するには、特権モードにする必要があります。 – Gaurav

答えて

1

実際、ユーザーモードで割り込みを無効または有効にすることはできません。特権モードでのみ実行できます。

割り込みを無効にしてユーザーモードに切り替えることは珍しいことです。通常、割り込みを無効にしたコードは非常に少量しか実行しません。これは、次の割り込みの処理を遅らせるためです。ユーザーモードで割り込みハンドラの一部を実行する場合は、まず割り込みを再度有効にする前に何をしてからユーザーモードに切り替えます。

関連する問題