Использование периферийных устройств в высокоуровневом приложении
Высокоуровневые приложения могут сопоставлять периферийные устройства для их монопольного использования. Чтобы использовать одно или несколько периферийных устройств в высокоуровневом приложении, выполните следующие действия:
- Добавьте периферийное устройство в манифест приложения.
- Добавьте в приложение обработчик прерываний (при необходимости) и другой вспомогательный код.
- Добавьте код, чтобы убедиться, что каждое периферийное устройство будет находиться в известном хорошем состоянии при запуске.
Все ресурсы, используемые приложением высокого уровня, должны быть указаны в манифесте приложения. В высокоуровневом приложении можно использовать имя ресурса, назначенного AppManifestValue в JSON-файле определения оборудования для целевой микросхемы, или высокоуровневое имя, присвоенное ресурсу в файле заголовка определения оборудования. Например, чтобы найти значение для идентификации I2C в ISU0 на оборудовании MT3620, найдите файл mt3620.json в папке HardwareDefinitions, установленной в папке пакета SDK Microsoft Azure Sphere. Это периферийное устройство определяется в ФАЙЛЕ JSON следующим образом:
{"Name": "MT3620_ISU0_I2C", "Type": "I2cMaster", "MainCoreHeaderValue": "(0)", "AppManifestValue": "ISU0", "Comment": "MT3620 ISU 0 configured as I2C"},
Обратите внимание, что appManifestValue для периферийного устройства I2C имеет значение ISU0, а имя высокого уровня — "MT3620_ISU0_I2C".
Одновременно загруженные приложения не могут совместно использовать ресурсы; Использование ресурсов является монопольным для одного приложения. При загрузке приложения ОС Azure Sphere выполняет несколько важных задач:
- Настраивает мультиплексирование, чтобы контакты, связанные с периферийным устройством, были настроены для запрошенной функциональности.
- Настраивает сопоставление ядер, которое включает в себя настройку брандмауэров, чтобы приложение получите доступ к регистрам, связанным с запрошенными периферийными устройствами.
- Проверяет манифест и не загружает приложение, если оно запрашивает ресурсы, которые уже были запрошены другим приложением.
В оставшейся части этого раздела содержатся сведения об использовании определенных периферийных устройств.
Примечание
Ос Azure Sphere не сбрасывает периферийные устройства при запуске. Приложения должны убедиться, что периферийные устройства находятся в известном состоянии при запуске или после перезапуска.
Перезагрузка устройства активируется при установке нового приложения, использующего периферийные устройства, при выполнении следующих условий:
- Для состояния производства устройства задано значение DeviceComplete.
- На устройстве отсутствует возможность appDevelopment . Дополнительные сведения см. в разделе Блокировка конфигурации периферийных устройств.
Если инициирована перезагрузка устройства, подождите, пока перезагрузка не завершится, и устройство станет адаптивным.
Теме | Описание |
---|---|
Использование ADC в высокоуровневых приложениях | Описывается использование аналогово-цифровых преобразователей (АЦП) с Azure Sphere. |
Использование GPIO в высокоуровневых приложениях | Описывается, как использовать входные и выходные данные общего назначения (GPIO) с Azure Sphere. |
Использование I2C в высокоуровневых приложениях | Описывает использование Inter-Integrated канала (I2C) для последовательного взаимодействия. |
Использование PWM в высокоуровневых приложениях | Описывает, как использовать импульсную модуляцию ширины (ШИМ) с Azure Sphere. |
Использование SPI в высокоуровневых приложениях | Описывает использование последовательного периферийного интерфейса (SPI) для последовательного взаимодействия. |
Использование UART в высокоуровневых приложениях | Описывает использование UART для последовательного взаимодействия. |
Использование таймеров сторожевой службы в высокоуровневых приложениях | Описывает использование таймера сторожевой службы. |