物聯網軟體需求
物聯網設備的多樣性、使用場景可能與傳統嵌入式設備存在較大差異,催生了很多對物聯網作業系統的新需求,核心需求主要有以下幾點:
- 輕量級
物聯網端設備數量巨大,對硬體成本十分敏感,物聯網作業系統應該要輕量級,資源開銷要少,可以在價格低廉、資源緊張的MCU上運行
- 跨平臺
物聯網作業系統除了要支持最常見的Cortex-M體系結構外,還要帶有驅動框架以屏蔽不同硬體平臺的差異,實作應用跨平臺
- 高度可伸縮
從小型的傳感器節點到個人穿戴設備、智慧家電等都可以使用同一套物聯網作業系統來實作,在功能足夠豐富的同時,做到高度可伸縮可裁減,滿足不同應用場景對底層軟體的需求
- 強安全
近年來物聯網大規模化應用越來越多,針對物聯網的攻擊也越來越多,物聯網作業系統應能做到資訊安全和系統安全
- OTA升級
物聯網端設備在運營程序中,功能不斷調整、增加,發現的問題不斷修復,物聯網作業系統應支持FOTA(空中升級)技術,升級做到快速并安全,支持鏡像備份和回滾
- 低功耗
有些物聯網端設備使用電池供電,對低功耗有較高要求,物聯網作業系統應具備優秀的電源管理框架,充分發揮MCU的電源管理、休眠低功耗特性,滿足電池供電應用場景節能需求,降低應用在處理低功耗問題上的難度
- 開發者友好
物聯網作業系統應對開發者友好,降低開發者學習、使用、解BUG成本,還需要對測驗、量產環節友好,實作產品快速上市
MS-RTOS 安全物聯網作業系統特點
MS-RTOS(Micro Safe RTOS)是翼輝資訊全新設計的一款面向未來物聯網需求的新一代小型物聯網作業系統,其顯著的特點是開創性地在沒有 MMU 和資源受限的 MCU(如Cortex-M3)上也能支持多行程與動態裝載技術,使得應用與系統能分離開發、獨立升級;MS-RTOS 支持內核空間記憶體保護(應用程式通過 syscall 訪問內核),使得內核有著非常高的安全性,MS-RTOS 在提供足夠豐富功能的同時,保持了高效簡潔的實作,對 ROM、RAM 消耗極低,特別適用于對硬體成本敏感、安全性要求特別高的產品,與此同時翼輝資訊提供了一套功能強大的集成開發環境 IDE,給開發者在各種開發階段提供了強而有力的支撐,

MS-RTOS主要有以下幾個特點:
- 支持動態裝載APP和多APP運行
MS-RTOS支持動態裝載APP和支持多APP運行,使得應用程式能與系統、驅動程式分離開發、獨立升級,實作了軟體定義設備的理想,使物聯網設備從功能設備轉變為智能設備,類似于功能手機到智能手機的轉變,
MS-RTOS的XIP-ANYWHERE動態裝載技術,無需裝載APP鏡像到 RAM 中執行,大大降低了對RAM的需求,同時片內FLASH XIP運行速度比RAM更快,使得MCU上的動態裝載APP變得真正實用,同時MS-RTOS的應用程式編譯時無需指定運行地址,一次編譯,處處運行,使用更靈活,
- 強安全
安全性方面,MS-RTOS在眾多RTOS中獨樹一幟,達到了前所未有的高度,
- 內核保護
MS-RTOS的APP行程作業在 CPU 用戶態,只能通過系統呼叫(syscall)進入內核, 保護內核不被行程破壞,
- 行程地址隔離
MS-RTOS利用 MPU 或MMU做到行程地址空間相互隔離,鎖定應用問題的作用范圍,避免應用問題傳染,
- APP鏡像數字簽名
MS-RTOS支持對APP鏡像數字簽名,有效阻止了未經簽名或被惡意篡改或偽造的 APP 在目標系統(如智能表計設備)上運行,有效保證了目標系統的安全性,
- 掉電安全檔案系統
MS-RTOS針對各種儲存介質均有掉電安全檔案系統解決方案,保障設備在意外斷電時檔案系統的安全,同時MS-RTOS FLASH檔案系統解決方案支持磨損平衡,有效提高FLASH使用壽命,
- 健康監控
MS-RTOS支持設備健康監控,在驅動或應用出現問題時,能儲存崩潰現場資訊供后續上報云端進行分析,并及時重啟系統或應用,
- APP權限可配置
MS-RTOS支持APP權限配置,限定APP能訪問哪些設備、可以進行哪些系統敏感操作、可以使用多少個內核資源等,有效保證系統安全,
- 輕量級
MS-RTOS使用模塊化設計,并且高度可配置,在內核全功能配置時,只占用50KB FLASH空間,最小配置時FLASH空間占用低至8KB,
- 標準配置:FLASH:50KB,RAM:32KB
- 最小配置:FLASH:8KB,RAM:4KB
- 硬實時
MS-RTOS是一款硬實時的作業系統,內核關鍵演算法時間復雜度均是O(1):
- ns 級中斷回應延遲,支持中斷嵌套
- 基于優先級搶占式調度,調度時間確定
- 支持同優先級執行緒,時間片輪轉 RR 和先來先服務 FIFO 調度
- 互斥量支持優先級繼承,防止優先級翻轉
- 行程切換零損耗
- 支持實時記憶體分配
- 低功耗
MS-RTOS實作了一個功能完整的電源管理框架,幫助應用輕松實作設備低功耗,滿足電池供電應用場景節能需求:
- 支持 Tick-less 技術,減少 Tick 中斷開銷
- 支持CPU和設備調整頻率運行
- 設備低功耗框架
- 系統空閑時 CPU 進入深度睡眠
- OTA升級
MS-RTOS支持 OTA升級技術,能支持APP與系統獨立升級,相比傳統捆綁模式,升級粒度更小、速度更快,此外MS-RTOS還提供了差分包升級的支持,節約通信流量的同時做到實作快速升級,
- 功能豐富
MS-RTOS提供了完善的C庫和C++支持及BSD/socket介面,可移植大量的開源或商業中間件,翼輝也通過開源社區www.github.com/ms-rtos 提供了大量的開源中間件支持,有效滿足高端智能設備的中間件需求:
| 型別 | 中間件 |
| 圖片 | libpng, libjpeg, stb, tjpgd, qrcode |
| 音頻 | mp3, flac, aac, wav |
| AI推理 | cmsis-nn |
| 網路 | lwip_net, esp_at_net, goahead, netutils |
| 無線 | lorawan, nimble, zigbee, openthread |
| 壓縮 | zlib |
| 檔案系統 | fatfs, uffs, yaffs2, littlefs, edgefs |
| GUI | nxp_emwin, st_emwin, st_touchgfx, littlevgl, awtk, guix, u8g2 |
| 格式 | c-capnproto, iniparser, cjson, jsmn, tinycbor,protobuf-c, nanopb, http_parser, nghttp2 |
| 腳本引擎 | jerryscript, lua |
| USB | st_usb_stack, nxp_usb_stack |
| 安全 | tinycrypt, tinydtls, mbedtls |
| 物聯網 | paho-mqtt-embedded-c, paho-mqtt-sn-embedded-c, libcoap, microcoap,liblwm2m, mongoose,sddc |
| 資料庫 | tkvdb, sqlite3 |
| 其它 | coremark, fcb2, freemodbus, openamp |
- 跨平臺、支持眾多芯片
MS-RTOS支持在主流的Cortex-M和C-SKY體系結構CPU上運行,同時MS-RTOS針對不同型別的設備都提供了驅動框架,有效屏蔽不同硬體平臺的差異和簡化驅動開發難度,實作應用跨平臺,目前MS-RTOS支持眾多半導體廠商的主流芯片:
| 廠商 | CPU核心 | CPU型號 |
| ST | Cortex-M0 | STM32F0系列 |
| Cortex-M3 | STM32F1系列 | |
| Cortex-M4 | STM32F4系列 | |
| Cortex-M7 | STM32F7系列 | |
| Cortex-M7 | STM32H7系列 | |
| Cortex-M33 | STM32L5系列 | |
| NXP | Cortex-M7 | i.MX RT 10xx系列 |
| GigaDevice | Cortex-M23 | GD32E23x系列 |
| Cortex-M4 | GD32F30x系列 | |
| Cortex-M4 | GD32F4xx系列 | |
| BEIJING SMARTCHIP MICROELECTRONICSS | Cortex-M4 | SCM4XX系列 |
| Cortex-M4 | SCCB9001xx系列 | |
| CSG | C-SKY 807 | FUXI-M 807 |
解決應用痛點
傳統的小型實時作業系統或物聯網作業系統,使用起來存在較多較大的痛點,主要有以下幾個:
- 安全性差
傳統的RTOS,如FreeRTOS、uCOS,不支持行程和內核保護,應用作業在CPU內核態,沒有真正利用CPU的MPU或MMU,沒有完善的CPU例外處理邏輯,應用有問題時易造成死機或重啟,并且難以分析問題原因
- OTA升級慢
傳統的RTOS,由于不支持動態裝載,應用和內核與驅動只能捆綁在一起鏈接,生成的鏡像比較大,修改一行代碼都需要整體升級,也不支持差分升級,OTA升級速度慢
- 低功耗實作復雜
傳統的RTOS,沒有完整的電源管理框架,只有Tick-less技術難以做到很好的低功耗效果,很難滿足電池供電場景節能需求
- 系統平臺不統一
傳統RTOS,內核功能和中間件都比較少,只能滿足簡單設備的底層軟體需求,難以支撐復雜智能設備的底層軟體需求,造成不同產品線作業系統平臺不統一
- 研發難度大、周期長
傳統的RTOS,不提供對應的集成開發環境、測驗工具,沒有好用的問題分析工具和安全子系統,造成出現問題時分析極為困難,加上功能薄弱,造成研發難度大、周期長
MS-RTOS設計目標就是解決以上痛點,
典型應用
- 智能表計
- 汽車電子
- 醫療儀器
- 智能家居、智能家電
- 智能穿戴設備
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289382.html
標籤:其他
上一篇:【瞎分析】聊聊鴻蒙
下一篇:決策樹可視化
