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

基于ADS2的嵌入式軟件測試仿真程序設計方法研究

2019-06-11 08:26:31張海軍
科技風 2019年12期

張海軍

摘 要:隨著嵌入式系統的廣泛應用,如何對其進行仿真測試成為當前研究的熱點。ADS2是一套用于在嵌入式實時系統設計、原型開發和集成過程中進行仿真和測試的工具。本文首先介紹了ADS2的工作原理,之后詳細說明了如何利用SST、TCL、C語言來進行仿真程序的設計,并分析了這些方法的各自特點。

關鍵詞:ADS2;嵌入式軟件測試;仿真程序

嵌入式系統測試不同于傳統的軟件測試,嵌入式系統軟件與硬件緊密結合,而各類硬件平臺的的巨大差異,不僅在測試技術上帶來很大困難,而且測試成本更難以保證。ADS2(Avionics Development System)航空電子設備測試系統是開放的以通用的工業標準為基礎的分布式實時系統,主要用于航空和電子系統領域分布式實時系統的測試、開發與集成,它具有硬件仿真模擬、數據采集分析、部件測試等功能。

1 仿真程序實現機制

1.1 硬件結構

ADS2是一套用于在嵌入式實時系統原型設計、集成和測試過程中進行仿真和測試的系統,支持嵌入式系統設計、調試、測試全過程。ADS2提供了devSMART bench工具套件來進行系統配置和管理,可以實現數據可視化、記錄、重放、仿真、腳本編輯等操作,devSMART bench擁有友好的圖形化界面,具有完全整合的版本控制和打印功能,同時支持Windows和UNIX平臺,可以大大減輕測試人員的工作量,提高測試效率。

1.2 CVT(Current Value Table)

CVT是一個分布式的、實時數據庫,存儲著ADS2內部的各種數據(比如:系統參數、I/O數據、設備控制參數等)以及相關的變量名、缺省值、最大/最小值等數據描述。實時內核提供訪問CVT變量的方法,所有工具、I/O設備、外部應用程序之間沒有直接的接口,所有ADS2組件的數據交換通過CVT變量進行。

1.3 基于幀的調度和數據交換

ADS2中的各種實時處理(如:輸入/輸出處理、數據記錄、仿真等),由ADS2 scheduler負責調度。ADS2實時處理以幀(Frame)為基本時間單位,在一個幀周期內:設備可以進行一次完整的數據輸入和輸出;仿真程序可以進行一次輸入變量讀取、計算和結果輸出;可視化工具可以進行一次CVT變量值讀取等。

1.4 外部編程接口EXAPI(External Application Interface)

ADS2提供了一套完善的外部編程接口EXAPI(External Application Interface),使外部應用程序能夠在ADS2中運行,它支持C、TCL、Python語言和MATRIX、Matlab/Simulink第三方工具。EXAPI提供了一種運行外部仿真和測試程序的機制,它包含一個豐富的函數庫,使外部程序可以訪問CVT表和進行程序調度,實現部件的仿真、原型開發和測試。

2 仿真程序設計方法

2.1 SST(Signal Simulation Tool)信號仿真工具

ADS2提供SST(Signal Simulation Tool)信號仿真工具,用來產生一些簡單的信號源,比如:正余弦、斜坡、脈沖信號等,雖然SST可以通過手工的方式快速定制信號源,但是卻不能對信號進行處理,因此在實際使用使用中受到很大限制。SST可以保存為.sst文件,直接載入RTCore執行。

2.2 TCL(Test Control Language)測試控制語言

TCL是ADS2提供的一種解釋型腳本語言,由專門的解釋器翻譯后執行,不能實現硬件的實時控制。TCL解釋器可在Unix和Windows工作站上運行,不支持VxWorks實時系統,因此TCL腳本程序只能在被配置為RT_WORKSTATION的工作站上解釋執行。TCL腳本程序中可以直接引用CVT變量名進行讀寫操作,也可直接使用EXAPI的各種函數。由于TCL是ADS2內部支持的編程語言,使用方便、結構清晰,更利于理解,但它要求具備一定的編程經驗,比如多線程、異常處理等。TCL腳本程序可利用devScript Editor進行編輯。

2.3 C仿真程序

C仿真程序的編寫過程如下:

(1)用the devConfig Configuration Editor工具創建CVT文件,添加仿真程序輸入、輸出變量的CVT映射變量,以及CVT變量的具體類型。

(2)用the devConfig Configuration Editor工具創建SID文件,說明哪些CVT變量做為仿真程序的輸入或輸出變量。

(3)編寫C仿真程序。注意:程序中不能直接使用CVT變量名,如CVT變量sine::freq要改成sine_xx_freq,這是ADS2編譯器默認的一種轉換。程序中的輸入/出變量類型要和CVT變量類型相匹配。

(4)建立malefile文件。malefile主要有兩個功能:第一、生成.h文件,它包含CVT變量sine::freq和輸入/出變量sine_xx_freq之間轉換的宏定義;第二、指明編譯目標文件的格式,如ARCH=PPC目標文件在VxWorks 55系統上執行,ARCH=win32目標文件在Windows XP/2000系統上執行,ARCH=linux目標文件在linux系統上執行等。

(5)用make命令編譯源程序,生成可執行程序。Makefile、.c源代碼文件必須在同一目錄下,最后得到.h頭文件和.o或.exe可執行文件。

(6)用the devConfig Configuration Editor工具創建CMP文件,添加SID文件和.o或.exe可執行文件。

(7)創建工程和會話文件,添加所需的可視化工具,運行仿真程序。

C語言應用廣泛,功能強大,VxWorks、Windows、Unix、Linux均支持C仿真程序的運行,因此用C編寫的仿真程序即可在RTCore上運行又可在WorkStation上運行,只是因為不能直接使用CVT變量而要進行宏定義和仿真接口定義。

3 結語

ADS2為各類嵌入式系統的設計、原型開發和集成提供了一種方便、有效的手段,而其對多種編程語言和工具軟件的支持,可以讓測試人員在進行仿真程序設計時根據實際需要靈活選擇。如何將ADS2有效地應用于武器整備的仿真測試中,這是一件非常有意思的工作,除了本文對仿真程序設計方法的研究之外,更需要結合部隊武器裝備的使用情況,對ADS2硬件配置、FIBO(Fault Insertion & Breakout System)、虛擬原型、硬件環路(hardware-in-the-loop)、操作環路(man-in-the-loop)等進行深入研究。

參考文獻:

[1]ADS2User Reference manual.

[2]ADS2 Modules Catalog.

主站蜘蛛池模板: 国产91麻豆视频| 久久6免费视频| 国产一级裸网站| 国产免费黄| 久久国产精品77777| 日韩 欧美 小说 综合网 另类 | 国产精品无码AV中文| 亚洲国产亚洲综合在线尤物| 国产人成乱码视频免费观看| 欧美精品v| 波多野结衣的av一区二区三区| 国产精品亚洲欧美日韩久久| 亚洲精品片911| 免费人成在线观看成人片| 一级高清毛片免费a级高清毛片| 国产精品美女网站| 91美女在线| 欧美a级完整在线观看| 最新国产你懂的在线网址| 日韩欧美国产另类| 国产最新无码专区在线| 91视频精品| 欧美亚洲中文精品三区| 日本在线免费网站| 国产JIZzJIzz视频全部免费| 亚洲Va中文字幕久久一区| 狠狠ⅴ日韩v欧美v天堂| 国产欧美视频综合二区| 在线网站18禁| 亚洲人免费视频| 国产三级毛片| www.国产福利| 亚洲天堂视频网| 国产福利观看| 亚洲人在线| 91精品啪在线观看国产91| 国产精品视频猛进猛出| 亚洲av片在线免费观看| 国产一区二区三区在线观看视频| 亚洲va视频| 喷潮白浆直流在线播放| 试看120秒男女啪啪免费| 亚洲视频一区在线| 一区二区三区四区在线| 久久久无码人妻精品无码| 777国产精品永久免费观看| 欧美人与牲动交a欧美精品| 在线综合亚洲欧美网站| 人妻中文久热无码丝袜| 成人一区专区在线观看| 红杏AV在线无码| 国产产在线精品亚洲aavv| 嫩草影院在线观看精品视频| 亚洲国产成人超福利久久精品| 熟妇丰满人妻| 国产精品第一区在线观看| 国产性爱网站| 亚洲精品欧美日韩在线| 亚洲欧美自拍视频| 干中文字幕| 成人年鲁鲁在线观看视频| 草逼视频国产| 午夜人性色福利无码视频在线观看| 中文字幕无线码一区| 青青青亚洲精品国产| 日韩久草视频| 无遮挡一级毛片呦女视频| 中文字幕免费在线视频| 黄色网在线| 免费一级大毛片a一观看不卡| 国产第一页亚洲| 亚洲五月激情网| 日韩在线欧美在线| 韩日午夜在线资源一区二区| 欧亚日韩Av| 成人亚洲天堂| 久久综合丝袜长腿丝袜| 亚洲国产中文在线二区三区免| 欧美在线视频a| 伊人大杳蕉中文无码| 午夜少妇精品视频小电影| 精品少妇人妻一区二区|