관리 메뉴

Leo's Garage

AUTOSAR Project Bring Up과 Interrupt disabling 본문

자동차 및 자동차 SW/AUTOSAR

AUTOSAR Project Bring Up과 Interrupt disabling

LeoBehindK 2023. 7. 7. 00:19
728x90
반응형

오늘은 최근 AUTOSAR Project Bring up 단계에서 겪은 몇 가지 이슈들을 정리하도록 하겠다.

 

1. MICROSAR + Third Party Tool(Tresos)간의 internal Generator 시 Container 생성 이슈

현재 개발 중에는 Vector사의 MICROSAR와 MCAL을 조합해서 개발을 하고 있다. 

이때, MCAL의 Base와 CD 부분을 MICROSAR import해서 MCAL generator에 활용하곤 하는데, 최근에 MICROSAR 내에서 MCAL 의 특정 모듈의 Container를 생성 시에 naming이 MCAL implement code와 다르게 생성되는 이슈가 있다. 

이런 경우에는 Configurator tool 내부에서 어떠한 이슈나 에러로 잡지 못하고, Build 시에 발견할 수 있는데, 여러모로 참 불편하다.

MICROSAR버전과 MCAL 버전 간의 호환 이슈가 있는건지 골치가 아프다. 

 

2. 최근에 AUTOSAR OS SC3 이상으로 Set up을 하면서, 각 OS Application간에 memory 접근 권한 때문에 골치가 아팠던 적이 있다. 보통 멀티 코어를 사용하기 때문에 init 시에 각 Core 별로 sync를 위해 대기하는 구간이 있는데, 아직 OS도 RTE도 start 전인 상태라 전역변수를 key로 공유하면서 sync를 맞춰야 하는 구간이 있다. 

이 때 해당 변수의 주소를 모든 Core에서 읽고, 쓸 수 있게 권한을 줘야 한다. 그렇지 않으면 초기화가 안되는 문제가 발생한다.

 

3. 이건 MICROSAR만의 문제일 수도 있지만, 이론적으로 이해하고 있으면 좋은 개념이라 남긴다. 보통 우리가 BswM Core 별 초기화 시점에 각종 BSW 모듈들을 초기화하게 된다. 이 때 특정 모듈은 interrupt가 필요한 경우가 있고, 어떤 모듈은 초기화 시 간섭을 없애기 위해 interrupt를 꺼버리는 경우도 있다. 

문제가 되는 부분은 다음과 같은 부분인데, 설정 상 초기화 시 interrupt를 끄고 들어갔는데, 초기화 도중에 Counter를 이용해서 초를 세어야 하던지 같은 경우가 발생할 경우, MCU Timer를 사용해야하므로 interrupt를 써야 한다. 문제는 MICROSAR의 경우, interrupt Disable이 기본값인데 중간에 Counter를 세어야 하는 모듈이 있었던 것이다. 추후에 원인을 찾아 해결하기는 했지만 꽤나 고생한 이슈였다. 

728x90
반응형

'자동차 및 자동차 SW > AUTOSAR' 카테고리의 다른 글

Mode Management  (0) 2023.07.07
Individual Polling  (0) 2023.07.07
OEM과 DBC 그리고 Tool Vendor  (0) 2023.06.27
AUTOSAR COM module  (0) 2023.06.26
CAN DBC attribute와 MICROSAR  (0) 2023.06.25
Comments