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