실시간 핵심 애플리케이션 디자인 제안
실시간(RT) 코어 애플리케이션은 운영 체제 미설치 또는 실시간 코어의 RTOS(실시간 운영 체제)에서 실행됩니다. HL 코어 애플리케이션에 대한 많은 디자인 권장 사항은 RT 코어 애플리케이션 설계에도 적용됩니다. 이 항목에서는 RT 코어 애플리케이션을 디자인할 때 고려해야 할 추가 디자인 제안에 대해 설명합니다.
-
Watchdog 타이머 사용: 교착 상태를 감지하고 적절한 복구 논리를 구현할 수 있도록 MT3620 watchdog 타이머를 사용하도록 설정하고 구현하는 것이 좋습니다. 자세한 내용은 RTApp에서 Watchdog 타이머 사용을 참조하세요. 또한 RT 애플리케이션이 HL 코어 애플리케이션(예: 코어 간 사서함을 통해)에 문제가 있다는 신호를 보낼 수 있으므로 디바이스 재설정과 같은 두 애플리케이션에서 적절한 작업을 수행할 수 있습니다. 이 작업은 다음과 같은 방법으로 수행할 수 있습니다.
- HL 코어 애플리케이션에서 함수를
PowerManagement_ForceSystemReboot
호출하여 디바이스를 다시 시작합니다. 디바이스에서 다시 시작하는 수준을 참조하세요. - MT3620의 전원 관리 핀(PMU_EN, EXT_PMU_EN 또는 SYSRST_N)을 사용하여 전용 GPIO를 통해 하드웨어 재설정을 수행하여 HL 코어 API를 우회합니다. PMU_EN 및 EXT_PMU_EN 대한 자세한 내용은 Power Down 고려 사항을 참조하세요. SYSRST_N 사용한 하드웨어 재설정에는 일반적으로 다이오드 및 RC 필터를 통해 디바이스의 SYSRST_N 핀에 연결된 최대 3개의(각 코어당 하나씩) 전용 재설정 GPI를 사용하여 디바이스 도형을 디자인하는 작업이 포함됩니다. 하드웨어 재설정을 수행하면 디자인에 코어에서 실행되는 모든 애플리케이션에서 결정적 복구가 필요한 경우 HL 코어 및 RT 코어 애플리케이션에서 독립적인 작업을 수행할 수 있습니다.
- HL 코어 애플리케이션에서 함수를
참고
GPIO를 사용하여 RT 코어 애플리케이션에서 디바이스를 다시 설정하는 것은 해당 애플리케이션의 프로그래밍 또는 디자인의 의도하지 않은 영향(예: 디바이스를 지속적으로 재설정)으로 인해 디바이스가 운영 체제 및 애플리케이션 업데이트를 받지 못하게 할 수 있기 때문에 매우 신중하게 고려합니다.
- HL 코어 및 RT 코어 애플리케이션을 결합하는 프로젝트에서 코어 간 통신을 구현합니다. 명시적으로 필요하지 않더라도 항상 HL 코어와 RT 코어 애플리케이션 간에 최소한의 통신 교환을 구현하는 것이 좋습니다. 자세한 내용은 실시간 지원 애플리케이션과 통신을 참조하세요. 코어 간 통신이 전체 애플리케이션 아키텍처의 일부로 명시적으로 디자인된 경우 명백한 데이터 교환 외에도 서로의 상태 관련하여 두 당사자를 동기화하여 전반적인 디바이스 상태 더 잘 관리할 수 있도록 하는 것이 유용하고 중요합니다(코어 간 통신 샘플 참조).
MT3620 주변 장치 및 기능을 사용하기 위한 드라이버 및 샘플을 포함하여 RT 코어 애플리케이션 개발에 대한 추가 참조 정보는 다음을 참조하세요.
- MediaTek MT3620 설명서
- MediaTek MT3620 M4 드라이버 & Real-Time 애플리케이션 샘플 코드
- Codethink Labs의 Azure Sphere MT3620 CM4(실시간 코어) 드라이버 - 이러한 드라이버는 HL 코어 애플리케이션에 사용할 수 있는 인터페이스와 밀접하게 모방하는 API(사용하기 쉬운 인터페이스)를 사용하여 개발되었습니다.
- Codethink Labs별 Azure Sphere MT3620 CM4(실시간 코어) 샘플