본문 바로가기
mobilgene

기본 동작 8. RTE Generate 및 코드 확인

by Autosar 2026. 4. 11.
반응형

이전 단계에서 Harmonize를 통해 AUTOSAR 설정(ARXML)의 정합성을 맞췄다.
이제 실제로 해야 할 작업은 RTE 코드 생성 (Generate) 이다.

 

1. RTE Generate란 무엇인가?

 

RTE Generate는 SWC 설정(Port, Runnable, Data Access)을 기반으로 실제 C 코드(API)를 생성하는 과정이다.

생성되는 것
- Rte_Read / Rte_Write 함수
- Runnable 연결 코드
- SWC 간 데이터 전달 구조

2. RTE Generate 수행 방법

 

수행 방법은 간단하다.

이전 단계에서 했던 Harmonize 과정을 마치고, Generate All 을 눌러 수행하면 된다.

 

3. Generate 결과

 

Generate가 완료되면 다음과 같은 파일이 생성된다.
그 중에서 " Rte_<SWC>.h" 파일에 우리가 사용할 API가 정의된다.

 

보안 유지를 위해 'SWC_TEST' 라는 Component 로 설명하면, 아래와 같이 RTE API 가 설정된다.

/******************************************************************************/
/*                              RTE API Mapping                               */
/******************************************************************************/
#ifndef Rte_Write_P_SR_TEST_OUT_TEST
#define Rte_Write_P_SR_TEST_OUT_TEST Rte_Write_SWC_TEST_P_SR_TEST_OUT_TEST
#endif

/******************************************************************************/
/*                             RTE API Prototypes                             */
/******************************************************************************/
extern FUNC(Std_ReturnType, RTE_CODE) Rte_Write_SWC_TEST_P_SR_TEST_OUT_TEST(P2CONST(uint16, AUTOMATIC, RTE_APPL_CONST) Data);

 

RTE API 를 잘 살펴보면 RTE 함수 구조는 다음과 같다.

Rte_Write_<SWC>_<Port>_<Interface>_<DataElement>

 

<SWC> = SWC_TEST

<Port> = P

<Interface> = SR_TEST

<DataElement> = OUT_TEST

 

인 셈이다.

 

4. Runnable 코드와 연결

 

AUTOSAR에서 Runnable 내부에서 사용하는 RTE API는 실제 함수가 아니라 매크로를 통해 연결되는 구조로 되어 있다.

 

위 코드는 다음을 의미한다.

Rte_Write_P_SR_TEST_OUT_TEST 를 호출하면
실제로는 Rte_Write_SWC_TEST_P_SR_TEST_OUT_TEST 함수가 호출된다.

 

따라서, Runnable 코드에서는 다음과 같이 간단하게 사용하면 된다.

void Runnable_10ms(void)
{
    Rte_Write_P_SR_TEST_OUT_TEST(SWC_TEST_ST);
}

 

정리

 

RTE API는 Runnable에서 직접 함수가 호출되는 것이 아니라,
매크로를 통해 실제 RTE 함수와 연결되는 구조이다.

 

따라서, 해당 매크로를 가져다가 적절한 곳에 사용하면 된다.

반응형