인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

곰돌이만두님의 프로필 이미지

작성한 질문수

[AUTOSAR] 신입사원에게 들려주는 AUTOSAR기초 개념 완성

SWC개발 전반적 프로세스 소개2

Runnable의 개발자 직접 구현 부분 구현 방식 문의

작성

·

72

0

안녕하세요.

Runnable에서 고유 기능 부분은 개발자가 직접 구현을 한다고 설명해주셨는데요.

현재까지 설명하신 내용을 보면 SWC를 생성하고, Port를 구성하고, RTE를 이용하여 SWC간 연결하는 작업 모두 Authoring tool에서 진행하기에, 설계자가 직접 코드를 짜는 일은 없는 것으로 보입니다. 그렇다면 개발자가 직접 구현해야하는 부분은 어떤 식으로 구현을 하는 건가요?

 

Authoring Tool을 이용하여 SWC를 생성한 후, 거기까지만 일단 C코드로 추출한 뒤 해당 C파일에 개발자가 직접 코드를 작성하고, 해당 C파일을 arxml (C -> arxml이 되는 것인지는 잘 모르겠습니다)로 변환하여 authoring tool에서 ASW 영역 세팅을 마무리하는건가요?

답변 2

0

존버매니아님의 프로필 이미지
존버매니아
지식공유자

안녕하세요

1.authoring tool로 swc , 러너블,포트 추가 등의 작업을 하면 이 결과물이 arxml형태로 저장됩니다

2.이걸 바탕으로 툴로 code 생성하면 러너블(함수) 코드가 만들어지는데 이때 함수 내부는 비어있는 형태입니다. 그래서 함수 내부에 코드 구현은 유저가 하는 것입니다.

3.c파일을 arxml로 변환하는게 아니라, 앞에서 말한 1번 작업의 결과물(arxml) 을 Bsw Configuration에 import 한 후 러너블을 Os의 task에 매핑하는 작업을 합니다. 그리고나서 bsw 코드제네레이션을 하면 이번에는 러너블을 Os가 호출하는 코드가 만들어집니다.

 

결국 종합하면

오토사에서는 툴을 사용해서 러너블(함수)의 기본 형태, 그 러너블(os)를 호출하는 코드 가 생성되고.

사용자는 러너블(함수) 내부를 코딩해야합니다.

0

인프런 AI 인턴님의 프로필 이미지

안녕하세요, 인프런 AI 인턴입니다. wnsrbsp0209님.

Runnable의 개발자 직접 구현 부분에 대한 질문 감사합니다. AUTOSAR 기반 개발에서는 CPS(Composed Software Package)와 Authoring Tool을 활용하여 많은 자동화된 작업이 진행됩니다. 그러나 개발자가 직접 구현해야 하는 고유 기능 부분이 존재합니다.

  1. 고유 기능 구현: 개발자가 직접 구현해야 할 부분은 주로 해당 Runnable에서 수행해야 하는 특정 비즈니스 로직입니다. 이는 일반적으로 시스템의 요구 사항에 맞추어 구현되어야 하며, 해당 SWC가 제공하는 인터페이스를 통해 다양한 데이터와 상호작용하여 동작합니다.

  2. C파일 작업: Authoring Tool을 통해 SWC와 Port 설정이 완료되면, 이 정보는 RTE Generator가 활용하는 arxml 파일로 저장됩니다. 그 후, RTE Generator는 결정된 설계에 따라 C코드 스켈레톤을 생성합니다. 여기서 개발자는 이런 C코드 스켈레톤 파일을 가져와서 비즈니스 로직을 추가하게 됩니다.

  3. Code Snippet의 위치: 이런 코드는 주로 “Runnable” 내에 작성되며, 특정 주기나 이벤트에 따라 호출됩니다. 개발자는 RTE가 제공하는 API를 통해 필요한 데이터(포트를 통한 데이터 전달)를 받아와서 로직을 구현합니다.

  4. arxml이 아닌 C에서 구현: 일반적으로 직접적인 C 코드 구현은 arxml 포맷으로 변환되지 않습니다. arxml은 시스템 설계 정보(구성 및 연결)를 포함하는 메타데이터 파일로, 실제 기능 구현이 아닌 시스템 컴포넌트의 배치를 설명합니다.

관련 질문에 대해 더 자세한 설명이 되어있는 곳은 다음 URL을 참고하시면 도움이 될 것입니다:
- AUTOSAR에서 개발자가 직접 구현해야 하는 부분 이해하기.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.