framework框架負責固件的通用流程實現,包括系統(tǒng)初始化,module初始化,中斷服務提供,event服務提供等。這樣module就可以專注于自己功能和對外交互api的實現。SCP framework初始化流程圖如下:
module對外接口
在scp代碼中,所有的功能都由一個個模塊提供。每個模塊以api枚舉及其結構體的方式對外提供該模塊的功能,并在模塊通用結構體fwk_module中提供。
event事件
模塊可以給自己或者別的模塊發(fā)送event事件,事件的參數是結構化消息structfwk_event。
notification涉及到兩個模塊的通信,跟event的區(qū)別是:
? ?event是一個模塊發(fā)給另外一個模塊或者發(fā)給自己,比較確定
? ?notification是發(fā)給訂閱了這個模塊的所有模塊,算廣播,需要先進行訂閱
notification接口:
? ?fwk_notification_subscribe//訂閱指定模塊指定通知
? ?fwk_notification_unsubscribe//取消訂閱通知
? ?fwk_notification_notify//向訂閱該通知的模塊發(fā)送通知
在實現上notification使用event的消息傳遞機制,只在發(fā)消息和處理消息的時候做微小改動。
模塊綁定
一個模塊或元素可以綁定到另一個模塊或模塊內的元素。目標是相同的 - 獲取指向可在后續(xù)階段使用的 API的指針。當嘗試綁定到模塊內的元素(而不是模塊本身)時,主要區(qū)別在于接收和處理綁定請求的模塊能夠根據目標元素更改其行為。例如,可以允許請求綁定的模塊僅綁定到處理請求的模塊內的元素子集。
思路:A模塊要與B模塊通信,A模塊的全局變量要拿到B模塊的回調函數。
A模塊在初始化的時候,會調用自己的bind函數,
bind--》fwk_module_bind--》B模塊的process_bind_request()函數,從而拿到api
-
模塊
+關注
關注
7文章
2773瀏覽量
49121 -
ARM
+關注
關注
134文章
9273瀏覽量
373745 -
框架
+關注
關注
0文章
404瀏覽量
17745 -
SCP
+關注
關注
0文章
30瀏覽量
9453
發(fā)布評論請先 登錄
Visual C#中的數據綁定
[每周一練]Actor Framework框架(1125-1201)
CC2640 BLE ZNP有類似host framework框架參考使用嗎?
JS應用開發(fā)框架組件
基于HarmonyOS Java UI使用元數據綁定框架實現UI和數據源的綁定
基于HarmonyOS Java UI,使用元數據綁定框架,實現UI和數據源的綁定
CH372DLL.dll在.NET Framework 4.7.2及以上版本框架會閃退如何解決?
.NET Framework 高級編程

嵌入式應用框架EAF詳解
關于嵌入式應用框架(EAF)的分析
Robot Framework在汽車電子測試中,可以發(fā)揮出多大的作用
鴻蒙開發(fā)接口Ability框架:【@ohos.application.formBindingData (卡片數據綁定類)】

評論