MPort가있는 Cortex-M 프로세서 (Cortex-M4를 구체적으로 사용하지만 대답은 예 : M3와 같을 것입니다.) MPU에서 하드웨어 예외 항목 스태킹은 어떤 특권 모드입니까?스레드 모드 또는 처리기 모드에서 Cortex-M 하드웨어에 의해 예외가 스택됩니까?
프로세스 스택 (PSP)을 사용하여 권한없는 스레드 모드로 실행 중이며 MPU가 특정 영역 내에서만 쓰기를 허용하도록 설정되어 있다고 가정합니다 (예 : 사용자 모드 프로세스가 실행 중임). 핸들러 모드에서 핸들러가 실행되기 전에 예외가 발생하면 하드웨어가 레지스터 r0-r3, lr, pc 등을 PSP에 스택합니다. 이것은 권한없는 스레드 모드에서도 발생합니까?
특히, 프로세스가 메모리에있는 임의의 지점으로 쓰기를 허용해서는 안되는 SP를 설정한다고 가정하면 예외적으로 스태킹 결과 메모리 오류가 발생합니까?
MemManage 오류 상태의 MSTKERR 비트 레지스터 (MMFSR)는 예외 항목에 대해 스태킹 중에 메모리 액세스 오류가 발생했는지 여부를 나타냅니다. 예외 항목 중에 메모리 오류가 발생할 수 있음이 확실하지만 메모리 액세스가 특권 또는 비 특권 모드 (예 : MPU 제어 레지스터의 PRIVDEFENA 비트가 1이라고 가정)에있는 것처럼 처리하는지 기본적으로 묻습니다. – exobrain