Używanie czasomierza strażnika w aplikacji RTApp
Mt3620 obsługuje czasomierz watchdog dla każdego rdzenia w czasie rzeczywistym. Te czasomierze watchdog są dostępne w aplikacjach obsługujących w czasie rzeczywistym (RTApps).
Jeśli scenariusze aplikacji w czasie rzeczywistym wymagają użycia czasomierzy strażnika, należy pamiętać o następujących kwestiach:
Nie ma konkretnej obsługi systemu operacyjnego Azure Sphere ani SDK dla czasomierzy głównego strażnika w czasie rzeczywistym.
Czasomierze watchdog mogą być zaprogramowane bezpośrednio za pośrednictwem rejestrów, które kontrolują ich działanie lub za pomocą sterowników MediaTek. Zobacz przykładowej aplikacji czasomierza watchdog.
Aby uzyskać informacje na temat rejestrowania adresów podstawowych, numerów przerwań, częstotliwości zegara, częstotliwości próbkowania i innych szczegółów dotyczących MT3620, zobacz arkusz danych MT3620 i podręcznik użytkownika MT3620 M4. jeśli pytania pozostaną, możesz poprosić o szczegółowe informacje w avnet, wysyłając Azure.Sphere@avnet.comwiadomość e-mail .
Efekty resetowania strażnika
Gdy czasomierz strażnika podnosi zdarzenie resetowania, rdzeń w czasie rzeczywistym jest wektorowany do punktu wejścia aplikacji. Aplikacja RTApp jest odpowiedzialna za ponowne inicjowanie pamięci, stosu i wszystkich urządzeń peryferyjnych w celu prawidłowego wznowienia działania. System operacyjny Azure Sphere nie wpływa na zawartość pamięci ani nie inicjuje ponownie urządzeń peryferyjnych w rdzeniu w czasie rzeczywistym podczas operacji resetowania.
Zresetowanie funkcji watchdog nie powoduje wyzwolenia żadnych powiadomień, zdarzeń ani alertów do innych rdzeni w czasie rzeczywistym, do systemu operacyjnego Azure Sphere ani do żadnych obecnie uruchomionych aplikacji wysokiego poziomu. Efekt resetowania watchdoga jest ściśle lokalny dla procesora podstawowego w czasie rzeczywistym, który jest resetowany.
Przykładowa aplikacja czasomierza watchdog
Program MediaTek udostępnia sterowniki i przykładowy kod dla aplikacji mt3620 w czasie rzeczywistym w witrynie GitHub.