Internal behavior
SW-C code와 RTE 간의 interface만을 나타내며 알고리즘, input function과 output function의 관계를 포함하지는 않는다. 하나의 internal behavior는 반드시 한 개 이상의 runnable entity, RTE event 등을 포함해야 한다.
Runnable entity
1개의 SW-C는 내부의 행동을 특징 짓기 위해서 하나 또는 여러개의 runnable entities로 구성된다.
하나의 runnable entity는 그 자체로 실행될 수 있는 C언어로 구성된 함수이며, AUTOSAR SW의 description으로 표현된다.
SW-C의 각 runnable entity는 OS task로 할당된다.
여기서 하나의 task란 runnable entities의 연속된 시 간상의 집합을 의미하며, scheduling은 RTE configuration 과정에서 정의된다.
이 때, 같은 SW-C 내부의 runnable entities라고 해서 하나의 OS task 안에 할당될 필요는 없다.
SW-C에서 같은 ECU instance의 runnable entities들은 동시에 호출이 가능하다.
(동시에 호출하려면 ECU instance 속성에서 CanBelnvokedConcurrently==TRUE로 설정)
이것의 의미는 동일한 runnable entity가 여러 개의 다른 AUTOSAR OS task들에서 동시에 실행될 수 있다는 것이며
이렇게 동시 호출에 대한 경우의 수를 결정하고 관리하는 것은 SW 설계자의 책임과 직결된다.
RTE Event
RTE Event 에는 위와 같은 Type들이 존재한다.
1. Timing Event
Task를 trigger하는 주기적인 OS alarm 을 설정한다. 필자는 10ms 로 설정해 사용 중이다.
2. Background Event
가장 낮은 우선도로 고정된 시간 주기 없이 runnable의 배후에서 재발생되는데 사용
(idle task에서 돌아가는 Event이다.)
3. Data Received Event
특정 Port에 Data 수신 시 RTE에 의해 활성화
4. Data Received Error Event
RPort로 수신된 Data의 Error가 발생했을 때 자동 활성화
5. Data Send Completed Event
데이터의 발신이 끝나고 데이터 수신자의 데이터 쓰기 동작 이 모두 완료되면 활성화
6. Data Write Completed Event
Runnable entity 실행 후 RTE로 write-back copy 등작 후에 활성화
7. Operation Invoked Event
Server port에 연계된 동작이 호출되면 활성화
즉, Client-Server에서 server쪽에 만들어줘야 하고, Client 쪽에는 호출하는 API를 만들어준다.
8. Asynchronous Server Call Return Event
Server에서 동작 유발 시 비동기식 호출이 사용되면 동작 호출이 반환되며 활성화
즉, Client-Server에서 server를 asynchronous하게 호출하고 결과값이 도착했다는 것을 알려줄 때 사용
9. SW-C Mode Switch Event
모드 전환의 결과로 활성화되며 runnable entity를 trigger
10. Mode Switched Ack Event
모드의 변경이 완료되었다고 RTE가 통보하는 신호를 받기 위해서 활성화
11. Trigger Occurred Event
Runnable entities를 trigger하는 원인이 external 또는 internal 원인에 의해 연계될 경우에 활성화
'AUTOSAR, ASPICE' 카테고리의 다른 글
[ASPICE] ISO26262의 V 사이클이란? SW SRS, SAD, SDD 가 뭔데?? (0) | 2024.05.05 |
---|---|
[AUTOSAR] RTE Event Type 에는 무엇이 있을까? (2편) (0) | 2024.04.25 |
[AUTOSAR] CAN Stack 반영 방법 #하모나이징 (0) | 2024.04.22 |
[AUTOSAR] CAN(Controller Area Network) 통신 이란? (0) | 2024.04.20 |
[AUTOSAR] MCAR Layer란? #MCAR (1) | 2024.04.20 |