2
ARMv7A mcu(Cortex-A8)の割り込みを有効にしようとしていて、私が試してもユーザモードでCPSR
レジスタのIビットを変更できないことに気付きました。私は少し読んで、これは私がUSRモードにいるためです。ARMV7Aプロセッサのユーザモードで割り込みを有効にする
SWIを呼び出してSWIハンドラのSPSR
を変更する唯一の方法はありますか?
ARMv7A mcu(Cortex-A8)の割り込みを有効にしようとしていて、私が試してもユーザモードでCPSR
レジスタのIビットを変更できないことに気付きました。私は少し読んで、これは私がUSRモードにいるためです。ARMV7Aプロセッサのユーザモードで割り込みを有効にする
SWIを呼び出してSWIハンドラのSPSR
を変更する唯一の方法はありますか?
実際、ユーザーモードで割り込みを無効または有効にすることはできません。特権モードでのみ実行できます。
割り込みを無効にしてユーザーモードに切り替えることは珍しいことです。通常、割り込みを無効にしたコードは非常に少量しか実行しません。これは、次の割り込みの処理を遅らせるためです。ユーザーモードで割り込みハンドラの一部を実行する場合は、まず割り込みを再度有効にする前に何をしてからユーザーモードに切り替えます。
プロセッサのIビットを変更するには、特権モードにする必要があります。 – Gaurav