다음을 통해 공유


실시간 지원 애플리케이션에 주변 장치 사용

Important

Azure Sphere(레거시) 설명서입니다. Azure Sphere(레거시)는 2027년 9월 27일에 사용 중지되며 사용자는 이 시간까지 Azure Sphere(통합)로 마이그레이션해야 합니다. TOC 위에 있는 버전 선택기를 사용하여 Azure Sphere(통합) 설명서를 볼 수 있습니다.

RTApps(실시간 지원 애플리케이션)는 전용 사용을 위해 주변 장치를 매핑할 수 있습니다. RTApp에서 하나 이상의 주변 장치를 사용하려면 다음을 수행합니다.

  • 애플리케이션 매니페스트에 주변 장치를 추가합니다.
  • 애플리케이션에 인터럽트 처리기(필요한 경우) 및 기타 지원 코드를 추가합니다.
  • 각 주변 디바이스가 시작 시 알려진 양호한 상태인지 확인하는 코드를 추가합니다.

Important

RTApp에 대한 주변 장치를 프로그래밍하는 방법에 대한 하드웨어 관련 정보는 하드웨어 제조업체의 설명서를 참조하세요. MT3620에 대한 레지스터 기본 주소, 인터럽트 번호, 클록 속도, 샘플링 빈도 및 기타 세부 정보는 MT3620 데이터시트MT3620 M4 사용자 설명서를 참조하세요. 질문이 남아 있는 경우 이메일을 통해 Azure.Sphere@avnet.comAvnet에서 세부 정보를 요청할 수 있습니다.

RTApp에서 사용하는 모든 리소스는 애플리케이션 매니페스트에 지정해야 합니다. RTApp에서는 대상 칩에 대한 하드웨어 정의 JSON 파일에서 AppManifestValue에 할당된 리소스의 이름을 사용해야 합니다. 하드웨어 정의 헤더 파일에서 리소스에 할당된 상위 수준 이름을 사용할 수 없습니다. 예를 들어 MT3620 하드웨어의 ISU0에서 I2C를 식별하는 값을 찾으려면 Microsoft Azure Sphere SDK 폴더에 설치된 HardwareDefinitions 폴더의 mt3620.json 파일을 찾습니다. 이 주변 장치는 JSON 파일에서 다음과 같이 정의됩니다.

 {"Name": "MT3620_ISU0_I2C", "Type": "I2cMaster", "MainCoreHeaderValue": "(0)", "AppManifestValue": "ISU0", "Comment": "MT3620 ISU 0 configured as I2C"},

I2C 주변 장치에 대해 AppManifestValue에 할당된 값은 "ISU0"입니다.

동시에 로드된 애플리케이션은 리소스를 공유할 수 없습니다. 리소스 사용은 단일 애플리케이션에서만 사용할 수 있습니다. Azure Sphere OS는 애플리케이션을 로드할 때 다음과 같은 몇 가지 중요한 작업을 수행합니다.

  • 주변 장치와 연결된 핀이 요청된 기능에 대해 구성되도록 멀티플렉싱을 구성합니다.
  • 애플리케이션이 요청된 주변 장치와 연결된 레지스터에 액세스할 수 있도록 방화벽을 구성하는 핵심 매핑을 설정합니다.
  • 매니페스트를 확인하고, 다른 앱에서 이미 요청한 리소스를 요청하는 경우 애플리케이션을 로드하지 못합니다.

이 섹션의 나머지 부분에서는 특정 주변 장치 사용에 대한 세부 정보를 제공합니다.

참고 항목

Azure Sphere OS는 시작 시 주변 장치를 다시 설정하지 않습니다. 애플리케이션은 시작 시 또는 다시 시작한 후 주변 디바이스가 정상 상태인지 확인해야 합니다.

주변 장치를 사용하는 새 애플리케이션이 설치되고 다음 조건이 충족되면 디바이스 재부팅이 트리거됩니다.

  • 디바이스의 제조 상태가 DeviceComplete설정됩니다.
  • appDevelopment 기능이 디바이스에 없습니다. 자세한 내용은 주변 장치 구성 잠금을 참조 하세요.

디바이스 재부팅이 시작되면 다시 부팅이 완료되고 디바이스가 응답할 때까지 기다립니다.

항목 설명
실시간 지원 애플리케이션에서 ADC 사용 Azure Sphere에서 ADC(아날로그-디지털 변환기)를 사용하는 방법을 설명합니다.
실시간 지원 애플리케이션에서 GPIO 사용 Azure Sphere에서 GPIO(범용 입력/출력)를 사용하는 방법을 설명합니다.
실시간 지원 애플리케이션에서 GPT 사용 Azure Sphere에서 GPT(범용 타이머)를 사용하는 방법을 설명합니다.
실시간 지원 애플리케이션에서 I2C 사용 직렬 통신에서 I2C(Inter-Integrated Circuit)를 사용하는 방법을 설명합니다.
실시간 지원 애플리케이션에서 I2S 사용 Azure Sphere에서 I2S(통합 인터칩 사운드)를 사용하는 방법을 설명합니다.
실시간 지원 애플리케이션에서 PWM 사용 Azure Sphere에서 PWM(펄스 너비 변조)을 사용하는 방법을 설명합니다.
실시간 지원 애플리케이션에서 SPI 사용 직렬 통신에서 SPI(직렬 주변 장치 인터페이스)를 사용하는 방법을 설명합니다.
실시간 지원 애플리케이션에서 UART 사용 직렬 통신에 UART를 사용하는 방법을 설명합니다.
실시간 지원 애플리케이션에서 외부 인터럽트 사용 RTApp에서 외부 인터럽트를 사용하여 외부 신호에 응답하는 방법을 설명합니다.
실시간 지원 애플리케이션에서 Watchdog 타이머 사용 MT3620 실시간 코어에서 Watchdog 타이머를 사용하는 경우의 영향에 대해 설명합니다.