주요 콘텐츠

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

하드웨어별 C/C++ 코드 작성하기

대부분의 경우, 장치 드라이버 코드를 Simulink® 블록에 통합하려면 하드웨어 공급업체가 제공하는 API를 감싸는 래퍼 함수를 작성해야 합니다.

모든 ARM® Cortex®-A 프로세서 기반 지원 패키지는 GPIO 읽기 및 쓰기 작업을 위해 공통된 C/C++ 파일 세트를 사용합니다.

디지털 읽기 및 쓰기 기능을 구현하는 데 필요한 C/C++ 코드에 액세스하려면 다음 단계를 따르십시오:

  1. ARM Cortex-A 프로세서용 C 헤더 파일인 MW_gpio.h를 엽니다.

    edit(fullfile(codertarget.arm_cortex_a.internal.getSpPkgRootDir,'include','MW_gpio.h'))
  2. 이 헤더 파일은 System object에서 호출되는 C 함수 프로토타입을 제공합니다.

    // Copyright 2012-2015 The MathWorks, Inc.
    #ifndef _MW_GPIO_H_
    #define _MW_GPIO_H_
    #include "rtwtypes.h"
    #ifdef  __cplusplus
    extern "C"
    {
    #endif
        
    // Common definitions
    #define GPIO_MAX_BUF               (128)
    #define GPIO_DIRECTION_INPUT       (1)  // MATLAB numbering
    #define GPIO_DIRECTION_OUTPUT      (2)
    
    extern void MW_gpioInit(int32_T gpio, boolean_T direction);
    extern void MW_gpioTerminate(int32_T gpio);
    extern boolean_T MW_gpioRead(int32_T gpio);
    extern void MW_gpioWrite(int32_T gpio, boolean_T value);
    
    #ifdef __cplusplus
    }
    #endif
    #endif
    
  3. MW_gpio.h 파일의 사본을 드라이버 프로젝트 폴더의 include 폴더인 include에 저장하십시오. 자세한 내용은 프로젝트 폴더 만들기를 참조하십시오.

  4. ARM Cortex-A 프로세서용 C 소스 파일인 MW_gpio.c를 엽니다.

    edit(fullfile(codertarget.arm_cortex_a.internal.getSpPkgRootDir,'src','MW_gpio.c'))
  5. MW_gpio.c 파일의 사본을 드라이버 프로젝트 폴더의 소스 폴더인 src에 저장하십시오. 자세한 내용은 프로젝트 폴더 만들기를 참조하십시오.

경고

ARM Cortex-A 디렉터리에 있는 MW_gpio.hMW_gpio.c 파일은 수정하지 마십시오.

많은 하드웨어 장치는 C++ 컴파일러를 지원하지 않거나 사용을 권장하지 않습니다. C++ 함수를 C 컴파일러로 컴파일하고 링크하려면, 각 함수 선언에 extern "C" 식별자를 추가하여 컴파일러가 함수 이름을 변형(mangling)하지 않도록 해야 합니다. 그래야 C 링커에서 해당 함수를 사용할 수 있습니다.

Simulink 데이터형을 참조할 때는 반드시 rtwtypes.h 파일을 포함해야 합니다.

다음 섹션에서는 System object에 대해 System object 템플릿 선택 작업을 수행합니다.

참고 항목

| |