작성
·
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도 그런식으로(?) 관리되기 원하는게 아닌가 싶습니다.