Использование периферийных устройств в приложении с поддержкой реального времени

Приложения с поддержкой реального времени (RTApp) могут сопоставлять периферийные устройства для их монопольного использования. Чтобы использовать одно или несколько периферийных устройств в RTApp, выполните следующие действия:

  • Добавьте периферийное устройство в манифест приложения.
  • Добавьте в приложение обработчик прерываний (при необходимости) и другой вспомогательный код.
  • Добавьте код, чтобы убедиться, что каждое периферийное устройство будет находиться в известном хорошем состоянии при запуске.

Важно

Сведения о программировании периферийных устройств для RTApp см. в документации производителя оборудования. Сведения о регистрации базовых адресов, номера прерываний, частоту тактов, частоту выборки и другие сведения о MT3620 см. в таблице MT3620 и руководстве пользователя MT3620 M4. Если остались вопросы, вы можете запросить сведения из Avnet, отправив Azure.Sphere@avnet.comпо электронной почте .

Все ресурсы, используемые приложением RTApp, должны быть указаны в манифесте приложения. В RTApp необходимо использовать имя ресурса, назначенного 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.

Одновременно загруженные приложения не могут совместно использовать ресурсы; Использование ресурсов является монопольным для одного приложения. При загрузке приложения ОС Azure Sphere выполняет несколько важных задач:

  • Настраивает мультиплексирование, чтобы контакты, связанные с периферийным устройством, были настроены для запрошенной функциональности.
  • Настраивает сопоставление ядер, которое включает в себя настройку брандмауэров, чтобы приложение получите доступ к регистрам, связанным с запрошенными периферийными устройствами.
  • Проверяет манифест и не загружает приложение, если оно запрашивает ресурсы, которые уже были запрошены другим приложением.

В оставшейся части этого раздела содержатся сведения об использовании определенных периферийных устройств.

Примечание

Ос Azure Sphere не сбрасывает периферийные устройства при запуске. Приложения должны убедиться, что периферийные устройства находятся в известном состоянии при запуске или после перезапуска.

Перезагрузка устройства активируется при установке нового приложения, использующего периферийные устройства, при выполнении следующих условий:

Если инициирована перезагрузка устройства, подождите, пока перезагрузка не завершится, и устройство станет адаптивным.

Теме Описание
Использование ADC в приложениях с поддержкой реального времени Описывается использование аналогово-цифровых преобразователей (АЦП) с Azure Sphere.
Использование GPIO в приложениях с поддержкой реального времени Описывается, как использовать входные и выходные данные общего назначения (GPIO) с Azure Sphere.
Использование GPT в приложениях с поддержкой реального времени Описывает использование таймеров общего назначения (GPT) с Azure Sphere.
Использование I2C в приложениях с поддержкой реального времени Описывает использование Inter-Integrated канала (I2C) для последовательного взаимодействия.
Использование I2S в приложениях с поддержкой реального времени Описание использования встроенного звука interchip (I2S) с Azure Sphere
Использование PWM в приложениях с поддержкой реального времени Описывает, как использовать импульсную модуляцию ширины (ШИМ) с Azure Sphere.
Использование SPI в приложениях с поддержкой реального времени Описывает использование последовательного периферийного интерфейса (SPI) для последовательного взаимодействия.
Использование UART в приложениях с поддержкой реального времени Описывает использование UART для последовательного взаимодействия.
Использование внешних прерываний в приложениях с поддержкой реального времени Описывает использование внешних прерываний в RTApp для реагирования на внешние сигналы.
Использование таймеров watchdog в приложениях с поддержкой реального времени Описывает влияние использования таймеров сторожевой службы на ядрах MT3620 в режиме реального времени.