專利名稱:一種實現(xiàn)與設備對象無關的dohm軟件接口的制作方法
技術領域:
本發(fā)明涉及軟件系統(tǒng)中(例如嵌入式軟件系統(tǒng))的底層功能軟件(包括驅(qū)動程序)和應用層軟件接口之間實現(xiàn)與設備對象無關的DOHM(DeviceObject Hardware Manager,目標設備硬件管理)軟件接口。
背景技術:
隨著軟件系統(tǒng)越來越復雜和龐大,對數(shù)據(jù)結(jié)構(gòu)和算法的選擇在許多情況下成為較次要的部分,而對軟件系統(tǒng)的模塊化結(jié)構(gòu)要求越來越高。在模塊化設計時,當一個軟件系統(tǒng)中的構(gòu)件之間以一種非標準化的方法描述時,系統(tǒng)的重用性會受到影響,在一個模塊設計過程中的努力很難移植到另一個系統(tǒng)中去。把這樣的系統(tǒng)構(gòu)件移植到另一個系統(tǒng)中去將是有風險的,甚至是不可能的。
在現(xiàn)有模塊化軟件系統(tǒng)中,通常是應用層軟件直接調(diào)用底層功能軟件。如果硬件細節(jié)有所改變,比如模塊、結(jié)構(gòu)、操作系統(tǒng)改變,必將導致底層功能軟件向上的接口發(fā)生改變,而引起應用層軟件對下的接口軟件也要相應改變。
對于上述現(xiàn)象,雖有類似對操作系統(tǒng)增加中間層來實現(xiàn)操作系統(tǒng)無關的接口,從而可以實現(xiàn)對各種操作系統(tǒng)之間的移植,但對整個底層功能軟件的移植仍無一完善的處置方案。
因此,這種稍有一點硬件的改變都將導致軟件修改面較廣,從而增加系統(tǒng)的調(diào)試時間和人力成本的缺陷,是業(yè)內(nèi)人士致力解決的技術問題之
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種對底層功能軟件及操作系統(tǒng)均有屏蔽作用,也即能屏蔽硬件細節(jié)差別的實現(xiàn)與設備對象無關的DOHM軟件接口,從而為應用軟件提供一個標準的接口,便于系統(tǒng)的調(diào)試、維護和移植。
本發(fā)明所提供的一種實現(xiàn)與設備對象無關的DOHM軟件接口,其特征在于它連接在軟件系統(tǒng)中的底層功能軟件和應用層軟件之間,用于實現(xiàn)與設備對象無關,屏蔽硬件細節(jié)差別,為應用層軟件提供一個標準的接口,以便于系統(tǒng)的調(diào)試、維護和移植。
上述的實現(xiàn)與設備對象無關的DOHM軟件接口,包括目標設備訪問管理單元(Doam)、目標設備事件訪問單元(Doea)、目標設備連接單元(Docx)和目標事件連接單元(Doec),其中目標設備訪問管理單元,根據(jù)應用層軟件讀寫操作要求,在已注冊的底層功能軟件接口中進行指配連接,從而間接完成應用層軟件對底層功能軟件的讀寫操作;目標設備事件訪問單元,根據(jù)應用層軟件對傳輸計數(shù)事件及錯誤事件的訪問要求,在已注冊的底層功能軟件接口中進行指配連接;目標設備連接單元,根據(jù)應用層對設定目標的連接要求,在已注冊的底層功能軟件接口中進行指配連接;目標事件連接單元,根據(jù)應用層對事件標識的連接要求,在已注冊的底層功能軟件接口中進行指配連接。
在上述的實現(xiàn)與設備對象無關的DOHM軟件接口中,還包括操作系統(tǒng)接口,用于任務管理、信號量處理和定時功能。
在上述的實現(xiàn)與設備對象無關的DOHM軟件接口中,所述DOHM軟件接口除了初始化函數(shù)以外均根據(jù)應用層軟件訪問類別和參數(shù)來連接應用層軟件和底層功能軟件的。
在上述的實現(xiàn)與設備對象無關的DOHM軟件接口中,所述各單元在其初始化后且底層功能軟件初始化之前,把應用層軟件調(diào)用均指向默認的動作,便于應用程序在底層功能軟件完成之前進行開發(fā)調(diào)試。
采用了上述的技術解決方案,即在底層功能軟件和應用層軟件之間增加了DOHM軟件接口,DOHM層用以屏蔽硬件細節(jié)差別,包括操作系統(tǒng),為應用層軟件提供一個標準的接口。也即允許硬件的改變,比如硬件元器件、結(jié)構(gòu),甚至功能、板卡、操作系統(tǒng)等的改變,而對應用層軟件卻提供不變的接口,從而使軟件系統(tǒng)結(jié)構(gòu)更加清晰明了,便于系統(tǒng)的調(diào)試、維護和移植。本發(fā)明適用于任何有底層功能軟件(包括驅(qū)動程序)和應用層軟件之間,尤其在較大的模塊化軟件系統(tǒng)中更能體現(xiàn)本發(fā)明解決方案的優(yōu)越性。
圖1是本發(fā)明DOHM軟件接口在系統(tǒng)中的結(jié)構(gòu)示意圖;圖2是本發(fā)明DOHM軟件接口的結(jié)構(gòu)示意圖。
具體實施例方式
如圖1所示,軟件系統(tǒng)分為應用層軟件1、DOHM軟件接口2(簡稱DOHM層)和底層功能軟件3。應用層軟件1可以包括錯誤定位程序11、板級測試程序12、調(diào)試程序13等。
在初始化時包括二級內(nèi)容,第一級為DOHM初始化,這時把除了明確的信息類調(diào)用外的所有的應用程序的調(diào)用都指向一個默認動作。第二級為底層初始化,每個功能模塊都有一個初始化函數(shù),初始化時首先通過初始化好的DOHM層學習到板子的類型及功能模塊的個數(shù),各功能模塊的基地址等信息。然后逐個初始化各功能模塊到默認狀態(tài)。再把要被應用程序調(diào)用的底層功能軟件接口注冊到DOHM層。最后分配需要的操作系統(tǒng)資源。這樣應用程序就可以利用標準的接口通過DOHM層來調(diào)用底層功能軟件。
上述的DOHM層,其實上就是一個指針層,位于應用層和底層之間。它把應用層要執(zhí)行的函數(shù)指向底層功能軟件接口。作為指針層,它只起連接指向作用,并不知道底層到底為上層的命令做了什么動作。另外,DOHM層相對比較獨立,當硬件環(huán)境變化時只需改變配置文件就可以了。在DOHM初始化時,DOHM層向應用軟件提供默認的動作。在底層功能軟件初始化時,它把所有的向上接口分類的注冊到DOHM層。只有注冊到DOHM層的底層功能軟件接口才有可能被應用層調(diào)用。底層功能軟件的注冊是通過標準的函數(shù)來實現(xiàn)的,如下dohmFdeclare(object,object_type,operation,attribute,logical_function)第一個參數(shù)object就是訪問單元,前面提到的Doam,Doea,Docx,Doec等;第二個參數(shù)object_type是訪問對象類型,比如以太網(wǎng)交換,數(shù)字信號處理,串口等等;第三個參數(shù)operation是操作類型,比如讀操作,寫操作等;第四個參數(shù)attribute是訪問的屬性,比如設置回環(huán),配置以太網(wǎng)MAC地址等;最后一個參數(shù)logical_function是底層功能軟件實際執(zhí)行的函數(shù)。
注冊后,應用程序就可以根據(jù)這些參數(shù)通過DOHM層調(diào)用底層功能軟件。
下面來說明一下Doam的寫操作,調(diào)用時,先根據(jù)訪問類型和訪問數(shù)得到一個訪問號。如下accId=doamFid(<access type>,<access nbr>);accId是一個帶有前兩個參數(shù)的數(shù)據(jù)結(jié)構(gòu),現(xiàn)在就可以對設備各類型進行讀寫操作,其它幾種訪問的方法也雷同,如下doamFwrite(&accId,doamCatt_…,&value)。
除了初始化函數(shù),應用層對底層的所有調(diào)用都是通過DOHM層來實現(xiàn),本發(fā)明DOHM軟件接口是根據(jù)應用層軟件訪問類別和參數(shù)來連接應用層軟件和底層功能軟件的,向上采用標準的應用接口,向下采用標準的聲明接口,實現(xiàn)與對象無關的軟件接口。
如圖1~2所示,DOHM層包括四類應用層軟件訪問,即第一類,Doam(Device Object Access Management)為目標設備訪問管理單元21;第二類,Doea(Device Object Event on Access)為目標設備事件訪問單元22;第三類,Docx(Device Object Connection)為目標設備連接單元23;以及第四類,Doec(Device Object Event on Connection)為目標事件連接單元24。另外為了獨立于各種操作系統(tǒng),DOHM還增加了一個操作系統(tǒng)接口25。
DOHM層2是根據(jù)這些訪問類別來連接應用層軟件1和底層功能軟件3。
目標設備訪問管理單元21,根據(jù)應用層軟件1讀寫操作要求,在已注冊(或配置)的底層功能軟件接口中,例如以太網(wǎng)、TDM(時分多址)等類型的模塊中進行指配連接,從而間接完成應用層軟件1對以太網(wǎng)、TDM等類型的功能模塊31的讀寫操作。
目標設備事件訪問單元,根據(jù)應用層軟件1對傳輸計數(shù)事件及錯誤事件的訪問要求,在已注冊的底層功能軟件接口中,例如以太網(wǎng)、TDM(時分多址)等類型的功能模塊31中進行指配連接。
目標設備連接單元23,根據(jù)應用層1對兩個目標(例如TDM的兩個時隙)的連接要求,在已注冊的底層功能軟件接口中進行指配連接。
目標事件連接單元24,根據(jù)應用層對事件標識(例如計數(shù)器、狀態(tài)等事件類型、ATM(異步傳輸模式)、Ethernet(以太網(wǎng))等事件性質(zhì)和事件號)的連接要求,在已注冊的底層功能軟件接口中進行指配連接。
操作系統(tǒng)接口25,用于任務管理(例如切換)、信號量處理和定時器(例如中斷等管理)等。
當硬件信息改變,比如硬件元器件有所改變或升級,操作系統(tǒng)的改變,甚至板卡變更,只需改變DOHM層的配置文件和底層功能軟件的注冊函數(shù)。應用層軟件無需改變。這樣升級或移植時可以減少很多接口修改。減少人力成本及錯誤的發(fā)生。另外,為了節(jié)約開發(fā)時間,一般應用層軟件、底層功能軟件及硬件同步開發(fā)。為了隔離應用層軟件、底層功能軟件及硬件,DOHM層可以把所有的應用層軟件調(diào)用都指向默認的動作而不是底層功能軟件。這樣便于應用軟件獨立調(diào)試。加速開發(fā)進程。
本發(fā)明在應用層和底層增加DOHM層,因此肯定會增加代碼量和存儲器容量。而且應用程序不知道任何硬件信息,代碼上看應用程序的調(diào)用不是很直觀。所以在簡單的系統(tǒng)里,或不存在系統(tǒng)硬件改變,升級,移植的軟件結(jié)構(gòu)里不適合使用本發(fā)明。
綜上,本發(fā)明DOHM軟件接口是位于應用層和底層之間實質(zhì)上起一個指針層作用,即把應用層要執(zhí)行的函數(shù)指向底層功能軟件的接口。作為指針層的DOHM層,只起指向連接作用,并不涉及底層為上層命令所作動作的本身。另外,DOHM層相對比較獨立,當硬件環(huán)境變化時只需改變其配置文件即可。因此DOHM層屏蔽了硬件細節(jié)差別和操作系統(tǒng)。
以上實施例僅供說明本發(fā)明之用,而非對本發(fā)明的限制,有關技術領域的技術人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以作出各種變換或變型,因此所有等同的技術方案也應該屬于本發(fā)明的范疇之內(nèi),應由各權利要求限定。
權利要求
1.一種實現(xiàn)與設備對象無關的DOHM軟件接口,其特征在于它連接在軟件系統(tǒng)中的底層功能軟件和應用層軟件之間,用于實現(xiàn)與設備對象無關,屏蔽硬件細節(jié)差別,為應用層軟件提供一個標準的接口,以便于系統(tǒng)的調(diào)試、維護和移植。
2.根據(jù)權利要求1所述的實現(xiàn)與設備對象無關的DOHM軟件接口,其特征在于該DOHM軟件接口包括目標設備訪問管理單元(Doam)、目標設備事件訪問單元(Doea)、目標設備連接單元(Docx)和目標事件連接單元(Doec),其中目標設備訪問管理單元,根據(jù)應用層軟件讀寫操作要求,在已注冊的底層功能軟件接口中進行指配連接,從而間接完成應用層軟件對底層功能軟件的讀寫操作;目標設備事件訪問單元,根據(jù)應用層軟件對傳輸計數(shù)事件及錯誤事件的訪問要求,在已注冊的底層功能軟件接口中進行指配連接;目標設備連接單元,根據(jù)應用層對設定目標的連接要求,在已注冊的底層功能軟件接口中進行指配連接;目標事件連接單元,根據(jù)應用層對事件標識的連接要求,在已注冊的底層功能軟件接口中進行指配連接。
3.根據(jù)權利要求2所述的實現(xiàn)與設備對象無關的DOHM軟件接口,其特征在于它還包括操作系統(tǒng)接口,用于任務管理、信號量處理和定時功能。
4.根據(jù)權利要求2所述的實現(xiàn)與設備對象無關的DOHM軟件接口,其特征在于所述DOHM軟件接口除了初始化函數(shù)以外均根據(jù)應用層軟件訪問類別和參數(shù)來連接應用層軟件和底層功能軟件的。
5.根據(jù)權利要求2所述的實現(xiàn)與設備對象無關的DOHM軟件接口,其特征在于所述各單元在其初始化后且底層功能軟件初始化之前,把應用層軟件調(diào)用均指向默認的動作,以便于應用程序在底層功能軟件完成之前進行開發(fā)調(diào)試。
全文摘要
一種實現(xiàn)與設備對象無關的DOHM軟件接口,連接在底層功能軟件和應用層軟件之間??砂―oam,根據(jù)應用層軟件讀寫操作要求,在已注冊的底層功能軟件接口中進行指配連接,間接完成應用層軟件對底層功能軟件的讀寫操作;Doea,根據(jù)應用層軟件對傳輸計數(shù)事件及錯誤事件的訪問要求,在已注冊的底層功能軟件接口中進行指配連接;Docx,根據(jù)應用層對設定目標的連接要求,在已注冊的底層功能軟件接口中進行指配連接;Doec,根據(jù)應用層對事件標識的連接要求,在已注冊的底層功能軟件接口中進行指配連接。還可包括操作系統(tǒng)接口。本發(fā)明可以屏蔽硬件細節(jié)差別,在硬件改變的情況下,對應用層軟件能提供同樣的接口,以便于系統(tǒng)的調(diào)試、維護和移植,尤其在較大的模塊化軟件系統(tǒng)中更能體現(xiàn)其優(yōu)越性。
文檔編號G06F9/44GK1855034SQ20051002552
公開日2006年11月1日 申請日期2005年4月28日 優(yōu)先權日2005年4月28日
發(fā)明者謝偉, 王江, 靳光學, 詹振七, 楊偉峰 申請人:上海貝爾阿爾卡特股份有限公司