首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> C++ >> C++ 入門

Nucleus PLUS 實時操作系統架構與組件詳解

     編輯:C++ 入門

軟件組件方法學

組件:高內聚、低耦合、接口與實現分離、可獨立替換復用的功能單元。Nucleus PLUS 採用組件化架構,每個組件包含:類型定義頭文件、接口聲明頭文件、C/匯編源文件。

系統架構

  • 運行於支持用戶/管理模式的處理器上,內核與任務均在管理模式運行
  • 簡化實現、降低系統調用開銷,但任務可訪問所有資源
  • 核心頭文件 NUCLEUS.h 包含所有類型、常量、服務函數聲明
  • 錯誤檢查可通過 NU_NO_ERROR_CHECKING 宏關閉以提升性能

16 大核心組件

組件縮寫核心功能
通用服務CS鏈表操作 (增/刪節點),所有控制結構基於鏈表
初始化IN硬件板級初始化 → 組件初始化 → 用戶任務創建 → 調度器啟動
線程控制TC搶占式任務調度 (優先級 0-255)、HISR 管理 (優先級 0-2)、TCB/HCB 鏈表、就緒表數組
時鐘TMTick 定時器、任務睡眠喚醒、用戶定時器、系統時鐘 TMD_System_Clock
郵箱MB4字節消息、任務掛起/喚醒 (FIFO/優先級)、MCB 鏈表
隊列QM多字消息 (32bit單位)、管理同 MB
管道PI字節流消息 (8bit單位)、管理同 MB
信號量SM計數信號量 (0~42億)、任務同步、管理同 MB
事件組EV32位標誌組、位操作同步、管理同 MB
分區內存PM固定大小塊分配、PCB 控制、空閒塊鏈表、任務掛起等待
動態內存DMFirst-fit 變長分配、任務掛起等待、管理同 PM
I/O 驅動I/O統一設備驅動接口 (init/read/write/control)
錯誤處理ER系統錯誤管理
歷史記錄HI歷史設備管理
許可證LI授權管理
版本控制RL版本信息管理

關鍵數據結構

  • TCB (Thread Control Block):任務上下文、優先級、狀態、棧指鈔等
  • 就緒表:256 元素指針數組,每元素為同優先級任務鏈表頭
  • 雙向鏈表:創建對象鏈、掛起任務鏈、空閒內存塊鏈

初始化流程

INT_Initialize()  // 硬件相關,最先運行
  → INC_Initialize()  // 高級初始化
       → 各組件 _Initialize()
       → Application_Initialize()  // 用戶創建任務等
       → TCT_Schedule()  // 首次調度,系統正式運行
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved