在支持实时的应用程序中使用外围设备
支持实时的应用程序 (RTApps) 可以映射外围设备以供其专用。 若要在 RTApp 中使用一个或多个外围设备,
- 将外围设备添加到 应用程序清单。
- 根据需要向应用程序添加中断处理程序 () 和其他支持代码。
- 添加代码以确保每个外围设备在启动时都处于已知良好的状态。
重要
有关如何为 RTApp 编程外围设备的特定硬件信息,请参阅硬件制造商提供的文档。 有关 MT3620 的寄存器基址、中断数、时钟速率、采样频率和其他详细信息,请参阅 MT3620 数据表 和 MT3620 M4 用户手册;如果问题仍然存在,你可以通过电子邮件 Azure.Sphere@avnet.com从 Avnet 请求详细信息。
必须在应用程序清单中指定 RTApp 使用的所有资源。 在 RTApp 中,必须在目标芯片的硬件定义 JSON 文件中使用分配给 AppManifestValue 的资源的名称。 不能在硬件定义头文件中使用分配给资源的高级名称。 例如,若要在 MT3620 硬件上查找用于标识 ISU0 上的 I2C 的值,请在 Microsoft Azure Sphere SDK 文件夹中安装的 HardwareDefinitions 文件夹中查找 mt3620.json 文件。 此外围设备在 JSON 文件中定义如下:
{"Name": "MT3620_ISU0_I2C", "Type": "I2cMaster", "MainCoreHeaderValue": "(0)", "AppManifestValue": "ISU0", "Comment": "MT3620 ISU 0 configured as I2C"},
请注意,分配给 I2C 外围设备的 AppManifestValue 的值是“ISU0”。
并发加载的应用程序无法共享资源;资源使用仅限于单个应用程序。 Azure Sphere OS 在加载应用程序时执行几个重要任务:
- 配置多路复用,以便为请求的功能配置与外围设备关联的引脚。
- 设置 核心映射,这涉及到配置防火墙,以便应用程序可以访问与所请求的外围设备关联的寄存器。
- 检查清单,如果应用程序声明其他应用已声明的资源,则无法加载该应用程序。
本部分的其余部分提供有关使用特定外围设备的详细信息。
注意
Azure Sphere OS 在启动时不会重置外围设备。 应用程序应确保外围设备在启动时或重启后处于已知良好的状态。
安装使用外围设备的新应用程序并满足以下条件时,将触发设备重启:
- 设备的制造状态设置为 DeviceComplete。
- 设备上不存在 appDevelopment 功能。 有关详细信息,请参阅 外围设备配置锁定。
如果启动设备重新启动,请等到重新启动完成且设备响应迅速。
主题 | 描述 |
---|---|
在支持实时的应用程序中使用 ADC | 介绍如何将模数转换器 (ADC) 与 Azure Sphere 配合使用。 |
在支持实时的应用程序中使用 GPIO | 介绍如何将常规用途输入/输出 (GPIO) 与 Azure Sphere 配合使用。 |
在支持实时的应用程序中使用 GPT | 介绍如何将常规用途计时器 (GPT) 与 Azure Sphere 配合使用。 |
在支持实时的应用程序中使用 I2C | 介绍如何使用 Inter-Integrated 线路 (I2C) 进行串行通信。 |
在支持实时的应用程序中使用 I2S | 介绍如何将集成芯片间声音 (I2S) 与 Azure Sphere 配合使用 |
在支持实时的应用程序中使用 PWM | 介绍如何将脉宽调节 (PWM) 与 Azure Sphere 配合使用。 |
在支持实时的应用程序中使用 SPI | 介绍如何使用串行外设接口 (SPI) 进行串行通信。 |
在支持实时的应用程序中使用 UART | 介绍如何使用 UART 进行串行通信。 |
在支持实时的应用程序中使用外部中断 | 介绍如何在 RTApp 中使用外部中断来响应外部信号。 |
在支持实时的应用程序中使用监视器计时器 | 介绍对 MT3620 实时核心使用监视器计时器的影响。 |