Partager via


Suggestions de conception d’applications principales en temps réel

Les applications principales en temps réel (RT) s’exécutent sur un système d’exploitation en temps réel ou avec un système d’exploitation en temps réel (RTOS) sur les cœurs en temps réel. De nombreuses recommandations de conception pour les applications HL-core s’appliquent également à la conception d’applications RT-core. Cette rubrique présente 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 pouvoir détecter les interblocages et implémenter la logique de récupération appropriée. Pour plus d’informations, consultez Utiliser un minuteur de surveillance dans une application en temps réel. Il peut également s’agir d’un point important où l’application RT peut signaler à l’application HL-core (par exemple, par le biais de la boîte aux lettres intercœurs) qu’un problème s’est produit afin que l’une ou l’autre des applications puisse prendre les mesures appropriées, 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 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 PMU_EN et EXT_PMU_EN, consultez Considérations relatives à la mise hors tension. La réinitialisation matérielle avec SYSRST_N implique généralement la conception du schéma de l’appareil avec jusqu’à trois (un par cœur) GPIO de réinitialisation dédiée, 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 n’importe quelle application HL-core et RT-core si la conception nécessite une récupération déterministe à partir de n’importe quelle application s’exécutant sur n’importe quel cœur.

Note

Examinez très attentivement l’utilisation de GPIOs 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 intercœurs dans des projets qui combinent des applications HL-core et RT-core : Même si cela 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 prenant en charge le 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 en ce qui concerne les status de l’autre afin qu’une meilleure status globale de l’appareil puisse être gérée l’une par l’autre (voir l’exemple de communication inter-cœurs).

Pour obtenir des informations de référence supplémentaires sur le développement d’applications RT-core, notamment des pilotes et des exemples d’utilisation de périphériques et de fonctionnalités MT3620, consultez :