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.

主站蜘蛛池模板: 中文字幕永久视频| 精品国产自| 99久久精品免费视频| 亚洲 日韩 激情 无码 中出| 超碰色了色| 国产97视频在线观看| 992Tv视频国产精品| 夜精品a一区二区三区| 91精品国产麻豆国产自产在线| 国产高潮视频在线观看| 色哟哟国产精品| 精品国产网站| 成人午夜精品一级毛片| 另类欧美日韩| 亚洲午夜久久久精品电影院| 日本日韩欧美| 国产特级毛片aaaaaa| 中国国产A一级毛片| 免费不卡在线观看av| 国产成人精品视频一区二区电影| 国产爽歪歪免费视频在线观看| 国产精品污污在线观看网站| 青青草原国产| 亚洲国产成人自拍| 伊人欧美在线| 91视频国产高清| 日本黄网在线观看| 99久久免费精品特色大片| 亚洲欧美在线看片AI| 欧美精品成人一区二区在线观看| 97se亚洲综合在线天天| 国产高清在线丝袜精品一区| 国产一区二区精品福利| 5388国产亚洲欧美在线观看| 热热久久狠狠偷偷色男同| 91美女视频在线观看| 国产呦精品一区二区三区网站| 幺女国产一级毛片| 都市激情亚洲综合久久| 国产va欧美va在线观看| 久久久久久久蜜桃| 日本成人福利视频| 高清色本在线www| 99精品久久精品| 一级毛片高清| 囯产av无码片毛片一级| 午夜精品久久久久久久无码软件| www.国产福利| 亚洲成a∧人片在线观看无码| 国产在线精彩视频二区| 18禁不卡免费网站| 99re66精品视频在线观看 | 日本91在线| 亚洲天堂视频网站| 99热线精品大全在线观看| 99这里只有精品免费视频| 亚洲一区国色天香| 一区二区自拍| 亚洲一区无码在线| 国产中文在线亚洲精品官网| 精品视频一区二区观看| 亚洲swag精品自拍一区| 日韩无码视频专区| 九九这里只有精品视频| 国产综合欧美| 国产成人精品免费av| 亚洲成AV人手机在线观看网站| 国产日韩欧美成人| 欧美日韩另类国产| 欧美一区二区福利视频| 亚洲国产成人在线| 中文字幕无码av专区久久| 亚洲丝袜第一页| 久久婷婷色综合老司机| 亚洲伊人天堂| 欧美亚洲国产精品久久蜜芽| 色窝窝免费一区二区三区| 青青青视频蜜桃一区二区| 久久免费视频播放| 亚洲性一区| 欧美一区精品| 黄色三级毛片网站|