Korzystanie z urządzeń peryferyjnych w aplikacji z obsługą czasu rzeczywistego
Aplikacje obsługjące czas rzeczywisty (RTApps) mogą mapować urządzenia peryferyjne do ich wyłącznego użytku. Aby użyć jednego lub większej liczby urządzeń peryferyjnych w aplikacji RTApp:
- Dodaj urządzenie peryferyjne do manifestu aplikacji.
- Dodaj do aplikacji program obsługi przerwań (jeśli jest to wymagane) i inny kod pomocniczy.
- Dodaj kod, aby upewnić się, że po uruchomieniu każde urządzenie peryferyjne będzie w dobrym stanie.
Ważne
Aby uzyskać informacje specyficzne dla sprzętu dotyczące programów peryferyjnych dla aplikacji RTApp, zapoznaj się z dokumentacją producenta sprzętu. 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 .
Wszystkie zasoby używane przez aplikację RTApp muszą być określone w manifeście aplikacji. W programie RTApp należy użyć nazwy zasobu przydzielonego do AppManifestValue w pliku JSON definicji sprzętu dla układu docelowego. W pliku nagłówka definicji sprzętu nie można użyć nazwy wysokiego poziomu przypisanej do zasobu. Aby na przykład znaleźć wartość identyfikującą I2C na isu0 na sprzęcie MT3620, poszukaj w pliku mt3620.json w folderze HardwareDefinitions zainstalowanym w folderze Microsoft Azure Sphere SDK. To urządzenie peryferyjne jest zdefiniowane w pliku JSON w następujący sposób:
{"Name": "MT3620_ISU0_I2C", "Type": "I2cMaster", "MainCoreHeaderValue": "(0)", "AppManifestValue": "ISU0", "Comment": "MT3620 ISU 0 configured as I2C"},
Zwróć uwagę, że wartość przypisana do AppManifestValue dla urządzenia peryferyjnego I2C to "ISU0".
Równoczesnie załadowane aplikacje nie mogą udostępniać zasobów; użycie zasobów dotyczy wyłącznie jednej aplikacji. System operacyjny Azure Sphere wykonuje kilka ważnych zadań podczas ładowania aplikacji:
- Konfiguruje multipleksowanie, tak aby pinezki skojarzone z urządzeniem peryferyjnym były skonfigurowane pod kątem żądanej funkcji.
- Konfiguruje mapowanie podstawowe, które obejmuje skonfigurowanie zapór w celu umożliwienia aplikacji dostępu do rejestrów skojarzonych z żądanymi urządzeniami peryferyjnymi.
- Sprawdza manifest i nie ładuje aplikacji, jeśli twierdzi, że zasoby, które zostały już zgłoszone przez inną aplikację.
Pozostała część tej sekcji zawiera szczegółowe informacje na temat używania określonych urządzeń peryferyjnych.
Uwaga
System operacyjny Azure Sphere nie resetuje urządzeń peryferyjnych podczas uruchamiania. Twoje aplikacje powinny mieć pewność, że urządzenia peryferyjne są w stanie dobrze znanym podczas uruchamiania lub po ponownym uruchomieniu.
Ponowne uruchomienie urządzenia jest wyzwalane po zainstalowaniu nowej aplikacji korzystającej z urządzeń peryferyjnych i spełnieniu następujących warunków:
- Stan produkcji urządzenia jest ustawiony na DeviceComplete.
- Funkcja appDevelopment nie jest dostępna na urządzeniu. Aby uzyskać więcej informacji, zobacz Blokowanie konfiguracji urządzeń peryferyjnych.
Jeśli zostanie zainicjowane ponowne uruchomienie urządzenia, poczekaj na ukończenie ponownego uruchomienia, a urządzenie reaguje.
Temat | Opis |
---|---|
Korzystanie z komputerów ADCs w aplikacjach z obsługą czasu rzeczywistego | W tym artykule opisano, jak używać konwerterów analogowo-cyfrowych (ADCs) z usługą Azure Sphere. |
Używanie obiektu GPIO w aplikacjach z obsługą czasu rzeczywistego | W tym artykule opisano, jak używać danych wejściowych/wyjściowych ogólnego przeznaczenia (GPIO) z usługą Azure Sphere. |
Używanie funkcji GPT w aplikacjach obsługujących czas rzeczywisty | W tym artykule opisano, jak używać czasomierzy ogólnego przeznaczenia (GPT) z usługą Azure Sphere. |
Korzystanie z I2C w aplikacjach z obsługą czasu rzeczywistego | W tym artykule opisano, jak używać Inter-Integrated Circuit (I2C) do komunikacji szeregowej. |
Korzystanie z I2S w aplikacjach z obsługą czasu rzeczywistego | W tym artykule opisano, jak używać zintegrowanego dźwięku Interchip (I2S) z usługą Azure Sphere |
Korzystanie z aplikacji PWM w aplikacjach z obsługą czasu rzeczywistego | W tym artykule opisano, jak używać modulacji szerokości impulsów (PWM) w usłudze Azure Sphere. |
Używanie funkcji SPI w aplikacjach z obsługą czasu rzeczywistego | W tym artykule opisano, jak używać szeregowego interfejsu peryferyjnego (SPI) do komunikacji szeregowej. |
Korzystanie z funkcji UARTs w aplikacjach z obsługą czasu rzeczywistego | W tym artykule opisano, jak używać funkcji UARTs do komunikacji seryjnej. |
Używanie przerwań zewnętrznych w aplikacjach z obsługą czasu rzeczywistego | W tym artykule opisano, jak używać przerwań zewnętrznych w aplikacji RTApp w celu reagowania na sygnały zewnętrzne. |
Używanie czasomierzy strażnika w aplikacjach z obsługą czasu rzeczywistego | W tym artykule opisano efekty używania czasomierzy strażnika na rdzeniach mt3620 w czasie rzeczywistym. |