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

基于QEMU仿真平臺下RTEMS應用測試技術研究

2013-10-18 09:39:42閆洋銘蔡建平
無線電工程 2013年5期
關鍵詞:嵌入式模型

閆洋銘,蔡建平

(北京工業大學,北京 100124)

0 引言

RTEMS[1]是80年代美國研制的軍用實時操作系統且被運用于導彈控制系統。1994年源碼開放后,多被應用于衛星探測系統、武器控制系統和工業中控系統。因此一般運用RTEMS系統的領域都對系統可靠性和實時性有很嚴格的要求,然而RTEMS在真實環境下測試難度和風險都很大。由Fabrice Bellard主要編寫的一套二進制指令動態翻譯器QEMU[2],是一款跨平臺、仿真速度快、開源并且支持多種CPU架構的虛擬軟件。

1 仿真測試平臺設計

RTEMS多應用于一些要求質量和可靠性很高的領域,并且其使用的硬件和儀器都十分精密和昂貴,有的甚至需要保密,所以直接在目標環境下運行和測試RTEMS不是特別合適的選擇。嵌入式仿真測試可以構建一個不需要真實目標機參與的測試環境,利用QEMU模擬真實的嵌入式系統、CPU架構和外圍設備等,從而建立RTEMS仿真測試環境。

與其他嵌入式測試不同,基于RTEMS仿真測試是在同一宿主機下搭建測試環境,可以是Windows平臺或者Linux平臺。本文研究的是Windows平臺下,通過全數字仿真測試策略完成對RTEMS嵌入式軟件的黑盒測試。如圖1所示,QEMU模擬出指定的CPU架構和I/O,并且不需要修改和特殊編譯的RTEMS應用程序就直接能運行在虛擬目標機上。測試代理上解析擴展的Python實時測試腳本,通過外圍激勵相關技術和重定向讀寫技術[3],完成開環測試、閉環測試、混合測試以及多路并發測試4種外圍激勵模式,從而達到對RTEMS嵌入式軟件自動、實時、非侵入性的黑盒測試。

圖1 基于RTEMS仿真測試環境

面對復雜而繁多的嵌入式硬件接口,如果靠修改QEMU源碼來修改需要的I/O和外圍設備效率很低,另外,為了保證RTEMS嵌入式軟件的高可靠性和魯棒性,通過設計SystemC下的虛擬I/O仿真模塊[4],從而方便并且靈活地進行黑盒測試和故障注入測試,方便地收集RTEMS在正常和異常情況下的測試數據。

測試代理是銜接上層用戶UI接口和下層測試實施接口的測試執行管理器,根據QEMU特性,測試代理與QEMU上的Monitor進行通信。由于測試代理內各個模塊之間的數據需要頻繁交換,保證測試代理的高效性、數據精準及整個系統各模塊間無誤的工作,基于C++面向對象程序設計,設計了仿真代理模塊數據傳輸類,對各個模塊間的數據進行包裝,保證數據傳輸時協調和準確[5]。

2 仿真測試控制

仿真平臺控制模塊是黑盒測試當中最基本、也是最重要的一個部分,它負責連接虛擬環境,加載相關參數操作,在測試過程中負責與QEMU Monitor交互通信,控制QEMU的啟動、停止和掛起,并且可以從QEMU Monitor中讀取虛擬環境運行狀態。相關參數操作環節主要是啟動環境參數配置,其中包括虛擬目標機IP地址、文件系統類型、測試代理工作端口號、RTEMS的elf二進制文件映像絕對地址和外圍設備參數等。仿真平臺控制視圖如圖2所示。

圖2 仿真平臺控制視圖

Python[6]是一種解釋型、面向對象、動態語義、語法優美、跨平臺的開源腳本語言。結合QEMU黑盒測試的特點,使用C或C++對其核心命令集和數據集進行擴展。通過上述激勵方式介紹,Python的擴展[7]需要與仿真激勵控制的數據保持同步,包括仿真時鐘標識、仿真激勵方式和仿真I/O標識等,同時,指令集的擴展包括激勵控制、數據收集和生成xml測試報告等。

3 外圍設備仿真

QEMU自身提供的仿真I/O外圍設備少而簡單,而RTEMS使用的都是復雜或者在測試過程中需要修改的外圍設備。如果通過修改QEMU的硬件抽象層源代碼來實現仿真I/O等外圍設備功能,不僅開發效率低耦合度高,而且系統可擴展性和可復用性也很差,所以使用SystemC仿真外圍虛擬設備。SystemC是一種非常著名的系統級描述語言,QEMU和SystemC之間的通信機制可以分為分布式系統和單一系統[8]2種。本文是在同一系統平臺下進行黑盒仿真測試,QEMU與SystemC的通信機制主要通過Socket API實現。嵌入式仿真測試重點在于激勵的注入、采集和虛擬 I/O外圍設備,SystemC不像其他硬件仿真語言,它可以提供多種抽象層次的仿真,包括寄存器傳輸層和功能參數層。對于黑盒仿真測試只關注虛擬I/O的功能參數層就夠了,不需要其精確的行為描述,所以SystemC非常適合黑盒仿真測試虛擬I/O編寫。通過修改虛擬的I/O設備運行狀態、功能和參數,可以快速地進行激勵控制,同時,還可以方便地進行故障注入測試。QEMU本身沒有包含任何與SystemC通信的接口,通過Socket APIs生成TLM(Transaction Level Modeling)[9]通道連接 QEMU和SystemC,如圖3所示。

圖3 QEMU-SystemC仿真框架

外圍激勵是驅動黑盒測試重要部分,外圍仿真激勵主要分為2種:向虛擬 CPU發送外部中斷和向虛擬I/O端口發送信號。RTEMS是實時操作系統,激勵的注入應考慮到邏輯、時序和實時問題,為了盡可能地滿足仿真激勵注入的正確和有效,保證仿真系統和宿主機平臺數據一致性和實時性,設計了以CPU滴答時鐘為基礎的仿真時鐘(Simulation Clock,ST)[10]。仿真時鐘頻率(Simulate Timer Frequency,STF)與計數初值之間的關系為:

STF=輸入時鐘頻率/計數初值。

這樣做也是為了方便在今后工作中需要對RTEMS應用性能評估和基準測試起到鋪墊作用。ST仿真時鐘有5元組:ST{STI(仿真時鐘標記),SF(仿真頻率),SL(仿真激勵發射器),SII(仿真I/O標記),SSU(仿真激勵更新)}。仿真時鐘工作模式如圖4所示。

圖4 仿真時鐘工作模式

4 外圍激勵注入

設計了4種激勵模式:開環激勵模式、閉環激勵模式、混合外圍激勵模式和多路并發激勵模式。其中開環激勵模式較為簡單,閉環激勵模式較為復雜,混合外圍激勵和多路并發是建立在開環和閉環之上的。

更新的激勵種子來自于仿真模型的激勵計算器,仿真模型可以是開發人員根據實際項目定制的各種模型,也可以是由第三方提供的如事件模型、中斷模型、重力模型或運動模型等等[11]。將第一輪產生的激勵反饋邏輯寫入激勵控制器計算出下一輪的激勵種子,根據仿真時鐘的屬性再次加載注入到指定I/O里,直到仿真模型激勵計算器計算結束,退出閉環激勵模型。多路閉環外圍激勵模型如圖5所示。

圖5 多路閉環仿真激勵接口模型

5 結束語

本文實現了基于虛擬機QEMU搭建RTEMS系統仿真平臺,使測試用例通過測試代理模塊將外圍激勵注入,從而驅動測試執行,并通過重定向端口來收集測試數據。在取得一定成果的同時,還存在很多工作需要改進和完成,測試代理內的數據交換頻繁,需要一個實時、準確并且與仿真平臺同步的數據傳輸協議,同時需要優化仿真I/O外圍設備性能。為了盡可能地達到與真實環境一致的條件,準備基于RTEMS應用進行性能基準測試,一是使仿真環境接近真實環境,二是可以采集RTEMS應用性能測試數據以備分析。 ■

[1]BRUNO B,JOSEPH S.Embedded System Design[M].Germany:Springer Berlin Heidelberg,2005.258 -286.

[2]DANIEL B.QEMU:A Multihost,Multitarget Emulator[J].Specialized Systems Consultants,2006,6(145):145-150.

[3]王軼辰,劉 斌.嵌入式軟件仿真測試環境接口通訊協議研究[J].計算機工程與設計,2005,26(2):451-453.

[4]馮志華,陳 曦,高社生.一種異構多核片上系統的SystemC系統級綜合方法[J].系統工程與電子技術,2010,32(11):2484 -2489.

[5]韋 工.嵌入式仿真測試系統設計與實現[J].船舶電子工程,2004,24(6):103 -106.

[6]陳 儒.Python源碼分析[M].北京:電子工業出版社,2008:23-96.

[7]蔣崇武,劉 斌,王軼辰,等.基于Python的實時嵌入式軟件測試腳本[J].計算機工程,2009,35(15):64-67.

[8]MONTON,PORTERO,MORENO,et al.Mixed SW/SystemC SoC emulation framework[C]∥International Symposium on Industrial Electronics,2007:2338 - 2341.

[9]CHEN T,GUO T,MING C .A Fast Cycle-Accurate Instruction Set Simulator Based on QEMU and SystemC for SoC Development[J].Journal of System Architecture,2012,58(3):1033 -1038.

[10]李興瑋,張衛華,潘玉林.通用計算機實時仿真技術[J].國防科技大學學報,2005,27(2):75 -79.

[11]何新華,蔡紅柳,王 維.嵌入式軟件數字仿真測試研究[J].儀器儀表學報.2002,23(3):471-472.

猜你喜歡
嵌入式模型
一半模型
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
搭建基于Qt的嵌入式開發平臺
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
3D打印中的模型分割與打包
FLUKA幾何模型到CAD幾何模型轉換方法初步研究
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 911亚洲精品| 伊人成人在线| 欧美.成人.综合在线| 亚洲男人的天堂久久精品| 亚洲系列中文字幕一区二区| 真人高潮娇喘嗯啊在线观看| 日本欧美精品| 国产一级小视频| 久久国产V一级毛多内射| 性视频一区| 久草视频中文| 久久婷婷国产综合尤物精品| 久久综合伊人77777| 国产理论精品| 综合久久五月天| 久久永久视频| 国产无码精品在线| 久久精品免费看一| 精品国产成人国产在线| 亚洲综合欧美在线一区在线播放| 91在线激情在线观看| 亚洲第一视频免费在线| 青青青亚洲精品国产| 天天综合网亚洲网站| 日本不卡在线视频| 精品国产自在现线看久久| 综合久久久久久久综合网| 欧美综合区自拍亚洲综合绿色 | 国产人人乐人人爱| 国产精品尹人在线观看| 777国产精品永久免费观看| 亚洲无线一二三四区男男| 亚洲不卡网| 国产AV无码专区亚洲A∨毛片| 免费A级毛片无码免费视频| 色婷婷色丁香| 国产精品吹潮在线观看中文| 欧美日韩高清在线| 欧洲高清无码在线| 国产成人高清在线精品| 毛片免费试看| 亚洲人成网站观看在线观看| 亚洲区第一页| 成人在线观看一区| 香蕉久人久人青草青草| 91午夜福利在线观看| 国产一级二级三级毛片| 精品丝袜美腿国产一区| 国产精品免费p区| 欧美日韩亚洲国产| 国产在线观看精品| 亚洲人成电影在线播放| 国产swag在线观看| 夜夜操天天摸| 欧美亚洲欧美区| 国产亚洲精品yxsp| 亚洲免费黄色网| 亚洲男人在线天堂| 成人在线天堂| 91丝袜在线观看| 特级毛片免费视频| 波多野结衣一区二区三视频| 亚洲精品另类| av大片在线无码免费| 亚洲国产欧美目韩成人综合| 中美日韩在线网免费毛片视频| 国产91特黄特色A级毛片| 97亚洲色综久久精品| 久久成人18免费| 国产毛片基地| 亚卅精品无码久久毛片乌克兰| 91成人在线观看| 婷婷综合在线观看丁香| 一级不卡毛片| 成人福利在线免费观看| 国产欧美性爱网| 国产一区二区丝袜高跟鞋| 亚洲最新在线| 妇女自拍偷自拍亚洲精品| 亚洲中文字幕手机在线第一页| 伊人色天堂| 亚洲第一成年人网站|