專(zhuān)利名稱(chēng):板級(jí)支持包的仿真方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種BSP(Board Specific Package,板級(jí)支持包)仿真,屬于網(wǎng)絡(luò)接入服務(wù)器領(lǐng)域,具體地說(shuō),涉及一種PC(Personal Computer)機(jī)環(huán)境下模擬BSP部分功能以便進(jìn)行上層通訊程序調(diào)試的方法。
目前有一些仿真工具套件,包括仿真板、BDM\JTAG以及與開(kāi)發(fā)工具(如Tornado)集成的仿真調(diào)試軟件,可以對(duì)單板硬件及BSP進(jìn)行測(cè)試并對(duì)上層應(yīng)用程序的調(diào)試提供一定程度的支持。但是,目前這些仿真工具存在下列缺點(diǎn)1、對(duì)硬件和BSP存在一定的依賴(lài)性,實(shí)際上是用仿真單板替代實(shí)際單板達(dá)到測(cè)試目的,目標(biāo)仿真板上一般都需要運(yùn)行BSP程序;2、整套仿真工具的使用比較復(fù)雜,要求上層軟件開(kāi)發(fā)人員必須非常熟悉仿真板、BDM\JTAG以及與開(kāi)發(fā)工具集成的仿真調(diào)試軟件的使用方法;3、仿真工具一般的使用環(huán)境為一臺(tái)HOST調(diào)試機(jī)對(duì)應(yīng)一臺(tái)仿真器,目的在于對(duì)單板硬件、Firmware及BSP本身單板級(jí)的調(diào)試(這些調(diào)試內(nèi)容實(shí)際上只應(yīng)由硬件人員完成,不應(yīng)當(dāng)制約上層軟件開(kāi)發(fā)人員進(jìn)行并行開(kāi)發(fā)),卻無(wú)法提供一套簡(jiǎn)單、可行和有效的系統(tǒng)級(jí)的純軟件調(diào)試支撐平臺(tái)供上層軟件開(kāi)發(fā)調(diào)試使用。
本發(fā)明所述的BSP仿真方法,包括以下步驟1、依據(jù)上層應(yīng)用程序與實(shí)際BSP的接口功能,設(shè)計(jì)BSP仿真對(duì)象;2、在操作系統(tǒng)中增加對(duì)TCP/IP鏈路狀態(tài)的監(jiān)測(cè),并將鏈路的變化以消息形式通知到BSP仿真對(duì)象;3、生成兩個(gè)配置文件,用來(lái)存儲(chǔ)主備標(biāo)志信息,在一個(gè)文件中寫(xiě)入0,表示主用設(shè)備標(biāo)志;在另一文件中寫(xiě)入1,表示備用設(shè)備標(biāo)志;4、在調(diào)試用的PC機(jī)(即HOST調(diào)試機(jī))上分別將BSP仿真對(duì)象加入原有單板項(xiàng)目中并生成包含仿真對(duì)象的單板應(yīng)用程序;5、分別將生成的應(yīng)用程序從調(diào)試PC機(jī)下載到目標(biāo)PC機(jī)上并運(yùn)行;6、通訊應(yīng)用程序?qū)⑼ㄟ^(guò)仿真模塊從啟動(dòng)文件獲得主備標(biāo)志值并分別進(jìn)入主用主控板(P CPB)、備用主控板(B CPB)、主用交換板(P SPB)、備用交換板(B SPB)和ATM用戶(hù)接口卡各自的上電啟動(dòng)流程;7、在系統(tǒng)工作狀態(tài),進(jìn)行以下操作拔掉P CPB與B CPB之間的網(wǎng)線(模擬倒換按鈕引起倒換),以調(diào)試系統(tǒng)的主備倒換控制邏輯;拔掉除主用主控板目標(biāo)PC機(jī)外,其它目標(biāo)PC機(jī)與HUB集線器之間的網(wǎng)線(模擬熱拔單板),以調(diào)試系統(tǒng)的熱拔單板控制邏輯;恢復(fù)除主用主控板目標(biāo)PC機(jī)外其它目標(biāo)PC機(jī)與HUB之間的網(wǎng)線(模擬熱插單板),以調(diào)試系統(tǒng)的熱插單板控制邏輯。
所說(shuō)的步驟1中的BSP仿真對(duì)象,具體實(shí)現(xiàn)了以下具體的功能1)、提供主備競(jìng)爭(zhēng)標(biāo)志;2)、提供單板硬件屬性信息,如槽位號(hào),硬件版本信息,端口信息;3)、提供單板熱插拔離散信號(hào);4)、提供主備倒換離散信號(hào)。實(shí)際應(yīng)用中,BSP是通過(guò)接受硬件離散信號(hào)的高底電平或中斷,并按照一定的規(guī)則轉(zhuǎn)化為寄存器值,再通過(guò)函數(shù)接口供上層軟件調(diào)用,以讀取或設(shè)置該積存器的值。在仿真方法中是設(shè)置一組相應(yīng)的全局變量(包含結(jié)構(gòu)變量)來(lái)模擬單板寄存器值并借助一定的機(jī)制(如主備間消息應(yīng)答、文件系統(tǒng)存取、SOCKET鏈路狀態(tài))來(lái)模擬實(shí)際離散信號(hào)的變化。采用UML(Unified ModelingLanguage,標(biāo)準(zhǔn)建模語(yǔ)言)設(shè)計(jì)工具進(jìn)行設(shè)計(jì)。
所說(shuō)的步驟2中主備倒換離散信號(hào)變化模擬,通過(guò)主備間消息應(yīng)答機(jī)制來(lái)模擬,即備用板定期向主用板發(fā)送查詢(xún)消息,主用板收到查詢(xún)消息隨即發(fā)送應(yīng)答消息,備用板收到有效應(yīng)答則表示主用設(shè)備在正常工作狀態(tài);否則表示主用設(shè)備已無(wú)效。
所說(shuō)的步驟3中主備競(jìng)爭(zhēng)標(biāo)志值的獲得,實(shí)際的BSP是檢測(cè)硬件邏輯未實(shí)行主備競(jìng)爭(zhēng)從而產(chǎn)生互斥的高底電平并轉(zhuǎn)化為標(biāo)志值供上層軟件調(diào)用;BSP仿真方法通過(guò)讀取文件系統(tǒng)所預(yù)先寫(xiě)定的主備標(biāo)志值。單板熱插拔離散信號(hào)模擬,利用各模擬PC間的TCP/IP鏈路狀態(tài)來(lái)模擬,即鏈路由通到斷則表示板被拔掉;鏈路由無(wú)到有則表示板插上。
采用本發(fā)明所述方法,與現(xiàn)有技術(shù)相比,通過(guò)使用本發(fā)明中的BSP仿真方法在PC機(jī)環(huán)境下能夠模擬實(shí)際BSP在單板上的部分功能,為上層軟件的調(diào)試提供了一個(gè)可行的方法。方法簡(jiǎn)單,實(shí)現(xiàn)起來(lái)很方便,徹底擺脫了上層軟件開(kāi)發(fā)調(diào)試對(duì)硬件、BSP及專(zhuān)用測(cè)試設(shè)備的依賴(lài)。降低了開(kāi)發(fā)成本。
圖2是應(yīng)用本發(fā)明BSP仿真平臺(tái)調(diào)試結(jié)構(gòu)示意圖。
請(qǐng)參閱圖2,它是應(yīng)用BSP仿真平臺(tái)調(diào)試結(jié)構(gòu)圖,說(shuō)明了使用本方法建立上層通訊軟件系統(tǒng)調(diào)試的基本結(jié)構(gòu),包括開(kāi)發(fā)調(diào)試機(jī)與目標(biāo)機(jī)的對(duì)應(yīng),主用設(shè)備和備用設(shè)備的連接和調(diào)試以太網(wǎng)連接。
在基于BSP仿真方法在PC機(jī)環(huán)境下對(duì)上層軟件進(jìn)行測(cè)試時(shí),調(diào)試的基本構(gòu)架為P CPB(Primary Control Process Board,主用主控板)+B CPB(BackupControl Process Board,備用主控板)+P SPB(Primary Switch Process Board,主用交換板)+B SPB(Backup Switch Process Board,備用交換板)+ATM(Asychronous Transfer Mode,此專(zhuān)指異步傳輸模式的用戶(hù)接口卡)。實(shí)施例1在BSP仿真平臺(tái)PC機(jī)環(huán)境下系統(tǒng)聯(lián)調(diào)基本配置需求,調(diào)試機(jī)(HOST)和目標(biāo)機(jī)(TARGET)都是PC機(jī),HOST和TARGET間用單獨(dú)的局域網(wǎng)通信。
依據(jù)如下步驟基于使用BSP仿真方法進(jìn)行代碼級(jí)調(diào)試。
主備競(jìng)爭(zhēng)標(biāo)志值測(cè)試過(guò)程1.設(shè)置本地file_flagP中主備標(biāo)志值為0。
2.BSP仿真運(yùn)行并處于主用狀態(tài)(進(jìn)入ST_P_WORK狀態(tài))。
3.設(shè)置本地file_flagB中主備標(biāo)志值為1。
4.BSP仿真運(yùn)行并處于備用狀態(tài)(進(jìn)入ST_B_WORK狀態(tài))。
主備倒換離散信號(hào)變化測(cè)試過(guò)程測(cè)試過(guò)程及結(jié)果1.設(shè)置本地file_flagB中主備標(biāo)志值為1。
2.BSP仿真運(yùn)行并處于備用狀態(tài)。
3.向P CPB發(fā)EV_CC_CPB_SWITCH_REQ事件并進(jìn)入延時(shí),超時(shí)但收不到響應(yīng),m_ucPInvalid由1變0。
單板插拔離散信號(hào)變化測(cè)試測(cè)試過(guò)程及結(jié)果1.設(shè)置本地file_flagP中主備標(biāo)志值為0。
2.BSP仿真運(yùn)行并處于主用狀態(tài)。
3.手工觸發(fā)EV_SC_LINK_READY消息,參數(shù)為ev_ucSlot=2,ev_ucType=1。對(duì)應(yīng)的標(biāo)記值變化,m_arrBoardONorOFF[2]由2變0。
4.手工觸發(fā)EV_SC_LINK_BREAK消息,參數(shù)為ev_ucSlot=2,ev_ucType=1。對(duì)應(yīng)的標(biāo)記值變化,m_arrBoardONorOFF[2]由0變1。
通過(guò)使用可以了解本發(fā)明中的BSP仿真方法,在PC機(jī)環(huán)境下能夠模擬實(shí)際BSP在單板上的部分功能,可以在此平臺(tái)上進(jìn)行對(duì)上層軟件與硬件離散信號(hào)有關(guān)的控制邏輯測(cè)試,并且,可以盡早發(fā)現(xiàn)硬件及BSP設(shè)計(jì)中的各種問(wèn)題,為上層軟件的調(diào)試提供了一個(gè)可行的方法。而且,該BSP仿真方法平臺(tái)的可移植性良好,對(duì)于相關(guān)系列產(chǎn)品的研發(fā)也具有一定的指導(dǎo)意義,并可消除軟件調(diào)試對(duì)硬件開(kāi)發(fā)的必然依賴(lài),這種瓶頸資源的釋放不但大大減小了產(chǎn)品研發(fā)的風(fēng)險(xiǎn),同時(shí)極大地降低了開(kāi)發(fā)成本。
權(quán)利要求
1.一種板級(jí)支持包的仿真方法,其步驟包括1)、依據(jù)上層應(yīng)用程序與實(shí)際板級(jí)支持包的接口功能,設(shè)計(jì)板級(jí)支持包仿真對(duì)象;2)、在操作系統(tǒng)中增加對(duì)TCP/IP鏈路狀態(tài)的監(jiān)測(cè),并將鏈路的變化以消息形式通知板級(jí)支持包的仿真對(duì)象;3)、生成兩個(gè)配置文件,用來(lái)存儲(chǔ)主備標(biāo)志信息,在一個(gè)文件中寫(xiě)入0,表示主用設(shè)備標(biāo)志;在另一個(gè)文件中寫(xiě)入1,表示備用設(shè)備標(biāo)志;4)、在調(diào)試用的PC機(jī)上,分別將板級(jí)支持包的仿真對(duì)象加入原有單板項(xiàng)目中,并生成包含仿真對(duì)象的單板應(yīng)用程序;5)、分別將生成的應(yīng)用程序從上述的調(diào)試PC上下載到目標(biāo)PC機(jī)上并運(yùn)行;6)、通訊應(yīng)用程序?qū)⑼ㄟ^(guò)仿真模塊從啟動(dòng)文件獲得主備標(biāo)志值并分別進(jìn)入主用主控板、備用主控板、主用交換板、備用交換板和ATM用戶(hù)接口卡各自的上電啟動(dòng)流程;7)、在系統(tǒng)工作狀態(tài),進(jìn)行以下操作a.拔掉主用控板與備用主控板之間的網(wǎng)線,以調(diào)試系統(tǒng)的主備倒換控制邏輯;b.拔掉除主用主控板的目標(biāo)PC機(jī)之外的其它的目標(biāo)PC機(jī)與集線器HUB之間的網(wǎng)線,模擬熱拔單板,以調(diào)試系統(tǒng)的熱拔單板控制邏輯;c.恢復(fù)除主用主控板的目標(biāo)PC機(jī)之外的其它的目標(biāo)PC機(jī)與集線器HUB之間的網(wǎng)線,模擬熱插單板,以調(diào)試系統(tǒng)的熱插單板控制邏輯。
2.根據(jù)權(quán)利要求1所述的板級(jí)支持包的仿真方法,其特征在于,所說(shuō)的支持包仿真對(duì)象包括1)、提供主備競(jìng)爭(zhēng)標(biāo)志;2)、提供單板硬件屬性信息;3)、提供單板熱插拔離散信號(hào);4)、提供主備倒換離散信號(hào)。
3.根據(jù)權(quán)利要求2所述的板級(jí)支持包的仿真方法,其特征在于,所說(shuō)的單板硬件屬性信息,包括槽位號(hào)、硬件版本信息和端口信息。
4.根據(jù)權(quán)利要求2所述的板級(jí)支持包的仿真方法,其特征在于,主備倒換離散信號(hào)變化模擬,通過(guò)主備間消息應(yīng)答機(jī)制來(lái)模擬,備用板定期向主用板發(fā)送查詢(xún)消息,主用板收到查詢(xún)消息隨即發(fā)送應(yīng)答消息,備用板收到有效應(yīng)答則表示主用設(shè)備在正常工作狀態(tài);否則表示主用設(shè)備已無(wú)效。
5.根據(jù)權(quán)利要求2所述的板級(jí)支持包的仿真方法,其特征在于,實(shí)際的板級(jí)支持包是由檢測(cè)硬件邏輯來(lái)實(shí)行主備競(jìng)爭(zhēng)而產(chǎn)生互斥的高底電平,該高低電平轉(zhuǎn)化成提供上層軟件調(diào)試的主備競(jìng)爭(zhēng)標(biāo)志。
6.根據(jù)權(quán)利要求2所述的板級(jí)支持包的仿真方法,其特征在于,板級(jí)支持包仿真方法通過(guò)讀取文件系統(tǒng)所預(yù)先寫(xiě)定的主備競(jìng)爭(zhēng)標(biāo)志值來(lái)提供主備競(jìng)爭(zhēng)標(biāo)志。
7.根據(jù)權(quán)利要求2所述的板級(jí)支持包的仿真方法,其特征在于,單板熱插拔離散信號(hào)模擬,系利用各模擬PC機(jī)間的TCP/IP鏈路狀態(tài)來(lái)模擬,鏈路由通到斷則表示板被拔掉;鏈路由無(wú)到有則表示板插上。
全文摘要
一種板級(jí)支持包的仿真方法,其步驟包括1.按上層應(yīng)用程序和板級(jí)支持包設(shè)計(jì)仿真對(duì)象;2.在操作系統(tǒng)中增設(shè)對(duì)TCP/IP鏈路狀態(tài)監(jiān)測(cè),且將其變化以消息形式通知仿真對(duì)象;3.生成存儲(chǔ)主備標(biāo)志信息的配置文件;4.在調(diào)試用機(jī)上將仿真對(duì)象加入原有單板項(xiàng)目中,并生成單板應(yīng)用程序;5.將生成的應(yīng)用程序下載到目標(biāo)用機(jī)上運(yùn)行;6.通訊應(yīng)用程序通過(guò)仿真模塊從啟動(dòng)文件獲得主備標(biāo)志值并進(jìn)入主備主控板、主備交換板和ATM用戶(hù)接口卡各自的電啟動(dòng)流程;7.在系統(tǒng)工作狀態(tài)下操作a.作拔掉主備主控板之間的網(wǎng)線測(cè)試;b.模擬熱拔單板;c.模擬熱插單板。本發(fā)明方法可在PC機(jī)環(huán)境下進(jìn)行,方法簡(jiǎn)單,開(kāi)發(fā)成本低。
文檔編號(hào)G06F9/455GK1420434SQ0113222
公開(kāi)日2003年5月28日 申請(qǐng)日期2001年11月16日 優(yōu)先權(quán)日2001年11月16日
發(fā)明者黃志強(qiáng), 張曉云 申請(qǐng)人:深圳市中興通訊股份有限公司上海第二研究所