Points to note when setting ARM Cortex-M interrupt priority 암 코텍스 M 인터럽트 우선순위 설정 시 주의 사항

Points to note when setting ARM Cortex-M interrupt priority 암 코텍스 M 인터럽트 우선순위 설정 시 주의 사항

 

유비노스 커널은 critical section을 BASEPRI(base priority register)에 NVIC_BASEPRI_REAL 값을 설정해 이 값 이하 우선순위의 인터럽트를 비활성화하는 방법으로 보호한다.

따라서, 인터럽트 서비스 루틴에서 sem_give 같은 유비노스 커널 함수를 호출하려면 그 인터럽트의 우선 순위는 반드시 NVIC_BASEPRI_REAL 값 이하여야 한다.

 


Ubinos Home 유비노스 홈