Использование периферийных устройств в приложении с поддержкой реального времени
Приложения с поддержкой реального времени (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 не сбрасывает периферийные устройства при запуске. Приложения должны убедиться, что периферийные устройства находятся в известном состоянии при запуске или после перезапуска.
Перезагрузка устройства активируется при установке нового приложения, использующего периферийные устройства, при выполнении следующих условий:
- Для состояния производства устройства задано значение DeviceComplete.
- На устройстве отсутствует возможность appDevelopment . Дополнительные сведения см. в разделе Блокировка конфигурации периферийных устройств.
Если инициирована перезагрузка устройства, подождите, пока перезагрузка не завершится, и устройство станет адаптивным.
Теме | Описание |
---|---|
Использование 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 в режиме реального времени. |