Freigeben über


Vorschläge für den Entwurf von Echtzeitkernanwendungen

Echtzeit-Kernanwendungen werden auf Bare-Metal oder mit einem Echtzeitbetriebssystem (Real-Time Operating System, RTOS) auf den Echtzeitkernen ausgeführt. Viele der Entwurfsempfehlungen für HL-Kernanwendungen gelten auch für das Entwerfen von RT-Core-Anwendungen. In diesem Thema werden weitere Entwurfsvorschläge erläutert, die beim Entwerfen von RT-Core-Anwendungen zu berücksichtigen sind.

  • Verwenden Sie einen Watchdog-Timer: Es wird empfohlen, den MT3620-Watchdog-Timer zu aktivieren und zu implementieren, damit Sie Deadlocks erkennen und eine geeignete Wiederherstellungslogik implementieren können. Weitere Informationen finden Sie unter Verwenden eines Watchdog-Timers in einer RTApp. Dies kann auch ein wichtiger Punkt sein, an dem die RT-Anwendung der HL-Core-Anwendung (z. B. über das Kernpostfach) signalisieren kann, dass ein Fehler aufgetreten ist, sodass von beiden Anwendungen geeignete Maßnahmen ergriffen werden können, z. B. das Zurücksetzen des Geräts. Dies kann auf folgende Weise erfolgen:
    • Starten Sie das Gerät neu, indem Sie die PowerManagement_ForceSystemReboot Funktion aus der HL-Core-Anwendung aufrufen. Weitere Informationen finden Sie unter Neustartstufen auf einem Gerät.
    • Umgehen der HL-Core-APIs durch Ausführen einer Hardwarerücksetzung über eine dedizierte GPIO mit den Energieverwaltungspins des MT3620 (PMU_EN, EXT_PMU_EN oder SYSRST_N). Weitere Informationen zu PMU_EN und EXT_PMU_EN finden Sie unter Überlegungen zum Herunterschalten. Die Hardwarezurücksetzung mit SYSRST_N umfasst in der Regel das Entwerfen der Geräteschemata mit bis zu drei dedizierten Zurücksetzungs-GPIOs (einer pro Kern), die über Dioden und RC-Filter mit dem SYSRST_N Pin des Geräts verbunden sind. Das Ausführen einer Hardwarezurücksetzung ermöglicht eine unabhängige Aktion von allen HL-Core- und RT-Core-Anwendungen, wenn der Entwurf eine deterministische Wiederherstellung von anwendungen erfordert, die auf einem beliebigen Kern ausgeführt werden.

Hinweis

Berücksichtigen Sie sehr sorgfältig die Verwendung von GPIOs, um das Gerät aus einer RT-Core-Anwendung zurückzusetzen, da ein unbeabsichtigter Effekt der Programmierung oder des Entwurfs dieser Anwendung (z. B. das kontinuierliche Zurücksetzen des Geräts) verhindern könnte, dass das Gerät Betriebssystem- und Anwendungsupdates empfängt.

  • Implementieren Sie kernübergreifende Kommunikation in Projekten, die HL-Core- und RT-Core-Anwendungen kombinieren: Auch wenn sie nicht explizit benötigt werden, empfiehlt es sich immer, einen minimalen Kommunikationsaustausch zwischen den ANWENDUNGEN HL-core und RT-core zu implementieren. Weitere Informationen finden Sie unter Kommunizieren mit einer Echtzeitanwendung. Neben dem offensichtlichen Datenaustausch, wenn die Kommunikation zwischen Kernen explizit als Teil der gesamten Anwendungsarchitektur konzipiert ist, ist es nützlich und wichtig, dass die beiden Parteien in Bezug auf die status des anderen synchronisiert werden, damit eine bessere allgemeine gerätebasierte status voneinander verwaltet werden kann (siehe Beispiel für die Kommunikation zwischen Kernen).

Weitere Referenzinformationen zum Entwickeln von RT-Core-Anwendungen, einschließlich Treibern und Beispielen für die Verwendung von MT3620-Peripheriegeräten und -Features, finden Sie unter: