自學華為IoT物聯網_12 Huawei LiteOS基礎架構


點擊返回自學華為IoT物流網

自學華為IoT物聯網_12 Huawei LiteOS基礎架構

一、1個Huawei LiteOS Kernel

 1.1 huawei LiteOS Kernel基本框架圖

 嵌入式開發單片機芯片: 單進程多線程

 1.1.1  Kernel模塊--任務

  • 任務是競爭系統資源的最小運行單元。任務可以使用或等待CPU、使用內存空間等系統資源,並獨立於其它任務運行。
  • Huawei LiteOS的任務模塊提供任務的創建、刪除、延遲、掛起、恢復等功能,以及鎖定和解鎖任務調度。任務是搶占式調度機制,同時支持時間片輪轉調度方式。
  • 常用編程實例:
    如創建2個任務:TaskHi和TaskLo
        TaskHi為高優先級任務
        TaskLo為低優先任務

 1.1.2  Kernel模塊--內存管理

  • 內存管理模塊管理系統的內存資源,它是操作系統的核心模塊之一。
  • Huawei LiteOS的內存管理提供靜態內存和動態內存兩種算法,支持內存申請、釋放。目前支持的內存管理算法有固定大小的BOX算法、動態申請DLINK算法。
  • 通內存統計、內存越界檢測功能。
  • 常用編程實例:
    如初始化一個動態內存池
        在動態內存池中申請一個內存塊
        使用這塊內存塊存放一個數據
        打印出存放在內存塊中的數據
        釋放掉這塊內存

 1.1.3  Kernel模塊--中斷

  • 中斷是指出現需要時,CPU暫停執行當前程序,轉而執行新程序的過程。
  • Huawei LiteOS的中斷支持中斷創建、開/關中斷、恢復中斷、中斷使能、中斷屏蔽等功能。

 1.1.4  Kernel模塊--隊列

  • 隊列又稱消息隊列,是一種常用於任務間通信的數據結構,實現了接收來自任務或中斷的不固定長度的消息,並根據不同接口選擇傳遞消息是否存放在自己空間。
  • Huawei LiteOS的隊列支持隊列的創建、刪除、發送和接受功能。
  • 常用編程實例:
     如 通過LOS_TaskCreate創建任務1和任務2:;
          通過LOS_QueueCreate創建一個消息隊列;
          在任務1 send_Entry中發送消息;
          在任務2 recv_Entry中接收消息;
          通過LOS_QueueDelete刪除隊列

 1.1.5  Kernel模塊--信號量

  • 信號量是一種實現任務間通信的機制,實現任務之間同步或臨界資源的互斥訪問。常用股協助一組相互競爭的任務來訪問臨界資源。
  • Huawei LiteOS的信號量支持信號量的創建、刪除、PV等功能
  • 常用編程實例:
     如
    1. 測試任務Example_Semphore創建一個信號量,鎖任務調度,創建兩個任務Example_SemTask1、Example_SemTask2, Example_SemTask2優先級高於Example_SemTask1;兩個任務中申請同一個信號量,解鎖任務調度后兩任務阻塞,測試任務Example_Semphore釋放信號量;
    2. Example_SemTask2得到信號量,被調度,然后任務休眠20Tick,Example_SemTask2延遲,Example_SemTask1被喚醒;
    3. Example_SemTask1定時阻塞模式申請信號量,等待時間10Tick,因信號量仍被Example_SemTask2持有,Example_SemTask1掛起,10Tick后仍未得到信號量,Example_SemTask1被喚醒,試圖以永久阻塞模式申請信號量,Example_SemTask1掛起;
    4. 20Tick后Example_SemTask2喚醒,釋放信號量后,Example_SemTask1得到信號量被調度運行,最后釋放信號量。
    5. Example_SemTask1執行完,40Tick后任務Example_Semphore被喚醒,執行刪除信號量,刪除兩個任務。

 1.2 huawei LiteOS Kernel的優勢

  • 高實時性,高穩定性
  • 超小內核,基礎內核體積可以剪裁至不到10KB
  • 低功耗
  • 支持動態加載、分散加載
  • 支持功能靜態剪裁

二、Huawei LiteOS 中間件

 2.1 互聯框架

  • 互聯框架解決不同協議終端的互聯互通
  • 優化Mesh自組網能力,滿足海量終端組網

 

 2.2  傳感框架

 傳感框架提供多傳感器統一管理。

 2.3  安全框架

 2.4  運行引擎

  • 更輕框架、更好性能,應用智能化
  • 高性能、輕量級JavaScript虛擬機
    極小的ROM和內存占用空間
    提供獨立用戶空間和應用隔離,保護應用安全
  • 面向互聯網的應用開發框架
    使能輕量級物聯網設備JavaScript開發
    JS框架、JS虛擬機和OS系統優化性能和功耗

 2.5  JavaScript框架

 JS框架優勢

  • 簡化跨硬件平台和中間件的系統集成
  • 用高級語言抽象來隱藏部分變成細節
  • 兼容大量已有的第三方庫來豐富平台功能
  • 虛擬機提供基於語言的安全性

JS虛擬機

  • 針對資源高度受限的設備設計和優化
  • 與OS、應用架構協同來提高性能

三、OPEN的API接口

  • 開放的API屏蔽底層差異,讓應有開發者只需關注上層應用開發
  • 友好的接口設計使得已熟悉在Linux系統上開發應用的開發者,能夠非常平滑的切換到Huawei Lite、OS系統上開發,同時由於Huawei LiteOS系統的精簡內核特性,使得開發者更容易理解內核。

.....


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM