こんにちは、
OpenPicortoをPowerPCプラットフォームに移植したところ、問題が発生しました。
PBRIDGEの設定は正しくできているのに、ユーザーモードでペリフェラルにアクセスしようとするたびにMachineCheckの例外が出ます。
スーパーバイザーモードは問題なく動作しますが、私が求めているものではありません。ユーザー/スーパーバイザーモードのマネジメント(+MPU)と、ユーザーモードでペリフェラルにアクセスできるようにしたいです。
いろいろ試してみましたが、どれもうまくいきません。私が何か間違ったことをしているのか、それともそもそも不可能なことなのか分かりません。
現時点では、デモンストレーション目的で全てをスーパーバイザーモードにしています。現在のコードの状態は以下のとおりです。
- PBRIDGEの設定を試みた結果:
https://github.com/jnaulet/OpenPicoRTOS/blob/v1.11.x/arch/powerpc/e200z4/mach-mpc574x/startup.S
- 無効化されたユーザーモード(arch_save_first_contextでは):
https://github.com/jnaulet/OpenPicoRTOS/blob/v1.11.x/arch/powerpc/e200z4/picoRTOS_portasm.S
- このシステムのデバッグに使用している完全なデモ:
https://github.com/jnaulet/OpenPicoRTOS/tree/v1.11.x/demo/devkit-mpc5748g
どんなご協力でもありがたいです。
敬具。
こんにちは、
ユーザーモードアクセス拒否には複数の理由があります:
おそらくPBRIDGEまたはMPU構成でしょう。
以下から確認を始めることができます:
よろしくお願いいたします。
ピーター