999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

嵌入式軟件虛擬化測試技術標準框架研究

2017-07-05 14:27:18曲明成崔乃剛吳翔虎陶永超
哈爾濱工業大學學報 2017年5期
關鍵詞:嵌入式調試功能

曲明成,崔乃剛,吳翔虎,陶永超

(1.哈爾濱工業大學 計算機科學與技術學院,哈爾濱150001; 2.哈爾濱工業大學 航空宇航科學與技術博士后流動站,哈爾濱 150001)

嵌入式軟件虛擬化測試技術標準框架研究

曲明成1,2,崔乃剛2,吳翔虎1,陶永超1

(1.哈爾濱工業大學 計算機科學與技術學院,哈爾濱150001; 2.哈爾濱工業大學 航空宇航科學與技術博士后流動站,哈爾濱 150001)

針對嵌入式系統硬件平臺采用純軟件仿真并對嵌入式軟件進行功能級測試的相關研究存在較多不足,缺乏整體、統一、靈活、標準的仿真部件間接口,致使不同體系、類型的處理器仿真核與各類外設間較難進行快速、直接的整合與交互、導致缺乏系統級可配置能力、各類仿真核與調試器(GDB)間不能進行直接、有效地互聯和交互,從而無法達到可定制、組件化的系統級仿真及虛擬測試環境快速搭建目標. 基于組件化思想,提出一套處理器仿真、外設仿真和調試器(GDB)三者間可進行直接、快速交互的標準結構、標準接口和基本處理邏輯,優化和刪減了GDB層次,擴充了新功能,使之在運行時可動態加載、支持多種仿真處理器體系. 研發了虛擬測試系統,驗證了所提方法、結構、接口的有效性和正確性,與其他同類技術、項目進行了綜合能力比較. 結果表明本文所提方法、技術具有較多優勢.

嵌入式軟件測試,虛擬目標機,虛擬測試系統

嵌入式系統廣泛應用于航空航天、工業過程控制、機器人、消費類電子等眾多領域. 嵌入式系統多采用專用計算機系統, 這導致了相應嵌入式軟件在開發工具、測試手段、故障模擬與分析等方面都具有較大的難度,而硬件的研制速度滯后在一定程度上制約了軟件的研制,從而導致整個嵌入式系統開發周期延長. 嵌入式系統多具有強實時性、系統的計算較多地依賴外部各類傳感器數據、復雜的分布式系統間要進行具有特定時序和信息特征的交互、可靠性安全性要求較高、硬件錯誤和故障容易引起較大的破壞、特定外部場景數據、異常或錯誤特征較難觸發和模擬等特點,使嵌入式軟件的調試和測試過程更加困難.

近年來針對嵌入式系統硬件的純軟件仿真技術(虛擬系統技術)得到了長足的發展. 該技術采用純軟件仿真目標嵌入式系統的硬件(處理器、存儲、總線和外設),并可以對系統外信息輸入和輸出進行模擬,同時輔以上層IDE和相應工具鏈支撐,形成功能強大的仿真測試環境. 這項技術在嵌入式軟件的開發、調試、測試、故障模擬、錯誤分析、理論驗證等方面都得到了廣泛的應用,也為嵌入式系統的軟硬件協同開發提供了一種較好的解決途徑[1-5].

1 相關研究及不足分析

針對嵌入式系統的硬件仿真主要包括處理器仿真和設備仿真兩個部分. 而處理器仿真(仿真核)技術又可以分為三類:指令級、周期級、時序級仿真. 指令級仿真可以給出系統狀態的精確行為;周期級仿真可以給出每一周期的處理器精確行為;時序級仿真可以給出在一周期內準確時間出現的信號.

從國內外研究的現狀來看,有很多團體或組織機構根據不同的應用領域對三種仿真類型展開了研究,并取得了一定進展. 較有影響的主要有如表1所示的幾種.

表1 嵌入式硬件系統軟件仿真項目

QEMU雖然能夠模擬較多類型的體系結構,但是由于其初衷不是為虛擬測試系統所設計,其結構并非基于可配置組件思想,因此針對一個特定的目標系統很難進行直接、快速地配置搭建;同時在其仿真處理器(仿真核)、仿真外設與GDB間缺乏統一和標準的結構、接口設計,導致無法動態支持多種處理器體系;再次,由于其與GDB間采用基于MI的通信接口,而并未對GDB進行深層優化,導致針對嵌入式測試領域的場景、故障、異常用例模型的構建、注入和觸發管理功能無法得到有效支持;最后由于其仿真核只是對體系結構的模擬,對嵌入式軟件測試過程中的匯編、高級程序分支和語句覆蓋率記錄與分析無法提供支撐. 而Bochs與其他ARM系列仿真模擬器只是針對特定處理器體系進行的仿真,對多處理器體系本身就不支持,更不具備仿真核與外設的靈活配置能力. Virtutech Simics是風河公司推出的商業化仿真模擬器,可以支持多種處理器和體系,但是每款體系的模擬器都是集成編譯好的軟件單元,不能進行目標系統的靈活配置、定制,用戶需要按需購買和實用,接口和標準無法獲知.

基于軟件仿真技術來構建嵌入式軟件虛擬測試環境,需要具備三部分基本功能,即目標系統仿真單元、調試器和可視化調試工具. 前兩部分合稱為虛擬測試系統,三者合稱為虛擬測試環境. 由于嵌入式計算機系統硬件構成專有、多樣,因此為嵌入式軟件提供測試與驗證服務的虛擬測試系統需要具備靈活、標準化、可配置特性,支持故障與異常、特定場景用例的注入與觸發、覆蓋率分析、閉環與分布式仿真等綜合能力. 而單純關注于任何一個部分都不能較好地達到上述目標. 本文基于組件思想,對仿真核、外設、GDB三者體系及交互的結構、標準、接口進行了深入研究與綜合優化設計,提出一套標準、方法、結構和接口,對GDB體系進行了改造、優化與完善,在實際的課題中使用和驗證了所提方法、標準的標準性、正確性和有效性.

2 虛擬測試基本概念

定義1 虛擬處理器(仿真核). 采用純軟件仿真技術對特定體系處理器進行仿真,包括取指、譯碼、執行過程,以及處理器核心寄存器配置和邏輯響應.

定義2 虛擬設備(仿真外設). 對嵌入式目標機中的物理外設進行純軟件仿真,包括基本輸入輸出過程、寄存器及相應位邏輯.

定義3 嵌入式虛擬目標機(虛擬目標機). 采用軟件仿真技術,對嵌入式系統硬件的CPU、總線、外設進行仿真,使基于真實硬件編寫的程序所對應的二進制映像可以在其上直接運行,稱這套純軟件仿真的目標機為虛擬目標機.

定義4 嵌入式軟件虛擬測試系統(虛擬測試系統). 將調試器軟件與虛擬目標機進行有效整合,可以對二進制映像文件進行調試、綜合分析的軟件系統.

定義5 嵌入式軟件虛擬測試可視化集成環境(虛擬測試環境). 將可視化調試環境以及各類測試手段和方法與虛擬測試系統進行整合,構成可視化虛擬測試環境.

定義6 閉環測試. 在一個虛擬測試系統中,虛擬設備具備解析執行外部腳本或用例模型的能力,從而為嵌入式軟件的測試提供交互式仿真數據.

定義7 覆蓋率分析. 基于虛擬測試系統,在軟件執行過程中記錄指令執行信息,根據編譯信息反推出匯編和高級程序所走的每條語句和分支信息,進一步計算出分支和語句覆蓋率信息.

嵌入式系統多基于專有計算機系統,處理器體系、外設的構成多樣且復雜,因此一個虛擬測試系統所需要具備的最典型特征是: 1)多體系支持和目標機可靈活配置,同時由于嵌入式系統的外部輸入的復雜特性; 2)能夠有效模擬場景和故障的用例觸發形成閉環測試也十分重要,為了能夠有效分析程序的執行結果; 3)能夠記錄程序執行過程中的數據和語句信息十分必要. 顯然能力1)需要在虛擬目標機層次解決,而2),3)是指令執行之外的特征,因此需要在調試器層面解決.

3 虛擬處理器與外設結構設計

3.1 虛擬處理器基本功能接口

虛擬處理器在一個虛擬測試系統實例中充當核心的角色,它決定了測試目標環境的硬件體系結構,主要完成測試代碼指令的譯碼與模擬執行操作,提供整體模擬環境的基本運行支持. 本文通過對各種處理器硬件結構的抽象設計,提出一套虛擬處理器組件標準功能接口. 通過該接口,虛擬目標機配置時可以無需了解組件體系結構與實現細節,透明地加載虛擬處理器組件,并通過對該接口的調用,來操作虛擬處理器組件的運行以及相關行為.

虛擬處理器基本功能接口包括:1)初始化虛擬核,2)仿真核復位,3斷點操作,4)事件操作,5)中斷觸發,6)錯誤回調.

虛擬處理器組件導出的標準接口可分為兩部分:虛擬執行接口與調試功能接口. 系統(GDB模塊)通過對不同接口的調用,來控制虛擬處理器組件不同的行為.

虛擬執行接口包括通過GDB調用虛擬核的各功能接口實現. 接口功能包括:1)初始化虛擬處理器,當GDB加載完虛擬處理器對其進行初始化;2)復位虛擬處理器,向虛擬處理器注入錯誤信息,啟動虛擬處理器運行,暫停虛擬處理器運行,在虛擬處理器執行過程中,產生外部中斷時,停止虛擬處理器運行.

調試功能接口包括通過GDB調用虛擬核的各功能接口實現. 接口功能包括:1)另虛擬處理器執行若干條匯編語句;2)獲取虛擬處理器寄存器或地址空間數據;3)設置處理器寄存器或地址空間數據;4)在處理器調試執行過程中增加/刪除斷點;5)獲取虛擬處理器當前執行指令PC值;6)向虛擬處理增加內核事件;7)獲取虛擬處理器運行周期數;8)獲取虛擬處理器配置主頻;9)獲取虛擬處理器執行狀態;10)獲取虛擬處理器指令執行歷史.

虛擬測試系統通過上述接口保準和調用關系,可完成對虛擬處理器組件的加載、啟動、暫停、設置調試信息等基本操作.

3.2 虛擬處理器標準功能構成及交互邏輯

為了能夠滿足復雜嵌入式軟件調試、測試和驗證等目標,設計出如下的虛擬處理器組件的功能構成及交互關系. 虛擬處理器組件應包含如圖1所示功能集合和調用與依賴關系.

圖1 虛擬處理器組件的功能模塊組成

1)虛擬執行控制單元. 該單元主要完成對指令執行的管理,以及取指、譯碼與模擬執行的操作. 其中,指令執行管理是指管理處理器模擬執行狀態,包括確定應模擬執行多少條指令,何時應該暫停模擬執行等;指令的取指與譯碼則是指在內存設備中取得要執行的指令,并將其譯碼,判斷指令類別與操作數;指令的模擬執行則是根據指令類別與操作數,執行指令的功能,可能包括對寄存器組或內存數據的操作等等. 除此之外,在模擬執行一條指令之后,還需要對虛擬處理器的其他功能模塊進行驅動執行,具體見其他單元設計.

2)斷點管理單元. 該單元主要對虛擬處理器內的斷點調試操作進行支持,對用戶設置的斷點進行記錄與管理,并在代碼段中進行斷點指令的替換操作. 當處理器虛擬執行至斷點指令處時,則處理器暫停虛擬執行,并返回暫停狀態,供用戶進行數據獲取等調試操作.

3)內核事件管理單元. 該單元對虛擬處理器的內部事件進行管理,包括地址觸發、時間觸發兩種形式的事件隊列,當處理器虛擬執行完一條指令之后對兩個事件隊列進行響應時,如果當前狀態滿足觸發條件則對特定的事件進行處理,執行特定功能. 該單元主要是為了系統的故障注入、數據采集等操作提供基本的支持.

4)中斷響應管理. 該模塊為處理器響應中斷提供能力. 當處理器虛擬執行完一條指令之后,則會查詢當前是否有中斷信號產生,是否需要響應. 如果需要,則會跳轉至異常向量表中斷入口繼續執行.

5)代碼執行歷史記錄模塊. 該模塊主要是對虛擬處理器執行過的代碼進行執行次數、跳轉情況等數據的記錄,并通過接口導出代碼執行歷史文件,供系統進行覆蓋率分析,最終生成覆蓋率分析報告.

3.3 虛擬外設標準結構與接口

在一個虛擬測試系統實例中,虛擬設備與虛擬處理器組件相“連接”,為處理器提供外圍設備支持,完成系統級虛擬目標機環境的搭建.

虛擬設備組件與虛擬處理器組件一樣,其實現必須滿足標準接口功能,包括:1)設備注冊,2)設備啟停,3)設備復位與退出,4)設備中斷,5)設備的讀寫.

虛擬設備組件接口函數也可以分為2類:1)設備管理接口;2)設備執行訪問接口. 其中,管理接口是在設備向系統(GDB模塊)進行設備注冊、接受初始化等操作時使用;訪問接口則是在虛擬處理器模擬執行時對設備進行訪問時使用.

4 GDB與仿真系統接口及交互過程設計4.1 GDB標準性結構設計

GDB分為5個層次:I/O抽象層、控制層、功能層、目標抽象層和仿真目標層,如圖2所示. 其中: I/O抽象層主要處理GDB的命令循環等信息交互的操作;控制層主要進行命令解析、表達式分析、信息提取等操作;功能層則是對具體命令的響應處理,包含大量的處理函數以及相應結構;目標抽象層則是對可執行文件進行符號解析等操作;最底層的仿真目標層則是對可執行程序進行仿真執行,產生結果.

圖2 GDB原始結構

GDB支持的目標結構非常局限,編譯一次只能支持一種體系結構,并且只具備指令集虛擬執行的功能,能力非常有限. 為了達到GDB能夠無差別的加載ARM/SPARC /DSP 等多種體系虛擬處理器目標,對GDB進行優化、改造和完善,即將其仿真目標層替換為目標仿真內核.

在保留其調試能力的基礎上,對GDB的功能進行了極大的優化擴充,添加GDB組件管理模塊,用來對系統實例的各個虛擬設備進行加載與管理. 對GDB的層次結構進行了重新設計與實現,使其滿足標準性. 標準性的改造主要包括: 1)保留I/O抽象層與控制層.

2)對功能層進行多種體系結構支持的優化.

3)在功能層中,增加系統虛擬處理器、虛擬設備組件管理,并通過對設備配置信息的獲取與管理生成通信結構.

4)在功能層中,增加系統輔助功能支持.

5)對目標抽象層中的文件解析功能進行擴充使其支持常見的可執行文件結構,如ELF、COFF等.

6)對目標抽象層中的處理器硬件抽象結構進行更全面的抽象設計,最終提出可滿足不同體系結構處理器的虛擬處理器標準接口,并通過該接口加載不同的虛擬處理器組件.

7)將虛擬目標層全部剔除,更改為本系統中虛擬測試系統實例的加載,完成虛擬測試系統實例的模擬執行.

標準性改造后的GDB結構如圖3所示. 通過對GDB與虛擬處理器標準性的設計,可以達到GDB支持的虛擬處理器體系結構無關性的目標. 只要是按照統一接口要求實現的仿真器均可以與GDB進行鏈接、通信,進而構成完整的仿真、調試虛擬測試系統.

圖3 支持虛擬驗證系統的GDB結構

對于處理器標準的接口函數設計虛擬處理器標準接口設計一節已經給出. 同樣,為了能夠使不同種類的虛擬處理器可以一致的加載各種類型的虛擬設備,在虛擬處理器與虛擬設備中,也同樣需要實現統一的接口,標準接口函數設計如表2所示.

GDB根據用戶的選擇進行相應的仿真核DLL以及仿真外設DLL的加載,形成完整的仿真器,提供仿真運行、源碼調試的環境. 此外,仿真核需要與GDB一同協調完成一些仿真器相關的調試命令操作,還需要完成一些GDB之前不支持的功能,如外部中斷的響應.

表2 仿真核DLL與仿真外設DLL的標準接口定義

Tab.2 Interface definitions between simulation processor and peripheral DLLs

接口函數定義接口說明IntSIMP_Init根據傳入參數初始化虛擬核.IntSIMP_BlockConfig仿真核復位例程IntSIMP_InterruptConfig啟動線程執行程序voidDLL_EXPORTSIMP_CPURe-set單步執行IntSIMP_CPURead暫停執行IntSIMP_CPUWrite獲得指定寄存器的值intSIMP_UnLoadDLL設置指定寄存器的值IntSIMC_ReadMem獲取指定地址段值IntSIMC_WriteMem設置指定地址段值

4.2 GDB與虛擬處理器線程控制

如果將GDB自身作為一個獨立進程且是單線程執行,那么當虛擬測試系統(虛擬處理器+GDB)運行時其不能響應外部的操作(中斷、命令). 因此,將虛擬處理器程序作為一個單獨的線程來實現,而這種由DLL提供虛擬處理器的形式,正好給雙線程機制提供了基礎.

一個虛擬測試系統進程中包括GDB與虛擬處理器兩個線程,二者通信過程設計如圖4所示. 由圖4可知,將GDB與虛擬處理器DLL作為兩個線程,不僅可以使信息更新更快捷,還可以在虛擬處理器運行時,GDB系統可以響應外部中斷信號以及調試人員的命令.

具體過程為:當GDB調用統一接口中的函數Void SIMC_Run(void)時,仿真核將會啟動線程執行仿真,啟動線程后,仿真核導出接口函數依然會等待外部的調用. 當有中斷信號來時,就可以第一時間進行中斷響應.

圖4 GDB線程與虛擬處理器線程交互邏輯設計

Fig.4 Interactive logic between GDB and virtual processor threads

與線程操作有關的算法設計:

算法1 創建線程,啟動仿真核.

Bool SIMC_Run(void)

{

設置仿真核初始狀態;

If(仿真線程未創建)

{

設置為連續執行;

創建線程,CreateThread (……ARMul_

DoProg……);

}

根據創建情況返回值(失敗、正常);

}

算法2 設置仿真核單步執行.

Bool SIMC_Step(void)

{

設置為單步執行;

If(仿真線程未創建)

創建線程,CreateThread (……ARMul_

DoProg……);

根據創建情況返回值;

}

算法3 仿真線程執行.

DWORD WINAPI ARMul_DoProg (void * ptr)

{

while(1)

{

執行信息的獲取;

while(仿真核狀態!=退出)

{

判斷是連續運行,還是單步運行;

啟動仿真核;

獲取仿真核狀態;

}

獲取由信號量保護的標志變量,判斷接

下來的操作;

}

}

5 虛擬測試技術比較

5.1 系統結構

構建了一個基于本文所提方法、標準構建的虛擬測試系統和虛擬測試環境,包括標準化組件庫、GDB及虛擬目標機管理、虛擬目標機配置、可視化調試界面、測試支撐功能管理等5個主要部分. 前兩者是構建虛擬測試環境的核心和基礎,只要二者提供對外的調用和管理接口,測試環境的功能可以根據實際需要進行靈活開發和定制. 采用實際項目驗證本文所提方法的正確性和有效性. 驗證軟件系統構建于Sparc V7處理器(ERC 32芯片),外設包括CAN總線、1553B總線、422總線,每種總線均采用主從模式與外部分系統進行數據交互.

根據本文提出的方法對處理器、外設仿真調用接口進行了標準化結構和接口設計并封裝為DLL組件,設計了相應的描述XML文檔,使二者以組件形式構成可靈活配置和加載整合的虛擬目標機組件庫. 對GDB的邏輯層次進行了重新設計、去掉了虛擬目標層、擴充和刪減了其他層次,使GDB可以對標準化的虛擬目標機進行直接加載運行和靈活調度,打破了傳統的一次GDB改造和編譯只能支持一種體系處理器的限制.

GDB除了CLI(Commnad Line Interface)命令外,還提供MI (Machine Interface)命令接口. 驗證項目也是基于MI構建了圖形化調試界面,并將仿真數據注入和動態結果獲取、覆蓋率分析和虛擬目標機配置和解析等功能一并整合到前端界面工具中,從而構成完整的虛擬測試環境.

5.2 綜合比較

5.2.1 能力比較

表3列出了本文提出的技術與其他一些虛擬目標機和虛擬測試系統在多處理器支持、虛擬設備支持、虛擬目標機可靈活配置生成以及其他測試功能支持方面的綜合比較. 給出了處理器仿真核的統一調用接口、處理器與外設的統一訪問接口以及GDB與外設與仿真核間的統一接口,并對仿真核和外設進行組件化標準定義,達到了虛擬目標機可配置以及多種處理器體系支持的目標. 同時由于改造了GDB接口,使之具備能夠有效管理外設和虛擬核,達到了閉環測試、用例模擬、數據采集和覆蓋率分析的嵌入式軟件重要測試能力.

表3 與其他工具綜合能力比較

注:設備仿真支持指總線、串口、數模轉換器等滿足特定功能需求的外部設備,而非如內存、定時器等仿真必需設備.

5.2.2 結果分析

定義了處理器虛擬功能集合、交互邏輯及標準化接口;外設標準化接口;以及虛擬和與GDB間的交互邏輯與標準化接口,從而能夠支持表3中的各種能力,具體解釋如表4所示.

表4 比較結果分析

6 結 論

本文以構建可靈活配置、可定制、具備強大嵌入式軟件仿真調試能力的標準化虛擬測試系統為目標,以組件化為基礎,以虛擬處理器、外設和調試器的功能、體系、邏輯和接口的標準化為核心思想,分析設計了虛擬處理器的基礎性、必要性功能構成以及與調試器和虛擬設備間的執行、調試接口及函數構成,以及彼此間的交互邏輯. 設計了虛擬外設的結構構成,構建虛擬處理器對虛擬設備間調用方法、數據交互過程. 為了滿足虛擬驗證系統可配置、多處理器體系的靈活支持,充分分析了GDB結構、接口,優化、改造和豐富了GDB調試器,使其可以不經過源代碼重新編譯前提下,運行時動態加載特定虛擬處理器和相應虛擬外設,并具備故障注入、常用用力觸發、運行時數據記錄存儲等多種核心能力.

通過構建出標準化的虛擬測試系統規范,能夠使不同階段、不同來源的虛擬處理器和外設組件進行直接、快速、有效地整合和互聯,實現虛擬目標機、虛擬測試系統、虛擬測試環境的快速搭建,從而提升虛擬測試的效率,降低研發成本.

[1] 郭向英, 張西超, 趙雷. 應用虛擬測試技術提升航天嵌入式軟件可信性[J]. 質量與可靠性, 2014 (1): 55-59.

GUO Xiangying , ZHANG Xichao, ZHAO Lei. Application of virtual test technology to enhance the credibility of the aerospace embedded software[J]. Quality and Reliability. 2014 (1): 55-59.

[2] 蘆彩林, 丁剛毅. 嵌入式軟件全數字仿真測試環境設計[J]. 計算機仿真, 2007, 24(1): 295-297.

LU Cailin, DING Gangyi. Design of full digital simulation test environment for embedded software[J]. Computer Simulation, 2007, 24(1): 295-297. DOI: 1006-9348(2007)01-0295-03.

[3] AARNO D, ENGBLOM J. Software and system development using virtual platforms: full-system simulation with wind river simics[M]. San Francisco: Morgan Kaufmann, 2014.

[4] 葉常春. 嵌入式虛擬化技術[J]. 計算機工程與科學, 2012, 34(3): 41-45.

YE Changchun. The embedded virtualization technology[J]. Computer Engineering & Science, 2012, 34(3): 41-45, DOI: 1007-130X(2012)03-0041-05.

[5] MUTTER F, GAREIS S, SCHATZ B, et al. Model-driven in-the-loop validation: simulation-based testing of UAV software using virtual environments[C]//Engineering of Computer Based Systems (ECBS), 2011 18th IEEE International Conference and Workshops on. IEEE, 2011: 269-275.

[6] BECKER M, BALDIN D, KUZNIK C, et al. XEMU: an efficient QEMU based binary mutation testing framework for embedded software[C]//Proceedings of the Tenth ACM International Conference on Embedded Software. New York: ACM, 2012: 33-42.

[7] 李毅, 徐萍, 萬寒. 基于 QEMU 實現的處理器類故障模擬與注入方法研究[J]. 計算機工程與科學, 2014, 36(1): 19-27.

LI Yi, XU Ping, WAN Han. Research on a QEMU-based processor fault simulation and injection method[J]. Computer Engineering & Science[J]. , 2014, 36(1): 19-27, DOI: 1007-130X(2014)01-0019-09.[8] 肖榮榮. 基于 Bochs的X86小核前端時序模擬器的設計及優化[M]. 北京:北京郵電大學, 2012.

XIAO Rongrong. Design and optimization based on bochs for the front-end architecture of X86 single coreprocessor[M]. Beijing University of Posts, 2012.

[9] LEE Y R, CHO S Y, LEE J B. The design a virtual prototyping based on ARMulator[C]// Fourth Annual ACIS International Conference on Computer and Information Science. Jeju Island: IEEE, 2005: 387-390.

[10]MAGNUSSON P S, CHRISTENSSON M, ESKILSON J, et al. Simics: a full system simulation platform[J]. Computer, 2002, 35(2): 50-58.

[11]SATRIA H, WIBOWO B, KWON J B, et al. VDEES: a virtual development environment for embedded software using open source software[J]. IEEE Transactions on Consumer Electronics, 2009, 55(2): 959-966.

[12]GHANEM A K, EL-MAHDY A H, EL-SALAM I A. A cycle-accurate micro-architecture simulation framework for embedded processors[C]//The 2006 International Conference on Computer Engineering and Systems. IEEE, 2006: 71-76.

(編輯 王小唯 苗秀芝)

Research on general framework of virtual testing for embedded software

QU Mingcheng1,2, CUI Naigang2, WU Xianghu1, TAO Yongchao1

(1. School of Computer Science and Technology, Harbin Institute of Technology, Harbin 150001, China; 2.Aerospace Science and Technology Postdoctoral Workstation, Harbin Institute of Technology, Harbin 150001, China)

In recent years, lots of fruitful results have been achieved in the aspects of simulation technology for embedded hardware and virtual testing for embedded software. However, there are some shortcomings in the previous achievements. For example, there are no overall, unified, flexible and general interfaces among the generic components, so it results that different architecture or different type of simulation processors cannot interact and integrate with simulation devices directly, and result that system-level customization capabilities are lack. Based on component, a set of general structures, standard interfaces, processing logics for virtual processors, virtual peripherals and debugger are proposed. We did some optimizations and deletions, added some new features in GDB, so that GDB can dynamically load at runtime to support multiple processor architectures. A virtual testing system is developed, by it the validity and correctness of the proposed method, structure, interfaces are verified. The proposed methods and technologies have more advantages compared with other similar technologies or projects.

embedded software testing; virtual target machine; virtual test system

10.11918/j.issn.0367-6234.201505075

2015-05-18

國家自然科學基金(61402131);中國博士后科學基金(2014M551245);黑龍江省博士后科學基金(LBH-Z13105);中央高校基本科研業務費專項資金(HIT.NSRIF.201651); 中國博士后基金(2016T90293)

曲明成(1980—),男,博士/博士后,講師; 崔乃剛(1965—),男,教授,博士生導師

曲明成,qumingcheng@hit.edu.cn

TP337

A

0367-6234(2017)05-0049-07

猜你喜歡
嵌入式調試功能
也談詩的“功能”
中華詩詞(2022年6期)2022-12-31 06:41:24
基于航拍無人機的設計與調試
電子制作(2018年12期)2018-08-01 00:47:44
搭建基于Qt的嵌入式開發平臺
FOCAS功能在機床調試中的開發與應用
關于非首都功能疏解的幾點思考
無線通信中頻線路窄帶臨界調試法及其應用
電子制作(2017年19期)2017-02-02 07:08:38
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
調壓柜的調試與試運行探討
Altera加入嵌入式視覺聯盟
中西醫結合治療甲狀腺功能亢進癥31例
主站蜘蛛池模板: 中文字幕欧美日韩| 日本AⅤ精品一区二区三区日| 漂亮人妻被中出中文字幕久久| 在线观看av永久| 亚洲品质国产精品无码| 最新日韩AV网址在线观看| 熟妇无码人妻| 最新国产在线| 国产手机在线小视频免费观看| 亚洲人精品亚洲人成在线| 亚洲丝袜中文字幕| 精品国产三级在线观看| 国产成人三级| 青青极品在线| 亚洲熟妇AV日韩熟妇在线| 成人国产精品网站在线看| 欧美在线伊人| 丁香五月激情图片| 91久久夜色精品国产网站| 国产三级视频网站| 国产成人综合在线观看| 国产情精品嫩草影院88av| 67194在线午夜亚洲 | 国产精品自在在线午夜区app| 黄色国产在线| V一区无码内射国产| 毛片最新网址| 亚洲三级成人| 国产精品无码制服丝袜| 国产精欧美一区二区三区| 国产福利影院在线观看| 日韩不卡高清视频| 久久伊人操| 亚洲天堂视频在线观看| 国产成人狂喷潮在线观看2345| 亚洲91精品视频| 久久精品亚洲中文字幕乱码| 亚洲美女视频一区| 国产日韩久久久久无码精品| 波多野结衣亚洲一区| 欧美色99| 国产aⅴ无码专区亚洲av综合网| 九月婷婷亚洲综合在线| 91亚洲视频下载| 亚洲无码视频一区二区三区| 97视频免费在线观看| 天天操天天噜| 午夜国产理论| 99久久成人国产精品免费| av午夜福利一片免费看| 日韩不卡免费视频| 亚洲精品日产AⅤ| 午夜激情福利视频| 无码免费的亚洲视频| 成人韩免费网站| 亚洲免费人成影院| 人人妻人人澡人人爽欧美一区| 无套av在线| 91久久夜色精品国产网站| 久久久噜噜噜| A级毛片高清免费视频就| 少妇精品在线| 国产三级视频网站| 日韩午夜片| 国产精品第页| 国产精品无码影视久久久久久久| 国产99视频在线| 亚洲一道AV无码午夜福利| 无码丝袜人妻| 欧美日本二区| 国产91成人| 真实国产乱子伦视频| 国产又粗又猛又爽| 99在线观看免费视频| 日韩精品欧美国产在线| 亚洲人成在线精品| 欧美激情福利| 美女国内精品自产拍在线播放| 亚洲综合色在线| 一级黄色片网| 国产欧美精品一区二区| 欧美不卡视频一区发布|