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

點擊返回自學華爲IoT物流網html

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

1、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_SemTask一、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
  • 低功耗
  • 支持動態加載、分散加載
  • 支持功能靜態剪裁

2、Huawei LiteOS 中間件

 2.1 互聯框架

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

 

 2.2  傳感框架

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

 2.3  安全框架

 2.4  運行引擎

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

 2.5  JavaScript框架

 JS框架優點安全

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

JS虛擬機數據結構

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

3、OPEN的API接口

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

.....多線程

相關文章
相關標籤/搜索