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

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

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

작성한 질문수

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

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

SWC에서 Port의 존재 이유?

작성

·

42

0

안녕하세요.

SWC가 다른 SWC, 혹은 BSW 단과 정보를 교환하기 위해서 Port가 필요하다고 설명해주셨습니다.

 

SWC는 말 그대로 Software인데, port라는 창구가 왜 필요한 것인가요? 이 답변에 대해서 제가 고민해본바로는 아래와 같습니다.

 

1) Autosar에서 port라는 형식을 지정하도록 강제했고, 이 때문에 port를 쓰는 것이다.

2) SWC 코드를 까볼 일이 잘 없다고 하셨지만, 혹시나 코드를 까볼 때 Port라고 구분된 식별자를 사용하여 사람이 코드를 읽을 때 해당 부분이 port임을 구분할 수 있고, 해당 코드를 타 SWC에 복사/재사용 등을 할 수 있다.

 

질문이 다소 중구난방이라서 요약을 해보자면, SWC에서 (HW에서 주로 사용하는) Port라는 단위가 왜 필요한 지에 대한 질문입니다.

답변 1

0

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

Swc를 하나의 c 파일이라고 생각해보면, c언어 sw 개발할 때 서로 다른 c 파일 간에 데이터를 주고 받거나 서로 함수를 호출하는 등 파일 간에 소통을 하는 경우가 많은데요. 이때 전역변수를 활용하거나 혹은 함수 호출해서 코드구현하면 되는데..

오토사에서는 굳이 포트라는걸 사용하는걸 규칙으로 정했는데.

왜 만들었냐고 하시면 그 의도를 제가 100% 완벽하게 설명하긴 힘들지만

swc 간의 연결 관계를 체계적으로 관리하기를 원해서 그런게 아닌가싶습니다.

예를 들어 A Swc와 B Swc 간에 전역변수를 선언해서 extern 으로 데이터를 주고받게 코드 구현을 할 수 있는데 구현이 어려운건 아니지만, 두 swc간에 이런식으로 서로 주고받는 정보들이 많이 있다면, 이런 부분들을 체계적으로 관리하기가 어려울거 같습니다.

Hw의 경우 hw 소자들간의 연결관계를 회로도를 열어서 확인해보면 바로 알 수 있듯이, sw도 그런식으로(?) 관리되기 원하는게 아닌가 싶습니다.