一、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版本下載下傳
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