在支持实时的应用程序中使用 UART
重要
这是 Azure Sphere(旧版)文档。 Azure Sphere(旧版)将于 2027 年 9 月 27 日停用,用户此时必须迁移到 Azure Sphere(集成)。 使用位于 TOC 上方的版本选择器查看 Azure Sphere(集成)文档。
Azure Sphere 设备上的 ISU UART 可供 RTApp 使用。 若要使用 ISU UART,RTApp 必须在应用程序清单的“功能”部分将其列出。 通过使用目标芯片的 JSON 文件中为其定义的“AppManifestValue”来标识 UART。 例如,以下行在 MT3620 芯片的 ISU0 上保留 UART:
"Capabilities": {
"Uart": [ "ISU0" ]
}
应用程序代码需要用于识别 UART、其寄存器基址及其中断编号的方法,并且必须包含用于 UART 的中断处理程序。 可在制造商的硬件文档中找到 UART 的基址和中断编号。
注意
Azure Sphere OS 在启动时不重置外围设备。 应用程序应确保在启动时或重启后外围设备处于已知良好状态。
MT3620 对实时内核上的 UART 的支持
本部分介绍适用于 MT3620 硬件上的实时内核的 UART 选项。 有关 UART 的 MT3620 支持的常规信息,请参阅 MT3620 支持。
每个实时内核都有一个专用的 UART,其独立于 ISU UART,用于日志记录。 因为每个此类 UART 都专供其内核上的应用程序使用,所以 RTApp 不需要在应用程序清单中将其列出。 RTApp 将分配给第一个可用的实时核心;目前无法选择应用程序使用哪个实时核心,因此也无法选择使用哪个专用 UART。 但是,azsphere device app start 命令的输出会报告已将哪个核心分配给应用程序。
有关注册基址、中断号、时钟速率、采样频率以及有关 MT3620 的其他详细信息,请参阅 MT3620 数据表 和 MT3620 M4 用户手册;如果问题仍然存在,可以通过电子邮件 Azure.Sphere@avnet.com从 Avnet 请求详细信息。
UART 示例应用程序
UART_RTApp_MT3620_BareMetal示例演示如何在 RTApp 中通过 UART 进行通信。