주요 콘텐츠

이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.

코드 인터페이스 및 코드 인터페이스 사양

생성된 애플리케이션 및 컴포넌트 코드는 다음과 같은 생성된 코드 인터페이스를 통해 타깃 환경 서비스와 상호 작용합니다.

  • 스케줄러와 같은 타깃 소프트웨어가 호출할 수 있는 진입점 함수

  • 플랫폼 서비스 함수와 같은 타깃 소프트웨어에 대한 함수 호출

이 그림은 타깃 실행 환경에서 컴포넌트와 플랫폼 서비스 간의 상호작용 예시를 보여줍니다.

Component code interfaces

화살표는 함수 인터페이스 호출의 방향을 나타냅니다. 타깃 함수 스케줄러는 Initialize, F1, F2, Terminate와 같은 컴포넌트 진입점 함수를 호출합니다. 이 컴포넌트는 입력 읽기, 출력 쓰기, 호출 가능한 함수 간 데이터 전송 및 시간 값 가져오기를 위해 타깃 플랫폼 서비스를 호출합니다.

코드 생성기가 타깃 환경의 서비스와 상호 작용할 수 있는 코드를 생성하려면, 다음 요소들을 조합하여 코드 생성기가 서비스 인터페이스 요구 사항을 인식할 수 있도록 해야 합니다:

  • 최상위 모델의 모델 요소

  • 코드 인터페이스 구성

  • 코드 인터페이스 구성에 정의된 인터페이스와 모델 요소를 연결하는 코드 매핑

다음 그림은 다음 요소들 간의 관계를 보여줍니다:

  • 타깃 환경 서비스 인터페이스 요구 사항 (배포 프로세스의 입력 사항)

  • 코드 인터페이스 사양 (Simulink® 및 Embedded Coder® 툴을 사용하여 타깃 환경의 인터페이스 요구 사항을 코드 생성기에 전달하는 방법)

  • 타깃 환경에서의 코드 통합 및 실행 (코드 생성 출력물을 어떻게 처리할지)

Relationship between target environment interface requirements, interface specification, and target environment code integration and execution

함수나 최상위 수준의 인포트 및 아웃포트와 같이 인터페이스를 나타내는 모델 요소를, 코드 인터페이스 구성 파일에 정의된 코드 인터페이스에 매핑함으로써, 코드 생성기에 C 또는 C++ 인터페이스 코드를 생성하는 방법을 알려줍니다. 예를 들어, Simulink 편집기에서는 루트 레벨의 인포트 또는 In Bus Element 블록을 사용하여 타깃 플랫폼의 수신기 서비스에서 데이터를 읽기 위한 인터페이스를 모델링할 수 있습니다. 애플리케이션 배포 시, 데이터 통신 요구 사항을 처리하는 사용자 지정 블록을 포함해야 할 수도 있습니다. 컴포넌트 배포를 위한 상위 모델을 설계할 때는 코드 생성 시 모델링 지침에 제시된 권장 모델링 지침을 따르십시오.

코드 생성기는 데이터와 서비스, 두 가지 유형의 코드 인터페이스를 지원합니다. Embedded Coder 앱에서 코드 매핑 편집기를 사용하거나 코드 매핑 프로그래밍 인터페이스를 사용하여 매핑을 설정할 수 있습니다.

C 코드 인터페이스의 경우:

  • 코드 매핑은 Embedded Coder 사전에서 정의된 코드 인터페이스 선택 사항을 반영합니다. 프로젝트나 조직의 경우, 누군가가 타깃 실행 환경의 인터페이스 요구 사항에 부합하는 코드 인터페이스 구성을 정의합니다. 그런 다음, 해당 환경에 배포하려는 각 모델에 대해 해당 구성을 모델에 연결합니다.

  • 프로젝트 모델의 배포 목표에 따라 데이터 또는 서비스 코드 인터페이스 구성을 생성하고 적용할 수 있습니다. 두 가지 유형의 코드 인터페이스 모두에서, 각 유형의 호출 가능한 진입점 인터페이스를 함수 사용자 지정 템플릿으로 구성하며, 이 템플릿은 코드 생성기가 함수용 코드를 생성하는 방식을 정의합니다.

이 테이블은 Embedded Coder 사전에서 정의할 수 있는 두 가지 유형의 C 코드 인터페이스를 비교한 것입니다.

데이터 인터페이스

R2022b: 서비스 인터페이스

애플리케이션 배포를 위해.컴포넌트 배포를 위해.
각 인터페이스를 스토리지 클래스로 구성하면, 생성된 코드에서 데이터 요소의 표시 방식과 배치 위치를 지정할 수 있습니다. 스토리지 클래스는 직접 액세스(direct-access) 데이터 통신을 적용합니다.각 인터페이스에 대해, 생성될 코드에 대한 함수 프로토타입 정보와 데이터 통신 방식 요구 사항을 지정합니다. 타깃 플랫폼의 요구 사항에 따라 인터페이스를 직접 액세스, 외부 실행 또는 실행 중 데이터 통신용으로 구성할 수 있습니다.
 코드 생성기는 코드를 생성할 때 제약 조건을 적용하여, 특정 타깃 환경에서 코드를 더 쉽게 통합하여 사용할 수 있도록 합니다. 제약 조건에 대한 자세한 내용은 Service Interface Constraints를 참조하십시오.

배포를 위해 데이터 인터페이스를 사용하여 컴포넌트를 구성해야 하는 경우, Component Deployment Guidelines for Embedded Coder 지원 패키지를 참조하십시오. 지침에 따라 컴포넌트 모델을 설계하고 구성하면, 코드 생성기는 특정 타깃 플랫폼의 인터페이스 요구 사항에 부합하는 코드를 생성합니다.

C++ 코드 생성을 위해서는 데이터 코드 인터페이스를 사용하도록 모델을 구성합니다. 코드 인터페이스 구성을 생성하지 않습니다. Embedded Coder 앱에서는 상위 모델에 정의된 함수들을 메서드 프로토타입에 매핑합니다. 최상위 모델에 표현된 데이터 요소를 데이터 표시 설정 및 멤버 액세스 함수 설정에 매핑합니다.

참고 항목

도움말 항목