關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設(shè)計(jì)應(yīng)用 > 面向無(wú)線傳感網(wǎng)絡(luò)的構(gòu)件化開(kāi)發(fā)方法

面向無(wú)線傳感網(wǎng)絡(luò)的構(gòu)件化開(kāi)發(fā)方法

作者: 時(shí)間:2012-10-22 來(lái)源:網(wǎng)絡(luò) 收藏

由圖2 可以看出,系統(tǒng)集成起到一個(gè)橋梁作用,使者簡(jiǎn)化了工作。但是,系統(tǒng)集成在調(diào)用硬件抽象實(shí)現(xiàn)自身功能的時(shí)候出現(xiàn)重復(fù)調(diào)用問(wèn)題。并且構(gòu)件CC2420SpiC 在不同的層(系統(tǒng)集成層和硬件抽象層)都有使用,這本身使得系統(tǒng)集成層和物

理抽象層關(guān)系變得模糊和復(fù)雜,加大者開(kāi)發(fā)難度。

根據(jù)構(gòu)件化系統(tǒng)編程可知,調(diào)用構(gòu)件的接口需要實(shí)現(xiàn)提供接口構(gòu)件中的event 事件。如果多個(gè)構(gòu)件重復(fù)使用同一個(gè)構(gòu)件的同一個(gè)接口,每個(gè)使用該接口的構(gòu)件都需要將該接口中的event 事件執(zhí)行一次。系統(tǒng)集成構(gòu)件同時(shí)調(diào)用相同的硬件抽象層構(gòu)件中的接口命令時(shí),完成命令的signal 事件會(huì)通知每個(gè)使用該接口的構(gòu)件。這就導(dǎo)致了構(gòu)件化系統(tǒng)下編程常見(jiàn)問(wèn)題:扇出(fan-out)。系統(tǒng)為了解決這一問(wèn)題不得不將構(gòu)件性質(zhì)改為generic 類型。而這會(huì)引入新的構(gòu)件調(diào)用模式。所有這些使得系統(tǒng)集成構(gòu)件對(duì)硬件抽象層構(gòu)件的調(diào)用變得比實(shí)際要復(fù)雜,代碼的執(zhí)行效率大大降低。

2 直接調(diào)用底層構(gòu)件描述

對(duì)系統(tǒng)集成構(gòu)件的研究發(fā)現(xiàn),應(yīng)用層構(gòu)件在調(diào)用系統(tǒng)集成構(gòu)件時(shí)最終調(diào)用了硬件抽象層構(gòu)件,只是系統(tǒng)集成構(gòu)件將硬件抽象層構(gòu)件重新整合到某個(gè)大的集成構(gòu)件中,方便用戶查找接口。實(shí)際上,由于嵌入式軟件和硬件結(jié)合性高、硬件資源有限等特點(diǎn),為了使得軟件系統(tǒng)性能達(dá)到最高,嵌入式軟件開(kāi)發(fā)者在開(kāi)發(fā)之前對(duì)硬件已經(jīng)非常熟悉。在這種情況下沒(méi)有必要在硬件抽象層之上硬性加上系統(tǒng)抽象層。對(duì)開(kāi)發(fā)者而言,直接調(diào)用底層硬件抽象層構(gòu)件會(huì)更直觀、簡(jiǎn)單。

具體實(shí)現(xiàn)如圖3 所示,在構(gòu)件操作上對(duì)沒(méi)有引入新功能的構(gòu)件在配線構(gòu)件配線時(shí)候可以跨過(guò)整個(gè)系統(tǒng)集成構(gòu)件,而不會(huì)影響系統(tǒng)功能,并可以簡(jiǎn)化開(kāi)發(fā)過(guò)程,提高運(yùn)行效率。以下將這一簡(jiǎn)稱為直接調(diào)用法。

圖3 構(gòu)件簡(jiǎn)化過(guò)程

圖3 中構(gòu)件1 和構(gòu)件2 不是提供最底層功能的構(gòu)件,它們將底層構(gòu)件3、構(gòu)件4 和構(gòu)件5 進(jìn)行重新整合,最終使用的是構(gòu)件3、構(gòu)件4 和構(gòu)件5 的功能。所以,通過(guò)改進(jìn)后的方案中,讓應(yīng)用構(gòu)件直接調(diào)用構(gòu)件3、構(gòu)件4 和構(gòu)件5,讓構(gòu)件1 和構(gòu)件2 的功能交給應(yīng)用構(gòu)件去完成,這樣提高了代碼的執(zhí)行效率和開(kāi)發(fā)效率。實(shí)際上,結(jié)合構(gòu)件化系統(tǒng)可知,圖3 的簡(jiǎn)化過(guò)程解決了扇出問(wèn)題,應(yīng)用構(gòu)件只要調(diào)用了一個(gè)硬件抽象層構(gòu)件,就可以在應(yīng)用構(gòu)件內(nèi)任何需要的地方去調(diào)用硬件抽象構(gòu)件所提供的接口中命令。配線構(gòu)件在配線時(shí)也變的簡(jiǎn)單,沒(méi)有系統(tǒng)集成構(gòu)件中多個(gè)硬件抽象層構(gòu)件的重復(fù)配線操作。

對(duì)構(gòu)件化系統(tǒng)以及底層硬件抽象構(gòu)件和各具體芯片研究分析可知,系統(tǒng)集成構(gòu)件都是起到上述作用,同時(shí)又引入新的問(wèn)題。若開(kāi)發(fā)人員對(duì)硬件抽象構(gòu)件熟悉,就完全可以跨過(guò)系統(tǒng)集成構(gòu)件而直接使用硬件抽象層提供的構(gòu)件。這樣就簡(jiǎn)化了原方案中系統(tǒng)集成構(gòu)件之間繁雜的調(diào)用關(guān)系,更重要的是可以大大提高系統(tǒng)的運(yùn)行效率,還以CC2420 系統(tǒng)集成構(gòu)件為例,其改進(jìn)后的構(gòu)件調(diào)用方案如圖4 所示:

圖4 改進(jìn)方案中構(gòu)件間關(guān)系



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉