Suggestions de conception d’application en temps réel
Important
Il s’agit de la documentation Azure Sphere (héritée). Azure Sphere (hérité) prend sa retraite le 27 septembre 2027 et les utilisateurs doivent migrer vers Azure Sphere (intégré) pour l’instant. Utilisez le sélecteur de version situé au-dessus du TOC pour afficher la documentation Azure Sphere (intégrée).
Les applications de cœur en temps réel (RT) s’exécutent sur un système d’exploitation nu ou avec un système d’exploitation en temps réel (RTOS) sur les cœurs en temps réel. La plupart des recommandations de conception pour les applications HL-core s’appliquent également à la conception d’applications RT-core. Cette rubrique décrit d’autres suggestions de conception à prendre en compte lors de la conception d’applications rt-core.
- Utilisez un minuteur de surveillance : nous vous recommandons d’activer et d’implémenter le minuteur de surveillance MT3620 afin de détecter le blocage et d’implémenter une logique de récupération appropriée. Pour plus d’informations, consultez Utiliser un minuteur de surveillance dans une application RTApp. Cela peut également être un point important où l’application RT peut signaler à l’application HL-core (par exemple, par le biais de la boîte aux lettres inter-cœurs) qu’un problème s’est produit afin que l’action appropriée puisse être effectuée par l’une ou l’autre des applications, telles que la réinitialisation de l’appareil. Pour ce faire, procédez comme suit :
- Redémarrez l’appareil en appelant la
PowerManagement_ForceSystemReboot
fonction à partir de l’application HL-core. Consultez les niveaux de redémarrage sur un appareil. - Contourner les API HL-core en effectuant une réinitialisation matérielle via un GPIO dédié avec les broches de gestion de l’alimentation du MT3620 (PMU_EN, EXT_PMU_EN ou SYSRST_N). Pour plus d’informations sur les PMU_EN et les EXT_PMU_EN, consultez Considérations relatives à Power Down. La réinitialisation matérielle avec SYSRST_N implique généralement la conception des schémas d’appareil avec jusqu’à trois (un par cœur) de réinitialisation dédiée des GPIO, connectés via des diodes et des filtres RC à la broche SYSRST_N de l’appareil. L’exécution d’une réinitialisation matérielle permet une action indépendante de l’une des applications HL-core et RT-core si la conception nécessite une récupération déterministe à partir d’une application s’exécutant sur n’importe quel cœur.
- Redémarrez l’appareil en appelant la
Remarque
Veillez à utiliser des GPIO pour réinitialiser l’appareil à partir d’une application RT-core, car un effet inattendu de la programmation ou de la conception de cette application (par exemple, la réinitialisation continue de l’appareil) pourrait empêcher l’appareil de recevoir des mises à jour du système d’exploitation et de l’application.
- Implémentez des communications inter-cœurs dans des projets qui combinent des applications HL-core et RT-core : même s’il n’est pas explicitement nécessaire, il est toujours recommandé d’implémenter un échange de communication minimal entre les applications HL-core et RT-core. Pour plus d’informations, consultez Communiquer avec une application en temps réel. Outre l’échange de données évident lorsque la communication entre cœurs est explicitement conçue dans le cadre de l’architecture globale de l’application, il est utile et important que les deux parties soient synchronisées par rapport à l’état de l’autre afin que l’état global de l’appareil puisse être géré entre eux (voir l’exemple de communication inter-cœurs).
Pour plus d’informations de référence sur le développement d’applications rt-core, notamment des pilotes et des exemples pour l’utilisation de périphériques et de fonctionnalités MT3620, consultez :
- Documentation de MediaTek MT3620
- Exemple de code d’application MediaTek MT3620 M4
- Pilotes pour azure Sphere MT3620 cœurs en temps réel (CM4) par Codethink Labs : ces pilotes ont été développés à l’aide d’interfaces faciles à utiliser (API) qui imitent étroitement celles disponibles pour les applications HL-core.
- Exemples pour les cœurs en temps réel (CM4) d’Azure Sphere MT3620 par Codethink Labs