1-什么是SCP
? 執行環境不固定。可以在RTOS或裸機環境中運行。
2-基本構建塊
整個LayOut分為了三層
在這里插入圖片描述
? 模塊:
? 架構不可知
? 模塊執行一組定義明確的操作。
? 框架:
? 依賴于執行環境相關服務的體系結構層
? 為所有模塊提供通用服務,如初始化、事件、通知和中斷處理。
? 體系結構和執行環境不可知
? 推動模塊之間的初始化、協調和交互
? 體系結構:提供依賴于執行環境的功能,如線程、中斷、內存管理等。
1-Modules (struct fwk_module)
? Modules的類型
? 與硬件設備無關的工作或功能。
? 可能是自包含的,不會將任何API暴露給其他模塊
? 為其他模塊提供特定于協議的接口,例如消息傳遞通道的仲裁
? 控制特定設備。
? 可以實現HAL模塊定義的API。
? 驅動可以選擇不使用HAL。
? 一類驅動程序的通用接口,例如傳感器。
? 其他模塊通過HAL API使用平臺驅動程序
? 硬件抽象層:
? 驅動程序:
? 協議:
? 服務
?產品由定義一個或多個固件目標的Product.mk文件組成。?每個固件目標都是在構建產品時構建的二進制映像。?固件目標完全由其模塊集及其配置數據通過結構fwk_module_config定義。
? 結合
? 綁定使模塊能夠使用另一個模塊的一組API。
? 模塊提供的每組API都是唯一標識的。
? 模塊元素可以提供同一組API的不同實現
2-Elements & Sub-Elements
? 元素
? 由模塊擁有和管理的資源。
? 指代設備、協議或服務實例的抽象。
? 例如,驅動程序類型模塊的元素可以代表每個硬件設備它控制的實例。
? 元件是可選的。
? 元件描述。
? 每個元件一個。
? 包含元素配置數據。
? 元素定義如下:
? 包含指向名稱字符串的指針的結構
? 與元素關聯的子元素數量
? 指向模塊定義格式的數據的void指針
? 子元素
? 由一個元素擁有和管理的資源。
? 沒有描述符。
舉個例子:
? SENSOR HAL是一個模塊。
? PVT和熱敏傳感器驅動器是使用傳感器HAL的模塊。
? PVT和熱傳感器分為若干組。每個組都是一個具有自己配置的元素。
? 組中的每個傳感器都是一個子元素。
-
電源
+關注
關注
184文章
17843瀏覽量
251879 -
模塊
+關注
關注
7文章
2736瀏覽量
47765 -
ARM
+關注
關注
134文章
9176瀏覽量
369293 -
SCP
+關注
關注
0文章
29瀏覽量
9289
發布評論請先 登錄
相關推薦
評論