본문 바로가기
자동차 임베디드 SW/Autosar

이슈 - Autosar OS Error E_OS_DISABLEDINT

by 존버매니아.임베디드 개발자 2022. 9. 30.
반응형

커뮤니케이션 관련 Driver Init 작업중에 OS의 Error Hook이 발생하였다.

에러의 종류는 "E_OS_DISABEDINT"

 

이 에러가 무엇인지는 오토사 문서에 나와있는데

A Service of the OS is called insied an interrupt disable/enable pair.

 

해석하자면, OS의 Service Function은 OS System Timer 인터럽트가 Enable이 되어있는 상태에서 호출되어야 한다.

그런데 인터럽트를 disable 한 상태에서 OS Service를 호출하면 에러 훅이 발생하고 ,그 때의 에러타입이 E_OS_DISABLEDINT 이다.

 

이 에러가 발생한 연유를 알아보니..

오토사 모듈들은 각각 Exclusive Area라는 것이 있는데(없는 것도 있음)

모두 그런건 아니지만 Exclsuvie Area 를 구현하는 가장 기본적인 방법이 인터럽트를 Disable 하는 것이다.

(주로 DisableAllInterupts() 또는 SuspendAllInterrupts() 또는 SuspendOSInterrupts()  를 사용)

 

암튼 내가 사용하는 모듈에서 

Exclusive Area로 진입하면서 Interrupt를 꺼 놓은 상태에서, OS 서비스를 호출하는 바람에 에러가 발생한 것이었다.


암튼 이런 OS Error가 발생한 경우, 어디서 Interrupt가 Disable 됐는지를 찾아보자.

그리고 Exclusive Area에서 Interrupt를 Disable하는 경우가 많으니 이것들을 한번 의심해보자.

 

반응형

'자동차 임베디드 SW > Autosar' 카테고리의 다른 글

Autosar DEM 모듈 개요  (0) 2022.11.29
이슈.오토사 can 메세지 송신 누락  (0) 2022.10.05
AUTOSAR COM. Rx Timeout  (0) 2022.05.30
오토사 can sm.autosar can sm  (0) 2022.05.30
오토사 com모듈.Autosar Com  (2) 2022.05.27