다음 CPU로 작업하고 있습니다. Stellaris LM4F120H5QR 마이크로 컨트롤러. 이 CPU에는 MPU가 포함되어 있으므로이 기능을 사용하고 싶습니다. 하지만 많은 레지스터가 비 휘발성 모드 일 때 더 이상 액세스 할 수 없으며 시스템이 인터럽트 내부에 있고 비 휘발성 모드에서 읽을 수 있음을 나타내는 레지스터를 찾을 수없는 것처럼 보입니다.ARM Cortex M4 : 내부 인터럽트가있는 경우 unpriviled 모드에서 테스트
인터럽트에서 호출 할 때 다른 경로를 사용할 수있는 코드가 있기 때문에이 코드가 필요합니다. 권한이없는 모드에서 잘못된 검사를 수행하면 시스템이 실수로 액세스 오류로 점프합니다.
그렇다면 권한이없는 모드에서 호출 할 때 오류를 생성하지 않는 방식으로 인터럽트에서 함수가 호출되는지 어떻게 확인할 수 있습니까?
해당 페이지에 따르면 두 레지스터는 모두 권한 모드에서만 액세스 할 수 있습니다. 아니면 내가 잘못 읽었습니까? – Cheiron
ARM 매뉴얼에서는 실제로 이러한 레지스터를 권한이 있음을 나타내지 만 CONTROL에서 읽기는 권한이없는 모드에서도 사용할 수 있습니다. 이 코드는 사용자 스레드 컨텍스트에서 사용되는 "Cortex M3에 대한 확실한 안내서"책의 샘플이 있습니다. – mash5