SCP固件執(zhí)行步驟
運行前階段:按固定順序排列的5個階段
? 模塊初始化:框架使用模塊配置數(shù)據(jù)調(diào)用的模塊的.init()函數(shù)。
? 元素初始化:帶有元素配置數(shù)據(jù)的框架調(diào)用的模塊的.Element_init()函數(shù)。只有當模塊具有元素時,此階段才有效。
? 初始化后:框架調(diào)用的模塊的.Post_init()函數(shù)。元素數(shù)據(jù)提供給模塊后的任何額外初始化??蛇x階段。
?框架調(diào)用的模塊的Bind:.Bind()函數(shù)。模塊和元素綁定到其他模塊和元素??蛇x階段。
? 框架調(diào)用的模塊的Start:.Start()函數(shù)。模塊可以使用其他模塊的資源來完成初始化。
可選階段。
? 主要由模塊之間的交互引導的正常執(zhí)行流程。
? 生成和處理的事件、通知和響應。
模塊間通信
Events
事件:交流請求/響應的抽象。在被調(diào)用者上下文中實現(xiàn)邏輯任務的機制。?模塊提了.procse_event()處理程序,當找到事件目標模塊時,F(xiàn)ramework會調(diào)用該處理程序。?當與請求相關的任務完成時,可能會發(fā)送響應事件。響應可以作為事件處理的一部分發(fā)送,也可以稍后發(fā)送。–延遲響應:稍后發(fā)送響應,而不是在處理事件后立即發(fā)送–標準響應:一旦.produce_event()返回,F(xiàn)ramework就會生成響應。–響應是一個設置了響應標志的事件。固件以與事件相同的方式進行處理。
Notifications
通知:設置了通知字段的事件。?模塊可以訂閱來自其他模塊的通知。通知由框架廣播到所有訂閱的模塊。?可用于實現(xiàn)依賴鏈。–例如,如果在系統(tǒng)電源轉(zhuǎn)換之前,我們可能需要更改時鐘或設置一些
喚醒處理。模塊可以使用來自系統(tǒng)電源模塊的通知。
事件處理
創(chuàng)建事件-put_event()
put_event_and_wait()
模塊不使用公共/框架線程。線程阻塞,直到事件得到處理并生成響應。
處理事件
在框架/公共線程或模塊線程上下文中處理的事件
-
模塊
+關注
關注
7文章
2672瀏覽量
47345 -
ARM
+關注
關注
134文章
9054瀏覽量
366834 -
通信
+關注
關注
18文章
5973瀏覽量
135865 -
固件
+關注
關注
10文章
550瀏覽量
22973 -
SCP
+關注
關注
0文章
29瀏覽量
9234
發(fā)布評論請先 登錄
相關推薦
評論