MPC5748G: MachineCheck exception hen trying to access peripherals in user mode

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

MPC5748G: MachineCheck exception hen trying to access peripherals in user mode

363件の閲覧回数
Nox-rr
Contributor I

Hello,

I ported OpenPicoRTOS to PowerPC platforms & ran into an issue.

Despite configuring the PBRIDGE (correctly ?) i get a MachineCheck exception every time i try to access a peripheral in user mode.

Supervisor mode works fine but it's not really what i'm after, i want user/supervisor mode management (+MPU) & being able to access peripherals in user mode.

I tried various things but nothing seems to work, i don't know if i'm doing something wrong of it it's simply not possible.

Right now i just kept everything in supervisor mode for demonstration purposes, here's the current state of the code:

 - My attempt at configuring the PBRIDGE:

https://github.com/jnaulet/OpenPicoRTOS/blob/v1.11.x/arch/powerpc/e200z4/mach-mpc574x/startup.S

 - The de-activated user mode (in arch_save_first_context):

https://github.com/jnaulet/OpenPicoRTOS/blob/v1.11.x/arch/powerpc/e200z4/picoRTOS_portasm.S

 - The complete demo i use for debugging this system:

https://github.com/jnaulet/OpenPicoRTOS/tree/v1.11.x/demo/devkit-mpc5748g

Any help is appreciated.

Kind regards.

0 件の賞賛
返信
1 返信

232件の閲覧回数
petervlna
NXP TechSupport
NXP TechSupport

Hello,

there can be multiple reasons for user mode access rejection:

Most probably PBRIDGE or MPU configuration.

You can start checking following:

  1. PBRIDGE PACR/OPACR initialization.
  2. Whether all peripheral slots are configured for user access.
  3. MPU region definitions covering:
    • 0xFxxxxxxx peripheral space
    • read/write permissions
    • supervisor/user attributes.
  4. MSR value after the RTOS drops to user mode.
  5. The exact peripheral address that causes the fault.
  6. MCSR/ESR/DEAR at IVOR1 entry.

Best Regards,

Peter

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2387351%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EMPC5748G%3A%20%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%99%E3%82%8B%E9%9A%9B%E3%81%ABMachineCheck%E4%BE%8B%E5%A4%96%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2387351%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3EOpenPicorto%E3%82%92PowerPC%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%AB%E7%A7%BB%E6%A4%8D%E3%81%97%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D%E3%80%81%E5%95%8F%E9%A1%8C%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3CP%3EPBRIDGE%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%AF%E6%AD%A3%E3%81%97%E3%81%8F%E3%81%A7%E3%81%8D%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%AB%E3%80%81%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%99%E3%82%8B%E3%81%9F%E3%81%B3%E3%81%ABMachineCheck%E3%81%AE%E4%BE%8B%E5%A4%96%E3%81%8C%E5%87%BA%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%90%E3%82%A4%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AF%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%8F%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E7%A7%81%E3%81%8C%E6%B1%82%E3%82%81%E3%81%A6%E3%81%84%E3%82%8B%E3%82%82%E3%81%AE%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%2F%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%90%E3%82%A4%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AE%E3%83%9E%E3%83%8D%E3%82%B8%E3%83%A1%E3%83%B3%E3%83%88(%2BMPU)%E3%81%A8%E3%80%81%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%BC%E3%83%89%E3%81%A7%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E3%81%AB%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%97%E3%81%9F%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%84%E3%82%8D%E3%81%84%E3%82%8D%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%97%E3%81%9F%E3%81%8C%E3%80%81%E3%81%A9%E3%82%8C%E3%82%82%E3%81%86%E3%81%BE%E3%81%8F%E3%81%84%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E7%A7%81%E3%81%8C%E4%BD%95%E3%81%8B%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%81%93%E3%81%A8%E3%82%92%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E3%81%AE%E3%81%8B%E3%80%81%E3%81%9D%E3%82%8C%E3%81%A8%E3%82%82%E3%81%9D%E3%82%82%E3%81%9D%E3%82%82%E4%B8%8D%E5%8F%AF%E8%83%BD%E3%81%AA%E3%81%93%E3%81%A8%E3%81%AA%E3%81%AE%E3%81%8B%E5%88%86%E3%81%8B%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%E7%8F%BE%E6%99%82%E7%82%B9%E3%81%A7%E3%81%AF%E3%80%81%E3%83%87%E3%83%A2%E3%83%B3%E3%82%B9%E3%83%88%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E7%9B%AE%E7%9A%84%E3%81%A7%E5%85%A8%E3%81%A6%E3%82%92%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%90%E3%82%A4%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%E7%8F%BE%E5%9C%A8%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AE%E7%8A%B6%E6%85%8B%E3%81%AF%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%81%A8%E3%81%8A%E3%82%8A%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E-%20PBRIDGE%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%82%92%E8%A9%A6%E3%81%BF%E3%81%9F%E7%B5%90%E6%9E%9C%EF%BC%9A%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fjnaulet%2FOpenPicoRTOS%2Fblob%2Fv1.11.x%2Farch%2Fpowerpc%2Fe200z4%2Fmach-mpc574x%2Fstartup.S%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fjnaulet%2FOpenPicoRTOS%2Fblob%2Fv1.11.x%2Farch%2Fpowerpc%2Fe200z4%2Fmach-mpc574x%2Fstartup.S%3C%2FA%3E%3C%2FP%3E%3CP%3E-%20%E7%84%A1%E5%8A%B9%E5%8C%96%E3%81%95%E3%82%8C%E3%81%9F%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%BC%E3%83%89(arch_save_first_context%E3%81%A7%E3%81%AF)%3A%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fjnaulet%2FOpenPicoRTOS%2Fblob%2Fv1.11.x%2Farch%2Fpowerpc%2Fe200z4%2FpicoRTOS_portasm.S%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fjnaulet%2FOpenPicoRTOS%2Fblob%2Fv1.11.x%2Farch%2Fpowerpc%2Fe200z4%2FpicoRTOS_portasm.S%3C%2FA%3E%3C%2FP%3E%3CP%3E-%20%E3%81%93%E3%81%AE%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E3%81%AB%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E3%81%84%E3%82%8B%E5%AE%8C%E5%85%A8%E3%81%AA%E3%83%87%E3%83%A2%EF%BC%9A%3C%2FP%3E%3CP%3E%3CA%20href%3D%22https%3A%2F%2Fgithub.com%2Fjnaulet%2FOpenPicoRTOS%2Ftree%2Fv1.11.x%2Fdemo%2Fdevkit-mpc5748g%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fgithub.com%2Fjnaulet%2FOpenPicoRTOS%2Ftree%2Fv1.11.x%2Fdemo%2Fdevkit-mpc5748g%3C%2FA%3E%3C%2FP%3E%3CP%3E%E3%81%A9%E3%82%93%E3%81%AA%E3%81%94%E5%8D%94%E5%8A%9B%E3%81%A7%E3%82%82%E3%81%82%E3%82%8A%E3%81%8C%E3%81%9F%E3%81%84%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E6%95%AC%E5%85%B7%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2388099%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MPC5748G%3A%20MachineCheck%20exception%20hen%20trying%20to%20access%20peripherals%20in%20user%20mode%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2388099%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%0A%3CP%3E%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%BC%E3%83%89%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E6%8B%92%E5%90%A6%E3%81%AB%E3%81%AF%E8%A4%87%E6%95%B0%E3%81%AE%E7%90%86%E7%94%B1%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%3A%3C%2FP%3E%0A%3CP%3E%E3%81%8A%E3%81%9D%E3%82%89%E3%81%8FPBRIDGE%E3%81%BE%E3%81%9F%E3%81%AFMPU%E6%A7%8B%E6%88%90%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%80%82%3C%2FP%3E%0A%3CP%3E%E4%BB%A5%E4%B8%8B%E3%81%8B%E3%82%89%E7%A2%BA%E8%AA%8D%E3%82%92%E5%A7%8B%E3%82%81%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%3A%3C%2FP%3E%0A%3COL%3E%0A%3CLI%3EPBRIDGE%20PACR%2FOPACR%E3%81%AE%E5%88%9D%E6%9C%9F%E5%8C%96%E3%80%82%3C%2FLI%3E%0A%3CLI%3E%E3%81%99%E3%81%B9%E3%81%A6%E3%81%AE%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E3%82%B9%E3%83%AD%E3%83%83%E3%83%88%E3%81%8C%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E3%81%8B%E3%81%A9%E3%81%86%E3%81%8B%E3%80%82%3C%2FLI%3E%0A%3CLI%3EMPU%E9%A0%98%E5%9F%9F%E3%81%AE%E5%AE%9A%E7%BE%A9%E5%AF%BE%E8%B1%A1%EF%BC%9A%0A%3CUL%3E%0A%3CLI%3E0xFxxxxxxx%20%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E7%A9%BA%E9%96%93%3C%2FLI%3E%0A%3CLI%3E%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%2F%E6%9B%B8%E3%81%8D%E8%BE%BC%E3%81%BF%E6%A8%A9%E9%99%90%3C%2FLI%3E%0A%3CLI%3E%E3%82%B9%E3%83%BC%E3%83%91%E3%83%BC%E3%83%90%E3%82%A4%E3%82%B6%E3%83%BC%2F%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E5%B1%9E%E6%80%A7%E3%80%82%3C%2FLI%3E%0A%3C%2FUL%3E%0A%3C%2FLI%3E%0A%3CLI%3ERTOS%E3%81%8C%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%A2%E3%83%BC%E3%83%89%E3%81%AB%E5%88%87%E3%82%8A%E6%9B%BF%E3%82%8F%E3%81%A3%E3%81%9F%E5%BE%8C%E3%81%AEMSR%E5%80%A4%E3%80%82%3C%2FLI%3E%0A%3CLI%3E%E6%95%85%E9%9A%9C%E3%82%92%E5%BC%95%E3%81%8D%E8%B5%B7%E3%81%93%E3%81%99%E6%AD%A3%E7%A2%BA%E3%81%AA%E3%83%9A%E3%83%AA%E3%83%95%E3%82%A7%E3%83%A9%E3%83%AB%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%80%82%3C%2FLI%3E%0A%3CLI%3EIVOR1%E5%85%A5%E5%8A%9B%E6%99%82%E3%81%AEMCSR%2FESR%2FDEAR%E3%80%82%3C%2FLI%3E%0A%3C%2FOL%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%83%94%E3%83%BC%E3%82%BF%E3%83%BC%3C%2FP%3E%3C%2FLINGO-BODY%3E