一、Azure RTOS概述
Azure RTOS 是一个实时操作系统 (RTOS),适用于由微控制器 (MCU) 提供支持的物联网 (IoT) 和边缘设备, Azure RTOS 旨在支持高度受限设备(电池供电,并且闪存容量不到 64 KB)。简而言之,这就是一套完整的针对于物联网应用开发的带有多线程功能,中间件和桌面端开发工具套件。
二、Azure RTOS 系统组件
Azure RTOS 平台是运行时解决方案的集合,包括 Azure RTOS ThreadX、Azure RTOS NetX 和 NetX Duo、Azure RTOS FileX、Azure RTOS GUIX 和 Azure RTOS USBX。
Azure RTOS v6.2 (发布于Oct.’22) 提供Device Update原生支持
ADU Agent源代码:https://aka.ms/azrots/adu
STM32 示例代码: https://github.com/azure-rtos/samples • https://learn.microsoft.com/en-us/shows/internet-of-thingsshow/a-sneak-peek-into-updating-an-azure-rtos-device-ota
四、Azure RTOS操作ewf嵌入式无线网络
当前在一般地嵌入式无线开发中,会出现以下问题:
1.在MCU上缺乏驱动框架和API标准,增加不少的工作量去完善;
2.不同厂家的 MCU 的通讯驱动开发和优化 ,标准不一;
3. 针对模组自行开发 AT Host 层软件 ,虽然多样化,但很难做到兼容;
4.各个模块自定义的AT指令处理,需要建立不同类的文档;
5.无线模块集成不同层次的TCP/IP协议栈 • 蜂窝、WIFI网络独有的初始化、配置和异常处理流程;
6.生命周期不匹配、供货不稳定,重新适配工作量可复用性低。
Embedded Wireless Framework是一套轻量级的抽象层框架,专门为解决资源受限的嵌 入式应用场景开发 , 兼容C99标准开发,满足MISRA C 2012认证要求 ,提供统一的、可配置的、可扩展的API给应用开发者, 是应用可以轻松运行到不同的硬件平台上,清晰的API和分层设计,解耦模组厂商的驱动和芯片 厂商的驱动,各伙伴各自可以独立完成开发,支持多种RTOS,无OS的Bare-metal实现。
GitHub - Azure/embedded-wireless-framework: Microsoft's Embedded Wireless Framework is a design concept that enables users to abstract application code from host port drivers and communication adapter drivers primarily in microcontroller-based projects.
五、EWF示例工程
1、项目一:
MCU: STM32U585 Discovery Kit
Cellular: Quectel BG95 – Cat-M, NB-IoT
TCP/IP协议栈和MQTT客户端运行在BG95模 块上,连接到Azure IoT Hub
STM32CubeIDE的完整示例工程:embedded-wireless-framework/examples/STM32U585_Discovery_GCC at main · Azure/embedded-wireless-framework · GitHub
2、项目二
MCU: STM32U575 NUCLEO board
WiFi: EMW3080 – 802.11b/g/n
TCP/IP协议栈和MQTT客户端运行在 EMW3080模块上, 连接到Azure IoT Hub
STM32CubeIDE的完整示例工程:embedded-wireless-framework/examples/STM32U575_Nucleo_GCC at main · Azure/embedded-wireless-framework · GitHub