專利名稱:機載嵌入式軟件開發(fā)平臺的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種開發(fā)平臺,特別是涉及一種機載嵌入式軟件開發(fā)平臺。
背景技術(shù):
隨著機載航空電子系統(tǒng)的不斷發(fā)展,越來越多的航電功能改由機載軟件來實現(xiàn),機載軟件規(guī)模呈數(shù)量級的增加,機載軟件的復(fù)雜性呈指數(shù)倍增長,例如F-22機載軟件源程序多達170萬行,而F-35機載軟件源程序更是多達500萬行。更多的軟件代碼意味著更多的開發(fā)和調(diào)試工作。然而由于嵌入式軟件的特殊性,其開發(fā)調(diào)試與目標機的狀態(tài)密切相關(guān)沒有可以運行的硬件,就無法進行調(diào)試工作。待目標機開發(fā)調(diào)試完畢,才可以進行開發(fā)機-目標機聯(lián)調(diào)。然而,傳統(tǒng)的調(diào)試模式 是宿主機編譯一加載至目標機一目標機運行一發(fā)現(xiàn)問題一宿主機修改代碼一宿主機編譯一加載至目標機一目標機運行一發(fā)現(xiàn)問題等。以上的開發(fā)過程,由于需要做大量的重復(fù)無用功,導(dǎo)致開發(fā)效率無法提高。更重要的是,無法擺脫硬件對軟件開發(fā)的束縛,使得型號的研制呈明顯的先硬后軟的串行模式。然而由于型號項目的日益緊迫,機載航空電子系統(tǒng)的開發(fā)周期不斷被壓縮。硬件的開發(fā)周期由于受元器件采購、印制板的調(diào)試生產(chǎn)等因素的影響,壓縮空間有限。而軟件的開發(fā)調(diào)試又必需建立在硬件的基礎(chǔ)上,使得機載航空電子系統(tǒng)的開發(fā)周期不得不延長,從而影響型號項目的研制。因此,迫切地需要改進傳統(tǒng)的機載嵌入式軟件開發(fā)模式,然而始終沒有完善的解決方案,僅有美國風河公司的Simics軟件具備在二進制層面上對軟件目標代碼的仿真運行能力,能夠一定程度上緩解硬件對軟件開發(fā)的束縛,但是對特定硬件的建模仿真工作又成了新的制約。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提供一種機載嵌入式軟件開發(fā)平臺,軟件開發(fā)人員利用本發(fā)明機載嵌入式軟件開發(fā)平臺能夠使用虛擬系統(tǒng)開發(fā)這種全新的開發(fā)模式,在脫離物理硬件的虛擬平臺進行系統(tǒng)定義、軟件開發(fā)、集成和部署,從而提高軟件開發(fā)效率,確保能夠及時提交高質(zhì)量的機載嵌入式軟件。本發(fā)明是通過下述技術(shù)方案來解決上述技術(shù)問題的一種機載嵌入式軟件開發(fā)平臺,其特征在于,所述機載嵌入式軟件開發(fā)平臺包括開發(fā)平臺管理模塊、嵌入式應(yīng)用模塊、數(shù)據(jù)仿真驅(qū)動模塊、SRU驅(qū)動接口模擬模塊、VxfforksAPI接口模擬模塊、分系統(tǒng)管理仿真模塊、LRU控制仿真模塊和顯示仿真模塊;開發(fā)平臺管理模塊用于在開發(fā)平臺內(nèi)部管理嵌入式應(yīng)用模塊、數(shù)據(jù)仿真驅(qū)動模塊、SRU驅(qū)動接口模擬模塊和VxWorks API接口模擬模塊,并以多進程的方式調(diào)度分系統(tǒng)管理仿真模塊、LRU控制仿真模塊和顯示仿真模塊以及維護相關(guān)窗口句柄;嵌入式應(yīng)用模塊用以實現(xiàn)嵌入式系統(tǒng)功能的核心軟件,具有與硬件無關(guān)的高度可移植性,可以無需任何調(diào)整地在真實硬件環(huán)境或開發(fā)平臺中運行;在真實硬件環(huán)境中,由Vxfforks嵌入式操作系統(tǒng)和板級支持包提供運行支撐;而在開發(fā)平臺中,則由VxWorks API接口模擬模塊和SRU驅(qū)動接口模擬模塊提供運行支撐;數(shù)據(jù)仿真驅(qū)動模塊根據(jù)指定的邏輯通過直接修改嵌入式應(yīng)用模塊內(nèi)定義的全局變量的方式仿真分系統(tǒng)和LRU的各種狀態(tài),為嵌入式應(yīng)用模塊的實時運行提供期望的激勵,是非常便捷的調(diào)試和排查軟件故障的技術(shù)手段;SRU驅(qū)動接口模擬模塊通過在接口上與板級支持包保持一致,為嵌入式應(yīng)用模塊的運行提供與真實條件完全一致的運行環(huán)境;并通過創(chuàng)建共享緩沖區(qū)與分系統(tǒng)管理仿真模塊、LRU控制仿真模塊和顯示仿真模塊進行交聯(lián),實現(xiàn)數(shù)據(jù)的交互,以體現(xiàn)嵌入式應(yīng)用模塊的運行結(jié)果并為嵌入式應(yīng)用模塊引入外界激勵;Vxfforks API接口模擬模塊通過在API接口上與VxWorks嵌入式操作系統(tǒng)保持一致,為嵌入式應(yīng)用模塊的運行提供與真實條件完全一致的操作系統(tǒng)環(huán)境;
分系統(tǒng)管理仿真模塊用于實現(xiàn)分系統(tǒng)的仿真功能,由開發(fā)平臺管理模塊調(diào)度,并通過共享緩沖區(qū)與SRU驅(qū)動接口模擬模塊交聯(lián),基于分系統(tǒng)接口控制文件響應(yīng)嵌入式應(yīng)用模塊的命令并向其發(fā)送狀態(tài)信息;LRU控制仿真模塊用于實現(xiàn)LRU的仿真功能,由開發(fā)平臺管理模塊調(diào)度,并通過共享緩沖區(qū)與SRU驅(qū)動接口模擬模塊交聯(lián),基于串行通信規(guī)約響應(yīng)嵌入式應(yīng)用模塊的命令并向其發(fā)送狀態(tài)信息;顯示仿真模塊用于實現(xiàn)仿真顯示功能,由開發(fā)平臺管理模塊調(diào)度,并通過共享緩沖區(qū)與SRU驅(qū)動接口模擬模塊交聯(lián),解釋嵌入式應(yīng)用模塊發(fā)送的顯示文件并在虛擬顯示終端上作圖。優(yōu)選地,所述機載嵌入式軟件開發(fā)平臺初始化時,根據(jù)外部激勵是由分系統(tǒng)管理仿真模塊和LRU控制仿真模塊產(chǎn)生還是由數(shù)據(jù)仿真驅(qū)動模塊產(chǎn)生,選擇是否調(diào)用數(shù)據(jù)仿真驅(qū)動模塊;同時,以多進程的方式調(diào)度分系統(tǒng)管理仿真模塊、LRU控制仿真模塊和顯示仿真模塊以及維護相關(guān)窗口句柄;然后調(diào)度嵌入式應(yīng)用模塊進入實時運行。優(yōu)選地,所述嵌入式應(yīng)用模塊包括以下模塊分系統(tǒng)處理模塊,分系統(tǒng)處理模塊基于分系統(tǒng)接口控制文件響應(yīng)分系統(tǒng)管理仿真模塊或真實分系統(tǒng)的狀態(tài)變化并向其發(fā)送控制命令;LRU處理模塊,LRU處理模塊基于串行通信規(guī)約響應(yīng)LRU控制仿真模塊或真實LRU的狀態(tài)變化并向其發(fā)送控制命令;顯示處理模塊,顯示處理模塊則根據(jù)飛行操作程序的要求,將繪圖指令和圖符/字符代碼組織成顯示文件送顯示仿真模塊或真實顯示設(shè)備顯示。優(yōu)選地,所述SRU驅(qū)動接口模擬模塊包括以下模塊多路總線接口模擬模塊,多路總線接口模擬模塊用于嵌入式應(yīng)用模塊與分系統(tǒng)管理仿真模塊之間的交互;輸入輸出接口控制模擬模塊,輸入輸出接口控制模擬模塊用于嵌入式應(yīng)用模塊和LRU控制仿真模塊之間的交互;字符發(fā)生邏輯模擬模塊,字符發(fā)生邏輯模擬模塊用于嵌入式應(yīng)用模塊和顯示仿真模塊之間的交互;
共享緩沖區(qū)管理模塊,共享緩沖區(qū)管理模塊用于在開發(fā)平臺和分系統(tǒng)管理仿真模塊、LRU控制仿真模塊以及顯示仿真模塊之間實現(xiàn)進程間通訊。優(yōu)選地,所述VxWorks API接口模擬模塊包括以下模塊任務(wù)管理模塊,任務(wù)管理模塊以多線程的技術(shù)手段為嵌入式應(yīng)用模塊提供實時多任務(wù)的創(chuàng)建、運行、管理和延遲;信號量管理模塊,信號量管理模塊實現(xiàn)信號量的創(chuàng)建、獲取和釋放功能,用于為嵌入式應(yīng)用模塊的運行提供多任務(wù)同步與互斥;中斷管理模塊,中斷管理模塊實現(xiàn)中斷的使能、禁用和中斷服務(wù)程序掛接,用于為嵌入式應(yīng)用模塊和SRU驅(qū)動接口模擬模塊提供中斷交互的能力;系統(tǒng)時鐘管理模塊,系統(tǒng)時鐘管理模塊用于為嵌入式應(yīng)用模塊提供系統(tǒng)時鐘和輔 助時鐘相關(guān)設(shè)置以及中斷響應(yīng);消息隊列管理模塊,消息隊列管理模塊實現(xiàn)消息隊列的創(chuàng)建、發(fā)送和接收功能,用于為嵌入式應(yīng)用模塊和SRU驅(qū)動接口模擬模塊提供數(shù)據(jù)序列安全交互的能力;軟件看門狗計時器,軟件看門狗計時器用于為嵌入式應(yīng)用模塊中的任意任務(wù)提供延時調(diào)用函數(shù)功能;消息日志模塊,消息日志模塊用于為嵌入式應(yīng)用模塊的運行提供消息打印功能,以便于了解軟件的運行情況。優(yōu)選地,所述分系統(tǒng)管理仿真模塊包括以下模塊狀態(tài)設(shè)置模塊,狀態(tài)設(shè)置模塊基于分系統(tǒng)接口控制文件提供界面供用戶輸入分系統(tǒng)狀態(tài),并將完成輸入的新狀態(tài)通過共享緩沖區(qū)發(fā)送到多路總線接口模擬模塊;命令顯示與處理模塊,命令顯示與處理模塊基于分系統(tǒng)接口控制文件通過共享緩沖區(qū)從多路總線接口模擬模塊接收新的命令,根據(jù)指定邏輯進行處理,并提供界面供用戶查看。優(yōu)選地,所述LRU控制仿真模塊主要包括以下模塊LRU控制操作仿真界面,LRU控制操作仿真界面通過鼠標或觸屏的方式接收用戶的輸入,基于串行通信規(guī)約組織操作消息發(fā)送到輸入輸出接口控制模擬模塊;命令處理模塊,命令處理模塊基于串行通信規(guī)約通過共享緩沖區(qū)從輸入輸出接口控制模擬模塊接收新的命令,根據(jù)指定邏輯進行處理。優(yōu)選地,所述顯示仿真模塊主要包括以下模塊平顯顯示仿真模塊,平顯顯示仿真模塊根據(jù)圖形指令集和平顯符號庫解析從字符發(fā)生邏輯模擬模塊接收到的平顯顯示文件,并利用OpenGL指令將解析結(jié)果顯示于窗口中供用戶查看;下顯顯示仿真模塊,下顯顯示仿真模塊根據(jù)圖形指令集和下顯符號庫解析從字符發(fā)生邏輯模擬模塊接收到的下顯顯示文件,并利用OpenGL指令將解析結(jié)果顯示于窗口中供用戶查看。本發(fā)明的積極進步效果在于本發(fā)明解決現(xiàn)有機載嵌入式軟件開發(fā)無法擺脫硬件的束縛,從而造成軟件開發(fā)周期過長的問題。軟件開發(fā)人員利用本發(fā)明能夠使用虛擬系統(tǒng)開發(fā)這種全新的開發(fā)模式,在脫離物理硬件的虛擬平臺進行系統(tǒng)定義、軟件開發(fā)、集成和部署,從而提高軟件開發(fā)效率,確保能夠及時提交高質(zhì)量的機載嵌入式軟件。本發(fā)明使所設(shè)計軟件的開發(fā)與調(diào)試過程與具體硬件環(huán)境無關(guān),提高了嵌入式軟件的可移植性,解決了機載嵌入式軟件開發(fā)受限于目標機硬件束縛的問題,取得了節(jié)省開發(fā)時間和成本以及豐富調(diào)試技術(shù)手段等有益效果。
圖I是機載嵌入式軟件的真實運行環(huán)境框圖;圖2是本發(fā)明機載嵌入式軟件開發(fā)平臺的功能框圖;圖3是嵌入式應(yīng)用模塊的框圖;圖4是SRU驅(qū)動接口模擬模塊的框圖;圖5是VxWorks API接口模擬模塊的框圖; 圖6是分系統(tǒng)管理仿真模塊的框圖;圖7是LRU控制仿真模塊的框圖;圖8是顯示仿真模塊的框圖。
具體實施例方式為了使本發(fā)明實現(xiàn)的技術(shù)手段、創(chuàng)作特征、達成目的與功效易于明白了解,下面結(jié)合具體圖示,進一步闡述本發(fā)明。圖I是機載嵌入式軟件的真實運行環(huán)境框圖。如圖I所示,機載嵌入式軟件運行于LRU (外場可更換單元)的某一 SRU (內(nèi)場可更換單元)上,通過內(nèi)部總線與其他SRU交互;該LRU則通過信號線纜與航電分系統(tǒng)、其他LRU以及顯示設(shè)備交聯(lián)。以上構(gòu)成了機載嵌入式軟件的真實運行環(huán)境。圖2是本發(fā)明機載嵌入式軟件開發(fā)平臺功能框圖。本發(fā)明機載嵌入式軟件開發(fā)平臺包括一套獨立的通用計算模塊。如圖2所示,上述的通用計算模塊包括開發(fā)平臺管理模塊[101],開發(fā)平臺管理模塊[101]用于在開發(fā)平臺內(nèi)部管理嵌入式應(yīng)用模塊[102]、數(shù)據(jù)仿真驅(qū)動模塊[103]、SRU驅(qū)動接口模擬模塊[104]和VxWorks API接口模擬模塊[105],并以多進程的方式調(diào)度分系統(tǒng)管理仿真模塊[106]、LRU控制仿真模塊[107]和顯示仿真模塊[108]以及維護相關(guān)窗口句柄;開發(fā)平臺管理模塊[101]、數(shù)據(jù)仿真驅(qū)動模塊[103]、SRU驅(qū)動接口模擬模塊[104]、VxWorkS API接口模擬模塊[105]都與嵌入式應(yīng)用模塊[102]連接;嵌入式應(yīng)用模塊[102]用以實現(xiàn)嵌入式系統(tǒng)功能的核心軟件,具有與硬件無關(guān)的高度可移植性,可以無需任何調(diào)整地在真實硬件環(huán)境或開發(fā)平臺中運行。在真實硬件環(huán)境中,由VxWorks嵌入式操作系統(tǒng)和板級支持包提供運行支撐;而在開發(fā)平臺中,則由Vxfforks API接口模擬模塊[105]和SRU驅(qū)動接口模擬模塊[104]提供運行支撐;數(shù)據(jù)仿真驅(qū)動模塊[103]根據(jù)指定的邏輯通過直接修改嵌入式應(yīng)用模塊[102]內(nèi)定義的全局變量的方式仿真分系統(tǒng)和LRU的各種狀態(tài),為嵌入式應(yīng)用模塊[102]的實時運行提供期望的激勵,是非常便捷的調(diào)試和排查軟件故障的技術(shù)手段;SRU驅(qū)動接口模擬模塊[104]通過在接口上與板級支持包保持一致(包括全局變量接口和調(diào)用函數(shù)接口等),為嵌入式應(yīng)用模塊[102]的運行提供與真實條件完全一致的運行環(huán)境;并通過創(chuàng)建共享緩沖區(qū)與分系統(tǒng)管理仿真模塊[106]、LRU控制仿真模塊[107]和顯示仿真模塊[108]進行交聯(lián),實現(xiàn)數(shù)據(jù)的交互,以體現(xiàn)嵌入式應(yīng)用模塊[102]的運行結(jié)果并為嵌入式應(yīng)用模塊[102]引入外界激勵;Vxfforks API接口模擬模塊[105]通過在API接口上與VxWorks嵌入式操作系統(tǒng)保持一致,為嵌入式應(yīng)用模塊[102]的運行提供與真實條件完全一致的操作系統(tǒng)環(huán)境,并通過調(diào)用Windows API實現(xiàn)相關(guān)操作系統(tǒng)功能,為嵌入式應(yīng)用模塊[102]的運行提供完全透明的操作系統(tǒng)支持;
分系統(tǒng)管理仿真模塊[106]用于實現(xiàn)分系統(tǒng)的仿真功能,由開發(fā)平臺管理模塊調(diào)度,并通過共享緩沖區(qū)與SRU驅(qū)動接口模擬模塊[104]交聯(lián),基于分系統(tǒng)接口控制文件響應(yīng)嵌入式應(yīng)用模塊[102]的命令并向其發(fā)送狀態(tài)信息;LRU控制仿真模塊[107]用于實現(xiàn)LRU的仿真功能,由開發(fā)平臺管理模塊[101]調(diào)度,并通過共享緩沖區(qū)與SRU驅(qū)動接口模擬模塊[104]交聯(lián),基于串行通信規(guī)約響應(yīng)嵌入式應(yīng)用模塊[102]的命令并向其發(fā)送狀態(tài)信息;顯示仿真模塊[108]用于實現(xiàn)仿真顯示功能,由開發(fā)平臺管理模塊[101]調(diào)度,并通過共享緩沖區(qū)與SRU驅(qū)動接口模擬模塊[104]交聯(lián),解釋嵌入式應(yīng)用模塊[102]發(fā)送的顯示文件并在虛擬顯示終端上作圖。機載嵌入式軟件開發(fā)平臺初始化時,根據(jù)外部激勵是由分系統(tǒng)管理仿真模塊[106]和LRU控制仿真模塊[107]產(chǎn)生還是由數(shù)據(jù)仿真驅(qū)動模塊[103]產(chǎn)生,選擇是否調(diào)用數(shù)據(jù)仿真驅(qū)動模塊[103];同時,以多進程的方式調(diào)度分系統(tǒng)管理仿真模塊[106]、LRU控制仿真模塊[107]和顯示仿真模塊[107]以及維護相關(guān)窗口句柄;然后調(diào)度嵌入式應(yīng)用模塊進入實時運行。結(jié)合圖I和圖2可以看出,通過利用SRU驅(qū)動接口模擬模塊[104]和VxWorks API接口模擬模塊[105]、分系統(tǒng)管理仿真模塊[106]、LRU控制仿真模塊[107]和顯示仿真模塊[108]對真實硬件進行基于接口的對應(yīng)替換,使得嵌入式軟件可以無需任何調(diào)整地在真實硬件環(huán)境或開發(fā)平臺中無差別地運行。根據(jù)機載嵌入式軟件開發(fā)平臺,用戶在開發(fā)平臺中開發(fā)機載嵌入式軟件并利用Visual Studio進行編譯和調(diào)試;用戶可以通過分系統(tǒng)管理仿真模塊和LRU控制仿真模塊進行輸入操作,產(chǎn)生相應(yīng)的分系統(tǒng)狀態(tài)信息或LRU操作消息經(jīng)過共享緩沖區(qū)管理模塊傳遞到多路總線接口模擬模塊或輸入輸出接口控制模擬模塊,從而被嵌入式應(yīng)用模塊接收;嵌入式應(yīng)用模塊基于分系統(tǒng)接口控制文件和串行通信規(guī)約響應(yīng)分系統(tǒng)狀態(tài)信息或LRU操作消息的激勵,并將新的命令通過多路總線接口模擬模塊或輸入輸出接口控制模擬模塊經(jīng)共享緩沖區(qū)管理模塊送往分系統(tǒng)管理仿真模塊和LRU控制仿真模塊,從而完成與用戶的操作交互;用戶也可以通過數(shù)據(jù)仿真驅(qū)動模塊直接修改全局變量的方式直接為嵌入式應(yīng)用模塊的實時運行提供期望的激勵;嵌入式應(yīng)用模塊基于當前狀態(tài)根據(jù)飛行操作程序的要求,調(diào)用字符發(fā)生邏輯模擬模塊生成顯示文件經(jīng)共享緩沖區(qū)管理模塊送往顯示仿真模塊,從而完成與用戶的視覺交互。圖3是嵌入式應(yīng)用模塊的框圖,如圖3所示,其主要包括以下模塊分系統(tǒng)處理模塊[201],分系統(tǒng)處理模塊[201]基于分系統(tǒng)接口控制文件響應(yīng)分系統(tǒng)管理仿真模塊[106]或真實分系統(tǒng)的狀態(tài)變化并向其發(fā)送控制命令;LRU處理模塊[202],LRU處理模塊[202]基于串行通信規(guī)約響應(yīng)LRU控制仿真模塊[107]或真實LRU的狀態(tài)變化并向其發(fā)送控制命令;顯示處理模塊[203],顯示處理模塊[203]則根據(jù)飛行操作程序的要求,將繪圖指令和圖符/字符代碼組織成顯示文件送顯示仿真模塊[108]或真實顯示設(shè)備(平視顯示器和/或下視顯示器)顯示。通過在嵌入式應(yīng)用模塊[102]之外直接編程修改嵌入式應(yīng)用模塊[102]內(nèi)定義的全局變量的方式仿真分系統(tǒng)和LRU的各種狀態(tài),為嵌入式應(yīng)用模塊[102]的實時運行提供期望的激勵。可以避免仿真復(fù)雜的狀態(tài)和時序,直接復(fù)現(xiàn)特定的嵌入式應(yīng)用模塊[102]運行狀態(tài),為軟件調(diào)試和排查軟件故障的提供有力的技術(shù)手段。嵌入式應(yīng)用模塊[102]可以忽略運行平臺的差異,在VxWorks API接口模擬模塊[105]和SRU驅(qū)動接口模擬模塊[104]支持下調(diào)試運行,其運行結(jié)果可以直觀地在顯示仿真模塊[108]、LRU控制仿真模塊[107]和分系統(tǒng)管理仿真模塊[107]上進行觀察。圖4是SRU驅(qū)動接口模擬模塊的框圖,如圖4所示,其主要包括以下模塊 多路總線接口模擬模塊[401],多路總線接口模擬模塊[401]用于嵌入式應(yīng)用模塊[102]與分系統(tǒng)管理仿真模塊[106]之間的交互;輸入輸出接口控制模擬模塊[402],輸入輸出接口控制模擬模塊[402]用于嵌入式應(yīng)用模塊[102]和LRU控制仿真模塊[107]之間的交互;字符發(fā)生邏輯模擬模塊[403],字符發(fā)生邏輯模擬模塊[403]用于嵌入式應(yīng)用模塊[102]和顯示仿真模塊[108]之間的交互;共享緩沖區(qū)管理模塊[404],共享緩沖區(qū)管理模塊[404]用于在開發(fā)平臺和分系統(tǒng)管理仿真模塊[106]、LRU控制仿真模塊[107]以及顯示仿真模塊[108]之間實現(xiàn)進程間通訊。SRU驅(qū)動接口模擬模塊提供與板級支持包完全一致的全局變量接口和調(diào)用函數(shù)接口等,讓嵌入式應(yīng)用模塊[102]在開發(fā)平臺上的運行有著真實條件完全一致的環(huán)境;并通過創(chuàng)建共享緩沖區(qū)與分系統(tǒng)管理仿真模塊[106]、LRU控制仿真模塊[107]和顯示仿真模塊[108]進行交聯(lián);是嵌入式應(yīng)用模塊[102]和分系統(tǒng)管理仿真模塊[106]、LRU控制仿真模塊[107]、顯示仿真模塊[108]之間交互的橋梁。圖5是VxWorks API接口模擬模塊的框圖,如圖5所示,其主要包括以下模塊任務(wù)管理模塊[501],任務(wù)管理模塊[501]以多線程的技術(shù)手段為嵌入式應(yīng)用模塊[102]提供實時多任務(wù)的創(chuàng)建、運行、管理和延遲等功能;信號量管理模塊[502],信號量管理模塊[502]實現(xiàn)信號量的創(chuàng)建、獲取和釋放功能,用于為嵌入式應(yīng)用模塊[102]的運行提供多任務(wù)同步與互斥;中斷管理模塊[503],中斷管理模塊[503]實現(xiàn)中斷的使能、禁用和中斷服務(wù)程序掛接等功能,用于為嵌入式應(yīng)用模塊[102]和SRU驅(qū)動接口模擬模塊[104]提供中斷交互的能力;系統(tǒng)時鐘管理模塊[504],系統(tǒng)時鐘管理模塊[504]用于為嵌入式應(yīng)用模塊[102]提供系統(tǒng)時鐘和輔助時鐘相關(guān)設(shè)置以及中斷響應(yīng)等功能;消息隊列管理模塊[505],消息隊列管理模塊[505]實現(xiàn)消息隊列的創(chuàng)建、發(fā)送和接收功能,用于為嵌入式應(yīng)用模塊[102]和SRU驅(qū)動接口模擬模塊[104]提供數(shù)據(jù)序列安全交互的能力;
軟件看門狗計時器[506],軟件看門狗計時器[506]用于為嵌入式應(yīng)用模塊[102]中的任意任務(wù)提供延時調(diào)用函數(shù)功能;消息日志模塊[507],消息日志模塊[507]用于為嵌入式應(yīng)用模塊[102]的運行提供消息打印功能,以便于了解軟件的運行情況。圖6是分系統(tǒng)管理仿真模塊的框圖,如圖6所示,其主要包括以下模塊狀態(tài)設(shè)置模塊[601],狀態(tài)設(shè)置模塊[601]基于分系統(tǒng)接口控制文件提供界面供用戶輸入分系統(tǒng)狀態(tài),并將完成輸入的新狀態(tài)通過共享緩沖區(qū)發(fā)送到多路總線接口模擬模塊[401];命令顯示與處理模塊[602],命令顯示與處理模塊[602]基于分系統(tǒng)接口控制文件通過共享緩沖區(qū)從多路總線接口模擬模塊[401]接收新的命令,根據(jù)指定邏輯進行處理,并提供界面供用戶查看。 圖7是LRU控制仿真模塊的框圖,如圖7所示,其主要包括以下模塊LRU控制操作仿真界面[701],LRU控制操作仿真界面[701]通過鼠標或觸屏的方式接收用戶的輸入,基于串行通信規(guī)約組織操作消息發(fā)送到輸入輸出接口控制模擬模塊[402];命令處理模塊[702],命令處理模塊[702]基于串行通信規(guī)約通過共享緩沖區(qū)從輸入輸出接口控制模擬模塊[402]接收新的命令,根據(jù)指定邏輯進行處理。圖8是顯示仿真模塊的框圖,如圖8所示,其主要包括以下模塊平顯顯示仿真模塊[801],平顯顯示仿真模塊[801]根據(jù)圖形指令集和平顯符號庫解析從字符發(fā)生邏輯模擬模塊[403]接收到的平顯顯示文件,并利用OpenGL指令將解析結(jié)果顯示于窗口中供用戶查看;下顯顯示仿真模塊[802],下顯顯示仿真模塊[802]根據(jù)圖形指令集和下顯符號庫解析從字符發(fā)生邏輯模擬模塊[403]接收到的下顯顯示文件,并利用OpenGL指令將解析結(jié)果顯示于窗口中供用戶查看。如上所述,用本發(fā)明開發(fā)的機載嵌入式軟件具備高可移植性,其開發(fā)與調(diào)試過程與具體硬件環(huán)境無關(guān),解決了機載嵌入式軟件開發(fā)受限于目標機硬件束縛的問題,取得了節(jié)省開發(fā)時間和成本以及豐富調(diào)試技術(shù)手段等有益效果。由于利用本發(fā)明開發(fā)出來的嵌入式應(yīng)用模塊可以無差別地運行在真實硬件環(huán)境或機載嵌入式軟件開發(fā)平臺中,在真實硬件環(huán)境下與接口 SRU板級驅(qū)動包、VxWorks操作系統(tǒng)、主處理板級驅(qū)動包進行交互;而在機載嵌入式軟件開發(fā)平臺中則與SRU驅(qū)動接口模擬模塊、VxWorks API接口模擬模塊進行交互。從而解決現(xiàn)有機載嵌入式軟件開發(fā)無法擺脫硬件的束縛,造成軟件開發(fā)周期過長的問題。進一步,本發(fā)明開發(fā)出來的嵌入式應(yīng)用既可以在真實硬件環(huán)境下通過信號電纜與航電分系統(tǒng)、其他LRU硬件、顯示設(shè)備進行交互,也可以機載嵌入式軟件開發(fā)平臺中通過共享緩沖區(qū)與分系統(tǒng)管理仿真模塊、LRU控制仿真模塊、顯示仿真模塊進行交互,從而可以方便的引入外部激勵并觀察到其運行結(jié)果。從而取得了節(jié)省調(diào)試時間和成本以及豐富調(diào)試技術(shù)手段等有益效果。進一步,本發(fā)明通過數(shù)據(jù)仿真驅(qū)動模塊根據(jù)指定的邏輯利用直接修改嵌入式應(yīng)用模塊內(nèi)定義的全局變量的方法來仿真分系統(tǒng)和LRU的各種狀態(tài),為嵌入式應(yīng)用模塊的實時運行提供期望的激勵,從而為快速復(fù)現(xiàn)和解決真實運行環(huán)境中的復(fù)雜邏輯故障提供便捷的技術(shù)手段。以上顯示和描述了本發(fā)明的基本原理 、主要特征和優(yōu)點。本發(fā)明不受上述實施例的限制,上述實施例和說明書中描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明還會有各種變化和改進,這些變化和改進都落入要求保護的本發(fā)明范圍內(nèi)。本發(fā)明要求保護范圍由所附的權(quán)利要求書及其等效物界定。
權(quán)利要求
1.一種機載嵌入式軟件開發(fā)平臺,其特征在于,所述機載嵌入式軟件開發(fā)平臺包括開發(fā)平臺管理模塊、嵌入式應(yīng)用模塊、數(shù)據(jù)仿真驅(qū)動模塊、SRU驅(qū)動接口模擬模塊、VxfforksAPI接口模擬模塊、分系統(tǒng)管理仿真模塊、LRU控制仿真模塊和顯示仿真模塊; 開發(fā)平臺管理模塊用于在開發(fā)平臺內(nèi)部管理嵌入式應(yīng)用模塊、數(shù)據(jù)仿真驅(qū)動模塊、SRU驅(qū)動接口模擬模塊和VxWorks API接口模擬模塊,并以多進程的方式調(diào)度分系統(tǒng)管理仿真模塊、LRU控制仿真模塊和顯示仿真模塊以及維護相關(guān)窗口句柄; 嵌入式應(yīng)用模塊用以實現(xiàn)嵌入式系統(tǒng)功能的核心軟件,具有與硬件無關(guān)的高度可移植性,可以無需任何調(diào)整地在真實硬件環(huán)境或開發(fā)平臺中運行;在真實硬件環(huán)境中,由Vxfforks嵌入式操作系統(tǒng)和板級支持包提供運行支撐;而在開發(fā)平臺中,則由VxWorks API接口模擬模塊和SRU驅(qū)動接口模擬模塊提供運行支撐; 數(shù)據(jù)仿真驅(qū)動模塊根據(jù)指定的邏輯通過直接修改嵌入式應(yīng)用模塊內(nèi)定義的全局變量的方式仿真分系統(tǒng)和LRU的各種狀態(tài),為嵌入式應(yīng)用模塊的實時運行提供期望的激勵,是非常便捷的調(diào)試和排查軟件故障的技術(shù)手段; SRU驅(qū)動接口模擬模塊通過在接口上與板級支持包保持一致,為嵌入式應(yīng)用模塊的運行提供與真實條件完全一致的運行環(huán)境;并通過創(chuàng)建共享緩沖區(qū)與分系統(tǒng)管理仿真模塊、LRU控制仿真模塊和顯示仿真模塊進行交聯(lián),實現(xiàn)數(shù)據(jù)的交互,以體現(xiàn)嵌入式應(yīng)用模塊的運行結(jié)果并為嵌入式應(yīng)用模塊引入外界激勵; Vxfforks API接口模擬模塊通過在API接口上與VxWorks嵌入式操作系統(tǒng)保持一致,為嵌入式應(yīng)用模塊的運行提供與真實條件完全一致的操作系統(tǒng)環(huán)境; 分系統(tǒng)管理仿真模塊用于實現(xiàn)分系統(tǒng)的仿真功能,由開發(fā)平臺管理模塊調(diào)度,并通過共享緩沖區(qū)與SRU驅(qū)動接口模擬模塊交聯(lián),基于分系統(tǒng)接口控制文件響應(yīng)嵌入式應(yīng)用模塊的命令并向其發(fā)送狀態(tài)信息; LRU控制仿真模塊用于實現(xiàn)LRU的仿真功能,由開發(fā)平臺管理模塊調(diào)度,并通過共享緩沖區(qū)與SRU驅(qū)動接口模擬模塊交聯(lián),基于串行通信規(guī)約響應(yīng)嵌入式應(yīng)用模塊的命令并向其發(fā)送狀態(tài)信息; 顯示仿真模塊用于實現(xiàn)仿真顯示功能,由開發(fā)平臺管理模塊調(diào)度,并通過共享緩沖區(qū)與SRU驅(qū)動接口模擬模塊交聯(lián),解釋嵌入式應(yīng)用模塊發(fā)送的顯示文件并在虛擬顯示終端上作圖。
2.如權(quán)利要求I所述的機載嵌入式軟件開發(fā)平臺,其特征在于,所述機載嵌入式軟件開發(fā)平臺初始化時,根據(jù)外部激勵是由分系統(tǒng)管理仿真模塊和LRU控制仿真模塊產(chǎn)生還是由數(shù)據(jù)仿真驅(qū)動模塊產(chǎn)生,選擇是否調(diào)用數(shù)據(jù)仿真驅(qū)動模塊;同時,以多進程的方式調(diào)度分系統(tǒng)管理仿真模塊、LRU控制仿真模塊和顯示仿真模塊以及維護相關(guān)窗口句柄;然后調(diào)度嵌入式應(yīng)用模塊進入實時運行。
3.如權(quán)利要求2所述的機載嵌入式軟件開發(fā)平臺,其特征在于,所述嵌入式應(yīng)用模塊包括以下模塊 分系統(tǒng)處理模塊,分系統(tǒng)處理模塊基于分系統(tǒng)接口控制文件響應(yīng)分系統(tǒng)管理仿真模塊或真實分系統(tǒng)的狀態(tài)變化并向其發(fā)送控制命令; LRU處理模塊,LRU處理模塊基于串行通信規(guī)約響應(yīng)LRU控制仿真模塊或真實LRU的狀態(tài)變化并向其發(fā)送控制命令;顯示處理模塊,顯示處理模塊則根據(jù)飛行操作程序的要求,將繪圖指令和圖符/字符代碼組織成顯示文件送顯示仿真模塊或真實顯示設(shè)備顯示。
4.如權(quán)利要求3所述的機載嵌入式軟件開發(fā)平臺,其特征在于,所述SRU驅(qū)動接口模擬模塊包括以下模塊 多路總線接口模擬模塊,多路總線接口模擬模塊用于嵌入式應(yīng)用模塊與分系統(tǒng)管理仿真模塊之間的交互; 輸入輸出接口控制模擬模塊,輸入輸出接口控制模擬模塊用于嵌入式應(yīng)用模塊和LRU控制仿真模塊之間的交互; 字符發(fā)生邏輯模擬模塊,字符發(fā)生邏輯模擬模塊用于嵌入式應(yīng)用模塊和顯示仿真模塊之間的交互; 共享緩沖區(qū)管理模塊,共享緩沖區(qū)管理模塊用于在開發(fā)平臺和分系統(tǒng)管理仿真模塊、LRU控制仿真模塊以及顯示仿真模塊之間實現(xiàn)進程間通訊。
5.如權(quán)利要求4所述的機載嵌入式軟件開發(fā)平臺,其特征在于,所述VxWorksAPI接口模擬模塊包括以下模塊 任務(wù)管理模塊,任務(wù)管理模塊以多線程的技術(shù)手段為嵌入式應(yīng)用模塊提供實時多任務(wù)的創(chuàng)建、運行、管理和延遲; 信號量管理模塊,信號量管理模塊實現(xiàn)信號量的創(chuàng)建、獲取和釋放功能,用于為嵌入式應(yīng)用模塊的運行提供多任務(wù)同步與互斥; 中斷管理模塊,中斷管理模塊實現(xiàn)中斷的使能、禁用和中斷服務(wù)程序掛接,用于為嵌入式應(yīng)用模塊和SRU驅(qū)動接口模擬模塊提供中斷交互的能力; 系統(tǒng)時鐘管理模塊,系統(tǒng)時鐘管理模塊用于為嵌入式應(yīng)用模塊提供系統(tǒng)時鐘和輔助時鐘相關(guān)設(shè)置以及中斷響應(yīng); 消息隊列管理模塊,消息隊列管理模塊實現(xiàn)消息隊列的創(chuàng)建、發(fā)送和接收功能,用于為嵌入式應(yīng)用模塊和SRU驅(qū)動接口模擬模塊提供數(shù)據(jù)序列安全交互的能力; 軟件看門狗計時器,軟件看門狗計時器用于為嵌入式應(yīng)用模塊中的任意任務(wù)提供延時調(diào)用函數(shù)功能; 消息日志模塊,消息日志模塊用于為嵌入式應(yīng)用模塊的運行提供消息打印功能,以便于了解軟件的運行情況。
6.如權(quán)利要求5所述的機載嵌入式軟件開發(fā)平臺,其特征在于,所述分系統(tǒng)管理仿真模塊包括以下模塊 狀態(tài)設(shè)置模塊,狀態(tài)設(shè)置模塊基于分系統(tǒng)接口控制文件提供界面供用戶輸入分系統(tǒng)狀態(tài),并將完成輸入的新狀態(tài)通過共享緩沖區(qū)發(fā)送到多路總線接口模擬模塊; 命令顯示與處理模塊,命令顯示與處理模塊基于分系統(tǒng)接口控制文件通過共享緩沖區(qū)從多路總線接口模擬模塊接收新的命令,根據(jù)指定邏輯進行處理,并提供界面供用戶查看。
7.如權(quán)利要求6所述的機載嵌入式軟件開發(fā)平臺,其特征在于,所述LRU控制仿真模塊主要包括以下模塊 LRU控制操作仿真界面,LRU控制操作仿真界面通過鼠標或觸屏的方式接收用戶的輸入,基于串行通信規(guī)約組織操作消息發(fā)送到輸入輸出接口控制模擬模塊; 命令處理模塊,命令處理模塊基于串行通信規(guī)約通過共享緩沖區(qū)從輸入輸出接口控制模擬模塊接收新的命令,根據(jù)指定邏輯進行處理。
8.如權(quán)利要求7所述的機載嵌入式軟件開發(fā)平臺,其特征在于,所述顯示仿真模塊主要包括以下模塊 平顯顯示仿真模塊,平顯顯示仿真模塊根據(jù)圖形指令集和平顯符號庫解析從字符發(fā)生邏輯模擬模塊接收到的平顯顯示文件,并利用OpenGL指令將解析結(jié)果顯示于窗口中供用戶查看; 下顯顯示仿真模塊,下顯顯示仿真模塊根據(jù)圖形指令集和下顯符號庫解析從字符發(fā)生 邏輯模擬模塊接收到的下顯顯示文件,并利用OpenGL指令將解析結(jié)果顯示于窗口中供用戶查看。
全文摘要
本發(fā)明公開了一種機載嵌入式軟件開發(fā)平臺,其包括開發(fā)平臺管理模塊、嵌入式應(yīng)用模塊、數(shù)據(jù)仿真驅(qū)動模塊、SRU驅(qū)動接口模擬模塊、VxWorksAPI接口模擬模塊、分系統(tǒng)管理仿真模塊、LRU控制仿真模塊和顯示仿真模塊;開發(fā)平臺管理模塊用于在開發(fā)平臺內(nèi)部管理嵌入式應(yīng)用模塊、數(shù)據(jù)仿真驅(qū)動模塊、SRU驅(qū)動接口模擬模塊和VxWorks API接口模擬模塊,并以多進程的方式調(diào)度分系統(tǒng)管理仿真模塊、LRU控制仿真模塊和顯示仿真模塊以及維護相關(guān)窗口句柄;軟件開發(fā)人員利用本發(fā)明能夠使用虛擬系統(tǒng)開發(fā)這種全新的開發(fā)模式,在脫離物理硬件的虛擬平臺進行系統(tǒng)定義、軟件開發(fā)、集成和部署,從而提高軟件開發(fā)效率。
文檔編號G06F9/44GK102968311SQ20121054035
公開日2013年3月13日 申請日期2012年12月13日 優(yōu)先權(quán)日2012年12月13日
發(fā)明者王念偉, 繆萬勝, 姜軼, 張祺, 管銘 申請人:中國航空無線電電子研究所