• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    基于Keil C51的嵌入式軟件外設(shè)虛擬化設(shè)計(jì)與實(shí)現(xiàn)

    2023-04-26 08:21:36宋雷軍魏冬冬于清華
    計(jì)算機(jī)測量與控制 2023年4期
    關(guān)鍵詞:嵌入式軟件外設(shè)虛擬化

    申 臻,宋雷軍,魏冬冬,于清華,劉 濤

    (上海航天電子技術(shù)研究所,上海 201109)

    0 引言

    8051單片機(jī)已在航空航天控制領(lǐng)域廣泛應(yīng)用,需要測評的嵌入式軟件數(shù)量逐年增多。軟件測試又是保障軟件安全、正確、完整的關(guān)鍵環(huán)節(jié)[1]。測試人員使用被測件的硬件平臺完成測試,通常會面臨兩個(gè)問題:1)重大科研或者重要型號項(xiàng)目的物理環(huán)境,難以為測試工作提供足夠的使用時(shí)間[2];2)不能執(zhí)行可能引起物理環(huán)境破壞的異常測試,測試的覆蓋性得不到保證[3]。面對只有軟件源代碼,實(shí)物測試環(huán)境不具備、故障測試用例無法執(zhí)行的測評任務(wù),如何提供有效測試環(huán)境成為軟件測評單位的難題。

    編譯軟件Keil C51(美國Keil Software公司開發(fā))為51系列單片機(jī)程序[4]提供開發(fā)調(diào)試環(huán)境,涵蓋編輯、編譯、連接、調(diào)試、仿真等整個(gè)開發(fā)流程。在測試中,通過Keil編譯被測試的嵌入式軟件(以下簡稱為“被測件”)代碼,并提供被測件運(yùn)行的仿真環(huán)境?;贙eil提供的高級仿真接口(AGSI,advanced generic simulator interface)[5]自研全數(shù)字測試平臺(以下簡稱“測試平臺”)模擬芯片指令[6],實(shí)現(xiàn)被測件的仿真運(yùn)行、外圍激勵(lì)注入、外設(shè)硬件接口模擬、覆蓋率統(tǒng)計(jì)等。

    基于以上背景,Keil C51為被測件提供運(yùn)行環(huán)境;測試平臺提供虛擬化接口、外圍激勵(lì)環(huán)境[7],實(shí)現(xiàn)測試用例執(zhí)行、故障注入、邊界測試以及測試結(jié)果的觀察。測試平臺與Keil之間通過用戶數(shù)據(jù)報(bào)協(xié)議(UDP,user datagram protocol)完成數(shù)據(jù)交互[8]。

    本文基于Keil C51及測試平臺,完成被測件外設(shè)的虛擬化,生成可在測試平臺上運(yùn)行的可復(fù)用模塊。虛擬化外設(shè)包括:1553B總線、模數(shù)轉(zhuǎn)換 (AD,analog digital)采集、輸入/輸出(I/O,input/output)數(shù)據(jù)、RS422總線。測評人員通過測試平臺選擇被測件運(yùn)行所需的虛擬化外設(shè)模塊,構(gòu)建全數(shù)字測試環(huán)境,實(shí)現(xiàn)被測件運(yùn)行過程的可控,內(nèi)存、寄存器信息的可改。最后,以開發(fā)某電源下位機(jī)測試平臺為例,完成故障注入、測試用例執(zhí)行、測試結(jié)果觀測,驗(yàn)證虛擬化外設(shè)在嵌入式軟件測試過程中的有效性和可靠性。

    1 系統(tǒng)結(jié)構(gòu)及原理

    嵌入式軟件測試需要具備兩個(gè)條件:1)嵌入式軟件的運(yùn)行環(huán)境[9];2)測試激勵(lì)注入及嵌入式軟件輸出數(shù)據(jù)的解析與顯示[10]。虛擬化的外設(shè)、通訊中間件、Keil,三者關(guān)系結(jié)構(gòu)如圖1所示。測試平臺的上位機(jī)部分,完成測試激勵(lì)注入以及接收、解析、顯示嵌入式軟件輸出的數(shù)據(jù);測試平臺的下位機(jī)部分,基于AGSI實(shí)現(xiàn)嵌入式軟件運(yùn)行時(shí)內(nèi)存、寄存器讀寫監(jiān)控、數(shù)據(jù)同步、觸發(fā)中斷、UDP通信等;Keil C51的uVision版本提供Windows下的集成開發(fā)環(huán)境(IDE,integrated development environment),實(shí)現(xiàn)嵌入式軟件的編譯、調(diào)試、運(yùn)行[11-13]。本文重點(diǎn)介紹1553B虛擬化、AD采集虛擬化、RS422虛擬化、I/O虛擬化。

    圖1 測試平臺架構(gòu)

    嵌入式軟件運(yùn)行過程會響應(yīng)不同中斷源,CPU檢測到中斷請求,執(zhí)行中斷服務(wù)程序做相應(yīng)的處理。測試平臺根據(jù)不同中斷源,更改對應(yīng)寄存器地址中的值,Keil內(nèi)核監(jiān)測到特殊寄存器值更改時(shí)觸發(fā)中斷,嵌入式軟件進(jìn)入中斷服務(wù)程序。其中特殊寄存器包括:串行口控制寄存器(SCON,serial control)、中斷開發(fā)/禁止(IE,interrupt enable)、P0口、P1口、P2口、P3口(8bit分別代表不同的中斷源,如P3.2為外部中斷INT0,P3.3為外部中斷INT1)等。對于中斷方式為電平觸發(fā)、邊沿觸發(fā),測試平臺可向P3口對應(yīng)bit位寫入高電平、低電平、上升沿、下降沿,實(shí)現(xiàn)中斷的觸發(fā)。

    測試平臺實(shí)現(xiàn)對被測件內(nèi)存、寄存器的讀寫仿真,模擬總線1553B、AD、RS422、I/O接口等外設(shè)與被測件交互數(shù)據(jù)的過程。仿真過程如下:

    1)上位機(jī)監(jiān)控被測件需要向外設(shè)寫數(shù)據(jù)的全部地址。當(dāng)Keil軟核識別到被測件運(yùn)行至向外設(shè)輸出數(shù)據(jù)處(即被測件寫地址操作),虛擬軟核觸發(fā)下位機(jī)中的寫回調(diào)函數(shù),通知下位機(jī)此時(shí)被測件向哪個(gè)地址寫入何值。下位機(jī)將收到的地址值及數(shù)據(jù),通過UDP發(fā)送給上位機(jī)程序,上位機(jī)收到地址及數(shù)據(jù)完成數(shù)據(jù)解析與界面顯示等后續(xù)處理。實(shí)現(xiàn)嵌入式軟件內(nèi)存、寄存器寫地址動(dòng)作的仿真。

    2)上位機(jī)監(jiān)控被測件需要從外設(shè)讀數(shù)據(jù)的全部地址。當(dāng)Keil軟核識別到被測件運(yùn)行至從外設(shè)讀取數(shù)據(jù)處(即被測件讀地址操作),虛擬軟核觸發(fā)下位機(jī)中的讀回調(diào)函數(shù),通知下位機(jī)當(dāng)前被測件讀取的地址值。下位機(jī)將收到的地址值,通過UDP發(fā)送給上位機(jī)程序。上位機(jī)將虛擬外設(shè)向該地址寫入的模擬數(shù)據(jù),通過UDP發(fā)送給下位機(jī)通訊接口,使得被測件采集到上位機(jī)寫入的數(shù)據(jù)。實(shí)現(xiàn)嵌入式軟件內(nèi)存、寄存器讀地址動(dòng)作的仿真。

    2 外設(shè)虛擬化設(shè)計(jì)與實(shí)現(xiàn)

    測試平臺的上位機(jī)部分主要包括上位機(jī)界面和虛擬外設(shè)。上位機(jī)界面分為輸入數(shù)據(jù)、輸出數(shù)據(jù)兩大部分:1)輸入數(shù)據(jù)部分,測試人員根據(jù)測試需求設(shè)置仿真數(shù)據(jù),通過虛擬外設(shè)將仿真數(shù)據(jù)發(fā)送給被測件。測試人員可設(shè)置不同的測試數(shù)據(jù),完成被測件的邊界測試、故障測試,保障測試充分性;2)輸出數(shù)據(jù)部分,實(shí)時(shí)顯示被測件運(yùn)行過程中輸出數(shù)據(jù)的解析及狀態(tài)顯示,供測試人員分析測試結(jié)果。

    虛擬外設(shè)將測試人員在上位機(jī)界面設(shè)置的仿真數(shù)據(jù),轉(zhuǎn)換為滿足外設(shè)特定格式的數(shù)據(jù)幀,將轉(zhuǎn)換后的數(shù)據(jù)幀發(fā)送給被測件,實(shí)現(xiàn)測試激勵(lì)的注入。同時(shí),虛擬外設(shè)接收被測件運(yùn)行過程中輸出的數(shù)據(jù),轉(zhuǎn)交給上位機(jī)界面,完成數(shù)據(jù)的解析、顯示、存儲等處理。

    其中,虛擬外設(shè)的設(shè)計(jì)與實(shí)現(xiàn)主要包括:總線1553B虛擬化、AD采集虛擬化、總線RS422虛擬化、被測件I/O接收虛擬化。

    2.1 總線1553B虛擬化設(shè)計(jì)與實(shí)現(xiàn)

    開展總線1553B虛擬化工作之前,需要研究1553B總線的物理實(shí)現(xiàn)邏輯,分析開發(fā)測試平臺需要仿真1553B總線的方法及內(nèi)容。本小節(jié)首先介紹測試平臺所關(guān)注的1553B總線簡介、1553B物理實(shí)現(xiàn)邏輯。其次,根據(jù)總線1553B物理實(shí)現(xiàn)邏輯的研究,設(shè)計(jì)并實(shí)現(xiàn)1553B中總線控制器(BC,bus controller)、遠(yuǎn)程終端(RT,remote terminal)的仿真。

    2.1.1 1553B總線簡介

    1553B出自美軍標(biāo)準(zhǔn)MIL-TD-1553B,原為美軍航空電子綜合通信的標(biāo)準(zhǔn),全稱為“飛機(jī)內(nèi)部時(shí)分制指令響應(yīng)式多路傳輸數(shù)據(jù)總線”[14]。1553B為基于消息(Message)的通信協(xié)議,每條消息的最大信息量32字,分為命令字、數(shù)據(jù)字、狀態(tài)字,每類字長20 bit(有效數(shù)據(jù)16 bit),每個(gè)字的前3位為單字的同步字頭,最后1位是奇偶校驗(yàn)位[15]。命令字位于每條消息的起始部分,其內(nèi)容決定消息的特征與標(biāo)識,狀態(tài)字只能由RT發(fā)出,其內(nèi)容表征RT向BC發(fā)出的有效命令的反饋,BC根據(jù)狀態(tài)字內(nèi)容決定下一步操作。數(shù)據(jù)字支持RT->BC、BC->RT、RT->RT傳輸數(shù)據(jù)[16],具體字內(nèi)容如圖2所示。

    圖2 1553B總線字格式

    1553B總線采用指令/響應(yīng)型通信協(xié)議,包括3種終端:總線控制器BC、遠(yuǎn)程終端RT、總線監(jiān)視器(MT,monitor terminal)。傳輸?shù)男畔⒏袷接蠦C->RT、RT->BC、RT->RT、廣播方式和系統(tǒng)控制方式,且全部在BC的參與下完成。1553B總線傳輸消息的標(biāo)準(zhǔn)過程為:BC向某RT發(fā)送接收/發(fā)送指令,RT在給定的響應(yīng)時(shí)間范圍內(nèi)發(fā)回一個(gè)狀態(tài)字,并執(zhí)行消息的接收/發(fā)送[17]。消息傳輸格式如圖3所示。其中*表示響應(yīng)時(shí)間,范圍是4.0~12.0 μs,表示消息間隔時(shí)間,規(guī)定>4 μs。

    圖3 消息傳輸格式

    2.1.2 1553B物理實(shí)現(xiàn)邏輯研究

    1553B實(shí)現(xiàn)虛擬化,完成與被測件數(shù)據(jù)、指令交互,需要清晰的梳理出1553B物理實(shí)現(xiàn)邏輯。在1553B總線簡介中指出3種終端:BC、RT、MT,其中BC、RT完成總線指令、總線數(shù)據(jù)的收發(fā)。本段著重介紹BC、RT的物理邏輯。

    RT存儲器結(jié)構(gòu)在非增強(qiáng)模式和增強(qiáng)模式下,有如表1所示幾個(gè)區(qū)域均被設(shè)置為專用區(qū)。其他區(qū)域?yàn)閿?shù)據(jù)塊等。RT查找表實(shí)現(xiàn)將TX/RX/BCST子地址對應(yīng)的數(shù)據(jù)塊映射到共享RAM區(qū)的機(jī)制。可對單獨(dú)子地址所指向的存儲空間進(jìn)行讀寫操作,對廣播、接收、發(fā)送數(shù)據(jù)分離處理,實(shí)現(xiàn)安全、獨(dú)立的存取數(shù)據(jù)。RT指令堆棧的長度可設(shè)為125字、512字、1 024字、2 048字。

    1553B采用雙緩存機(jī)制,對應(yīng)查找表A、B。每個(gè)查找表分4塊:32個(gè)發(fā)送子地址、32個(gè)接收子地址、32個(gè)廣播子地址、32個(gè)子地址控制字。RT查找表具體內(nèi)容如表2所示。

    表1 RT存儲器機(jī)構(gòu)固定部分

    表2 RT查找表

    子地址控制字中存儲管理器2、存儲管理器1、存儲管理器0(MM,memery management)3 bit的取值,設(shè)置每次發(fā)送、接收或廣播數(shù)據(jù)的長度,長度可設(shè)置為128字、256字、512字、1 024字、4 096字及8 192字。1553B虛擬化設(shè)計(jì)中要支持根據(jù)子地址控制字設(shè)置收發(fā)緩存大小[18]。

    在1553B虛擬化時(shí),根據(jù)總線指令的收發(fā)子地址,對應(yīng)查找表查詢到該子地址對應(yīng)的內(nèi)存存儲起始地址。接收到的數(shù)據(jù)被寫入由查找表指針指向的數(shù)據(jù)塊,需要發(fā)送的數(shù)據(jù)從查找表指針指向的數(shù)據(jù)塊取出并發(fā)送。

    2.1.3 BC虛擬化實(shí)現(xiàn)

    1553B的BC虛擬化需要仿真上述“物理實(shí)現(xiàn)邏輯研究”中指出的1553B初始化、查詢查找表、讀寫子地址對應(yīng)存儲區(qū)等。仿真BC2RT數(shù)據(jù)、BC2RT指令、RT2BC數(shù)據(jù)、RT2BC指令等數(shù)據(jù)、指令的交互過程。使用共享內(nèi)存模擬查找表及數(shù)據(jù)塊的存儲邏輯。定義兩個(gè)枚舉結(jié)構(gòu)體Enum1553B_Channel_Num、EnumCommand分別表示AB區(qū)、BC指令類型,對應(yīng)代碼如下所示:

    public enum Enum1553B_Channel_Num{

    ChannelA = 0,

    ChannelB = 1

    }

    public enum EnumCommand{

    BC2RT,

    RT2BC,

    RT2RT,

    Broadcast,

    RT2RTs,

    ModeCode,

    BroadcastModeCode,

    NoUsed,

    Error

    }

    定義BC仿真類BcHelper,完成1553B總線的初始化。初始化包括:映射的內(nèi)存地址StartAddr、1553B指令地址BcCmdAddr,1553B相關(guān)寄存器地址映射(RT指令堆棧指針A、RT指令堆棧指針B、傳送矢量字、數(shù)據(jù)同步、查找表A起始地址、查找表B起始地址、發(fā)送查找指針表、接收查找指針表、廣播查找指針表、子地址控制字表等),初始化內(nèi)容如下所示:

    public static EnumIntName IntName = EnumIntName.NoInt;

    // BC模擬器地址映射

    public static UInt32 StartAddr = 0; //映射的mem地址

    public static UInt16 BcCmdAddr = 0; //映射的1553B指令地址

    //增強(qiáng)型1553B寄存器地址映射

    private static UInt32 AddressStackA = 0; //堆棧

    public static UInt32 AddressRtCommandStackPointerA = 0x100;

    public static UInt32 AddressRtCommandStackPointerB = 0x104;

    private static UInt32 AddressTransmitVetcorWord = 0x120;

    private static UInt32 AddressSynchronizeWithData = 0x111;

    private static UInt32 AddressReceiveLookupPointerTableA = 0x140;

    private static UInt32 AddressReceiveLookupPointerTableB = 0x1c0;

    private static UInt32 AddressTransmitLookupPointerTableA = 0x160;

    private static UInt32 AddressTransmitLookupPointerTableB = 0x1e0;

    private static UInt32 AddressBroadcastLookupPointerTableA = 0x180;

    private static UInt32 AddressBroadcastLookupPointerTableB = 0x200;

    private static UInt32 AddressSubaddressControlWordTableA = 0x1a0;

    private static UInt32 AddressSubaddressControlWordTableB = 0x220;

    private static UInt32 AddressDataBlock = 0x260;

    }

    BC端發(fā)送控制命令的仿真函數(shù)如下所示:

    ///

    /// 發(fā)控制命令

    ///

    /// RT地址

    /// 發(fā)送標(biāo)志,0標(biāo)識RT端接收

    /// 子地址

    /// 長度/方式字(指1553B發(fā)送的"字"的長度)

    /// 發(fā)送的數(shù)據(jù)

    /// 是否是廣播標(biāo)志

    /// 通道標(biāo)志

    public static void SendCmd(Enum1553B_Channel_Num channel, bool bcst, int rtAddr, bool rx, int sa, int len, byte[] data)

    仿真控制命令后可實(shí)現(xiàn)如下過程模擬:BC發(fā)送廣播、BC2RT數(shù)據(jù)、BC2RT命令、方同步碼等??刂泼盍鞒倘鐖D4所示。其中查找表仿真方法為:

    1)判斷當(dāng)前控制命令的類型:廣播、發(fā)送。

    2)判斷當(dāng)前命令由BC發(fā)到RT的哪個(gè)SA。

    3)查詢查找表中該SA對應(yīng)的存儲起始地址,以及嵌入式軟件設(shè)置的內(nèi)存起始地址,計(jì)算出該SA數(shù)據(jù)塊在共享內(nèi)存中的存儲區(qū)域。

    4)將SA對應(yīng)的存儲區(qū)域數(shù)據(jù)取出后發(fā)送給RT。

    圖4 控制命令仿真流程

    BC端接收RT發(fā)來數(shù)據(jù)(RT2BC數(shù)據(jù))的仿真過程如圖5所示。其中對查找表的使用與發(fā)送控制命令仿真部分相同。

    圖5 BC接收RT數(shù)據(jù)流程

    2.1.4 RT虛擬化實(shí)現(xiàn)

    實(shí)際應(yīng)用中被測件有時(shí)作為BC端使用,在構(gòu)建測試環(huán)境時(shí)需要對外設(shè)RT進(jìn)行虛擬化仿真,即實(shí)現(xiàn)RT2BC數(shù)據(jù)、RT2BC指令、RT2RT、RT2RTS、BC2RT等數(shù)據(jù)、指令的交互過程[19]。

    模擬RT端接收BC發(fā)來的指令、數(shù)據(jù),將收到的數(shù)據(jù)放入本地共享內(nèi)存,共享內(nèi)存的組織方式與“BC端仿真模擬”一致。外設(shè)RT收到作為BC的被測件發(fā)送的。模擬RT端的處理流程如圖6所示。

    圖6 RT端仿真處理流程

    2.2 AD采集虛擬化設(shè)計(jì)與實(shí)現(xiàn)

    2.2.1 AD采集虛擬化設(shè)計(jì)

    實(shí)際應(yīng)用中嵌入式軟件通過AD采集模塊采集模擬信號,經(jīng)過模數(shù)轉(zhuǎn)化,將轉(zhuǎn)換后的數(shù)字量用于軟件的后續(xù)使用[20]。

    嵌入式軟件采集信號后的處理過程,實(shí)際使用的是數(shù)字量而非模擬量。因此,在測試平臺中無需仿真模數(shù)轉(zhuǎn)換過程,可直接將數(shù)字量值賦給嵌入式軟件。數(shù)字量可通過AD采集界面設(shè)置任意值,供嵌入式軟件采集。既能滿足嵌入式軟件從AD采集模塊獲取數(shù)字量的要求,又能滿足AD采集模塊測試的充分性。

    2.2.2 AD采集虛擬化實(shí)現(xiàn)

    不同被測件AD采集部分的處理過程有相似之處,將通用的處理過程抽象為AD采集模塊,完成AD采集外設(shè)的虛擬化。AD數(shù)據(jù)的采集與外設(shè)的交互部分涉及采集通道選擇、采集高低字節(jié)、采集次數(shù)等。嵌入式軟件與外設(shè)交互的流程如圖7所示。

    圖7 AD采集外設(shè)交互流程

    實(shí)現(xiàn)AD采集虛擬化,需要開辟一段共享內(nèi)存用于存儲測試人員設(shè)置的一組AD值,數(shù)值內(nèi)容要求:

    1)采集的路數(shù);

    2)每路數(shù)據(jù)采集次數(shù);

    3)每次采集值,支持設(shè)置不同值。

    被測件第某次采集某路AD數(shù)據(jù)時(shí),觸發(fā)測試平臺的讀回調(diào)函數(shù)。在回調(diào)函數(shù)中判斷當(dāng)次采集為嵌入式軟件第幾次采集第幾路AD數(shù)據(jù),取出共享內(nèi)存中對應(yīng)的AD值,供嵌入式軟件采集。AD采集虛擬化處理流程與圖7所示的嵌入式軟件與AD外設(shè)交互流程相同。

    不同嵌入式軟件通過測試平臺界面可配置采集AD數(shù)據(jù)通道、采集地址、CPU時(shí)鐘頻率、采集方式等信息,如圖8所示。

    圖8 AD采集配置界面

    2.3 總線RS422虛擬化設(shè)計(jì)與實(shí)現(xiàn)

    2.3.1 總線RS422虛擬化設(shè)計(jì)

    串行總線RS422通信由于其在傳輸距離、抗干擾能力方面的優(yōu)勢,在航天嵌入式軟件中普遍應(yīng)用[21]。嵌入式軟件測試時(shí)主要關(guān)心被測件從串口采集數(shù)據(jù)之后的處理流程正確與否,以及觀察被測件輸出的串口數(shù)據(jù)。被測件通過串口采集數(shù)據(jù)的方式為:MOV A SBUF;通過串口輸出數(shù)據(jù)的方式為:MOV SBUF A。其中SBUF為寄存器0x99。

    因此,在測試平臺開發(fā)中無需仿真串口全部物理功能,只需實(shí)現(xiàn)被測件從串口采集、輸出數(shù)據(jù)的過程。測試人員根據(jù)測試需求,靈活設(shè)置正確值、邊界值、異常值等供被測件采集,用白盒測試法分析被測件采集串口數(shù)據(jù)后不同處理分支的正確性。被測件通過串口輸出的數(shù)據(jù),由測試平臺接收并依據(jù)通信協(xié)議完成解析,方便測評人員觀察。

    2.3.2 總線RS422虛擬化實(shí)現(xiàn)

    實(shí)現(xiàn)對總線RS422的虛擬化,處理邏輯如圖9所示。

    圖9 RS422總線數(shù)據(jù)交互流程

    具體方法如下:

    1)測試人員設(shè)置輸入激勵(lì)并存入共享隊(duì)列;

    2)被測件運(yùn)行到需要從RS422獲取數(shù)據(jù)處,即從寄存器0x99讀取數(shù)據(jù),觸發(fā)測試平臺的讀回調(diào)函數(shù)。測試平臺將共享隊(duì)列中的測試激勵(lì)通過0x99注入被測件;

    3)被測件通過串行總線RS422輸出數(shù)據(jù)時(shí),即通過寄存器0x99輸出數(shù)據(jù),觸發(fā)測試平臺寫回調(diào)函數(shù)。測試平臺依據(jù)被測件通信協(xié)議接收一整幀串口數(shù)據(jù)后,完成解析并在測試平臺界面顯示。測評人員通過界面觀察被測件輸出的串口數(shù)據(jù),判斷其運(yùn)行是否合理。

    2.4 I/O虛擬化設(shè)計(jì)與實(shí)現(xiàn)

    2.4.1 I/O虛擬化設(shè)計(jì)

    嵌入式軟件外設(shè)包括上述通用的1553B、RS422、AD采集,還包括與FPGA、DSP或其他外設(shè)交互的硬件信號、數(shù)據(jù)等。建立完整的嵌入式軟件數(shù)字仿真測試環(huán)境,還需定制化的完成被測軟件全部輸入數(shù)據(jù)、全部輸出數(shù)據(jù)解析的仿真[22]。這部分定制化的外設(shè)仿真統(tǒng)稱為I/O虛擬化。

    2.4.2 I/O虛擬化實(shí)現(xiàn)

    I/O虛擬化實(shí)現(xiàn)過程與總線RS422虛擬化相似,與流程圖9不同之處為:“測試人員設(shè)置外圍激勵(lì)”,此處提供兩種設(shè)置激勵(lì)的方法,測試人員可通過界面和具有固定格式的Excel表格設(shè)置外圍激勵(lì);其次,被測件從總線RS422取數(shù),改為從通過I/O交互數(shù)據(jù)的外設(shè)采集取數(shù)。I/O虛擬化實(shí)現(xiàn)的具體方法如下:

    1)針對不同外設(shè)開辟一段獨(dú)占的共享內(nèi)存,用于存儲測試人員設(shè)定的測試激勵(lì)。

    2)設(shè)計(jì)固定格式的Excel表格,如表3所示。測試人員將測試激勵(lì)填入表格,測試平臺運(yùn)行后自動(dòng)讀取表格內(nèi)容,將數(shù)據(jù)及地址成對的存入共享內(nèi)存。

    表3 I/O固定輸入數(shù)據(jù)格式

    3)測試過程中,通過界面實(shí)時(shí)設(shè)置測試激勵(lì)。

    4)被測件運(yùn)行至采集外設(shè)數(shù)據(jù)地址處,觸發(fā)測試平臺的讀回調(diào)函數(shù)。測試平臺根據(jù)接收到的“讀地址”,將共享內(nèi)存中對應(yīng)的數(shù)據(jù)發(fā)送給被測軟件。

    5)被測件向“寫地址”輸出1字節(jié)數(shù)據(jù)或者一幀遙測數(shù)據(jù)時(shí),觸發(fā)測試平臺的寫回調(diào)函數(shù)。測試平臺記錄接收到的“寫地址”以及對應(yīng)1字節(jié)數(shù)據(jù)或者一幀遙測數(shù)據(jù),依照通信協(xié)議完成被測件輸出數(shù)據(jù)的解析。測試人員可通過界面實(shí)時(shí)觀察被測軟件的輸出信息。

    3 實(shí)驗(yàn)結(jié)果與分析

    為驗(yàn)證上述描述的嵌入式軟件外設(shè)虛擬化的有效性和可靠性。以某電源下位機(jī)軟件測試平臺開發(fā)為例,模擬1553B、RS422、I/O、AD采集等外設(shè),實(shí)現(xiàn)被測件外圍環(huán)境的正常功能測試、異常故障用例注入,提高測試的充分性,完成對該電源下位機(jī)軟件的測試工作。該電源下位機(jī)軟件主要功能是太陽電池陣功率調(diào)節(jié)、蓄電池組充放電管理功能。需要完成工程參數(shù)的采集處理、遙控指令的執(zhí)行、蓄電池充電管理、均衡器控制等功能,通過1553B總線實(shí)現(xiàn)與綜合電子分系統(tǒng)的信息交換。

    3.1 測試平臺搭建

    3.1.1 上位機(jī)部分搭建

    基于自研測試平臺選擇1553B模塊、AD采集模塊、針對該電源下位機(jī)開發(fā)的I/O模塊。測試平臺模塊選擇界面如圖10所示。

    圖10 測試平臺搭建界面

    總線1553B虛擬化后需要通過界面配置接收發(fā)送子地址、廣播子地址、寄存器、中斷觸發(fā)等信息,以完成被測試軟件與外部設(shè)備通過1553B傳輸數(shù)據(jù)的仿真。配置界面如圖11所示。

    圖11 總線1553B配置界面

    AD采集外設(shè)模擬需要配置被測試軟件采集地址、采集高低字節(jié)地址等信息,配置界面如圖8所示。

    3.1.2 被測件運(yùn)行環(huán)境配置

    嵌入式軟件電源下位機(jī)程序的仿真運(yùn)行環(huán)境由Keil提供,配置基于AGSI編寫的動(dòng)態(tài)鏈接庫,使用Keil加載源程序完成編譯。使用Keil軟件運(yùn)行電源下位機(jī)程序,可完成電源下位機(jī)程序動(dòng)態(tài)運(yùn)行下的白盒測試。其中動(dòng)態(tài)鏈接庫實(shí)現(xiàn)測試平臺與Keil軟件UDP通信、被測試軟件內(nèi)存、寄存器的讀寫監(jiān)視、定時(shí)器設(shè)置、時(shí)需同步、中斷觸發(fā)等。

    3.2 測試平臺運(yùn)行與測試

    測試平臺運(yùn)行界面如圖12所示。測試人員可通過運(yùn)行界面的左側(cè)設(shè)置注入激勵(lì)的內(nèi)容,實(shí)時(shí)更改注入的總線1553B、RS422的指令幀或者數(shù)據(jù),以及被測件需要從I/O外設(shè)采集的全部數(shù)據(jù)。運(yùn)行界面右側(cè)為被測件上傳數(shù)據(jù)的實(shí)時(shí)顯示。

    圖12 運(yùn)行界面

    AD采集界面如圖13所示,測試人員可實(shí)時(shí)更改供被測件采集的各路AD數(shù)據(jù)。支持直接在界面上更改AD值、導(dǎo)入AD數(shù)據(jù)Excel表格兩種方式設(shè)置AD值。

    圖13 AD采集界面

    通過測試平臺完成被測件中斷INT0、T0、T1執(zhí)行時(shí)間、中斷響應(yīng)總線指令時(shí)間的記錄,以及周期發(fā)送指令、覆蓋率統(tǒng)計(jì)。程序地址計(jì)數(shù)器(PC,program counter)用于存放要執(zhí)行指令的地址,16位,能自動(dòng)加1。一個(gè)機(jī)器周期(M-Machine周期)是12個(gè)時(shí)鐘周期,當(dāng)主頻為12 MHz時(shí),一個(gè)機(jī)器周期為:1 M = 1/12 MHz*12=1 μs。被測件某段程序執(zhí)行時(shí)間的計(jì)算方法是:記錄該段程序起止PC之間執(zhí)行的機(jī)器周期數(shù),乘以一個(gè)機(jī)器周期的時(shí)間,得到該段程序的執(zhí)行時(shí)間。

    3.3 測試結(jié)果分析

    該電源下位機(jī)軟件共使用3種中斷INT0、T0、T1,中斷服務(wù)程序執(zhí)行時(shí)間的測試結(jié)果如表4所示。

    表4 中斷服務(wù)程序執(zhí)行時(shí)間

    覆蓋率統(tǒng)計(jì)支持被測件目標(biāo)碼覆蓋率情況保存、多個(gè)覆蓋率文件合并,源碼目標(biāo)碼對照顯示。統(tǒng)計(jì)結(jié)果針對目標(biāo)碼執(zhí)行情況進(jìn)行分析,其中包括6種執(zhí)行結(jié)果:

    1)EX:executed,該條目標(biāo)碼語句執(zhí)行,覆蓋率統(tǒng)計(jì)結(jié)果中以綠色顯示;

    2)NE:Not Executed,語句沒有執(zhí)行,覆蓋率統(tǒng)計(jì)結(jié)果中以紅色顯示;

    3)JF:Jump Fully,分支完全執(zhí)行,覆蓋率統(tǒng)計(jì)結(jié)果中以黃色顯示;

    4)JN:Jump Never,分支順序執(zhí)行,但是沒有跳轉(zhuǎn),即每次執(zhí)行到這條語句,跳轉(zhuǎn)條件都不滿足,覆蓋率統(tǒng)計(jì)結(jié)果中以黃色顯示;

    5)JO:Jump Only,執(zhí)行了分支跳轉(zhuǎn),但是沒有順序執(zhí)行,即每次執(zhí)行到這條語句都是跳轉(zhuǎn),覆蓋率統(tǒng)計(jì)結(jié)果中以黃色顯示;

    6)JNE(jump not executed),跳轉(zhuǎn)分支、順序分支都沒有執(zhí)行,覆蓋率統(tǒng)計(jì)結(jié)果中以紅色顯示。

    目標(biāo)碼覆蓋率統(tǒng)計(jì)結(jié)果中先顯示一句源碼,緊接著顯示對應(yīng)的目標(biāo)碼,并在第一列顯示每條目標(biāo)碼的執(zhí)行情況。根據(jù)每條目標(biāo)碼的執(zhí)行情況標(biāo)示綠色、紅色、黃色,方便測評人員觀察,如圖14所示。

    被測件目標(biāo)碼覆蓋率統(tǒng)計(jì)情況如表5所示,包括目標(biāo)碼模塊名、總指令數(shù)、執(zhí)行指令數(shù)、執(zhí)行百分比、總跳轉(zhuǎn)指令數(shù)、JF指令數(shù)、JO指令數(shù)、JN指令書、JNE指令數(shù)、JF執(zhí)行百分比。部分嵌入式軟件目標(biāo)碼分支、語句覆蓋率均要達(dá)到百分之百。表5展示覆蓋率統(tǒng)計(jì)功能,并非電源下位機(jī)軟件第三方測試的最終覆蓋率統(tǒng)計(jì)結(jié)果。

    實(shí)驗(yàn)結(jié)果證明,在自研測試平臺基礎(chǔ)上,基于Keil C51完成嵌入式軟件外設(shè)虛擬化,實(shí)現(xiàn)嵌入式軟件仿真運(yùn)行、外圍激勵(lì)注入、外設(shè)硬件接口模擬的方法切實(shí)可行。通過數(shù)字測試平臺不僅能夠完成與實(shí)物測試平臺相同的測試效果,還能完成故障注入、邊界測試、目標(biāo)碼覆蓋率等。

    表5 目標(biāo)碼覆蓋率統(tǒng)計(jì)結(jié)果

    附注:表格中為第三方測試進(jìn)行中,被測件目標(biāo)碼覆蓋率統(tǒng)計(jì)結(jié)果的部分展示

    4 結(jié)束語

    本文提出的基于Keil C51的嵌入式軟件外設(shè)虛擬化,實(shí)現(xiàn)了在真實(shí)環(huán)境中運(yùn)行的嵌入式軟件與全部外部設(shè)備交互數(shù)據(jù)的仿真,使得測試過程不受硬件實(shí)物平臺的使用限制,擁有充分的測試時(shí)間。

    1)在測試過程中,外部設(shè)備的虛擬化提供了靈活的測試激勵(lì)注入方式,能夠完成實(shí)物測試環(huán)境難以模擬的故障注入、邊界測試以及測試結(jié)果實(shí)時(shí)顯示。

    2)目標(biāo)碼覆蓋率統(tǒng)計(jì)能夠幫助測評人員分析被測件代碼執(zhí)行情況,精準(zhǔn)定位未執(zhí)行的語句、分支。輔助測評人員分析未執(zhí)行的原因,針對性的設(shè)計(jì)測試用例,進(jìn)而完成未執(zhí)行語句、分支的覆蓋。

    3)嵌入式軟件外設(shè)虛擬化后,主要解決了測試工作中的兩個(gè)問題:測試過程不依賴嵌入式軟件真實(shí)的運(yùn)行環(huán)境;測試過程內(nèi)存、寄存器信息可控可改,測試用例注入方式靈活,能夠完成實(shí)物測試環(huán)境不能滿足的故障、邊界測試。

    4)外設(shè)的虛擬化設(shè)計(jì),不僅能夠緩解目前航天型號領(lǐng)域嵌入式軟件測試過程中實(shí)物運(yùn)行環(huán)境使用時(shí)間沖突的問題,而且對提高嵌入式軟件的測試效率和測試充分性也有幫助。

    猜你喜歡
    嵌入式軟件外設(shè)虛擬化
    基于OpenStack虛擬化網(wǎng)絡(luò)管理平臺的設(shè)計(jì)與實(shí)現(xiàn)
    電子制作(2019年10期)2019-06-17 11:45:10
    對基于Docker的虛擬化技術(shù)的幾點(diǎn)探討
    電子制作(2018年14期)2018-08-21 01:38:20
    實(shí)時(shí)嵌入式軟件的測試技術(shù)
    電子測試(2018年10期)2018-06-26 05:54:08
    全景相機(jī)遙控器嵌入式軟件V1.0 相關(guān)操作分析
    電子制作(2017年17期)2017-12-18 06:40:56
    虛擬化技術(shù)在計(jì)算機(jī)技術(shù)創(chuàng)造中的應(yīng)用
    電子測試(2017年11期)2017-12-15 08:57:56
    存儲虛擬化還有優(yōu)勢嗎?
    基于Eclipse的航天嵌入式軟件集成開發(fā)環(huán)境設(shè)計(jì)與實(shí)現(xiàn)
    航天嵌入式軟件浮點(diǎn)運(yùn)算誤差分析與控制
    Microchip推出具備雙ADC外設(shè)的全新器件,擴(kuò)展其低成本8位PIC?單片機(jī)產(chǎn)品線
    貼身呵護(hù) 必不可少的PSP外設(shè)
    大片免费播放器 马上看| 人人澡人人妻人| 一级二级三级毛片免费看| xxxhd国产人妻xxx| 欧美少妇被猛烈插入视频| 午夜久久久在线观看| 亚洲欧洲日产国产| 美女xxoo啪啪120秒动态图| 亚洲av电影在线观看一区二区三区| 日韩强制内射视频| 国产精品嫩草影院av在线观看| 国产乱人偷精品视频| 中国美白少妇内射xxxbb| 22中文网久久字幕| 在线观看三级黄色| 王馨瑶露胸无遮挡在线观看| 国产欧美日韩一区二区三区在线 | 国产日韩一区二区三区精品不卡 | 最近中文字幕2019免费版| 精品久久久久久久久亚洲| 国产精品欧美亚洲77777| 在现免费观看毛片| 国产色爽女视频免费观看| 国产男女超爽视频在线观看| 又大又黄又爽视频免费| 国产高清有码在线观看视频| 妹子高潮喷水视频| 亚洲精华国产精华液的使用体验| 亚洲av欧美aⅴ国产| 自拍欧美九色日韩亚洲蝌蚪91| 最后的刺客免费高清国语| 欧美日韩亚洲高清精品| 99国产精品免费福利视频| 美女大奶头黄色视频| 最新中文字幕久久久久| 菩萨蛮人人尽说江南好唐韦庄| 国产成人91sexporn| 七月丁香在线播放| 国产精品三级大全| 亚洲精品色激情综合| 亚洲精品乱久久久久久| 日韩中文字幕视频在线看片| 有码 亚洲区| 中文精品一卡2卡3卡4更新| 国产精品人妻久久久影院| 欧美少妇被猛烈插入视频| 国产高清有码在线观看视频| 国语对白做爰xxxⅹ性视频网站| 国产精品久久久久成人av| 简卡轻食公司| 亚洲成人一二三区av| 国产色婷婷99| 亚洲在久久综合| 人人妻人人爽人人添夜夜欢视频| 能在线免费看毛片的网站| 亚洲av免费高清在线观看| 肉色欧美久久久久久久蜜桃| 亚洲欧美精品自产自拍| 热99久久久久精品小说推荐| 少妇高潮的动态图| 制服丝袜香蕉在线| 亚洲美女黄色视频免费看| 久久精品久久久久久噜噜老黄| 中国三级夫妇交换| 精品久久久久久久久av| 国产精品一区二区在线不卡| 国产成人免费无遮挡视频| 亚洲婷婷狠狠爱综合网| 亚洲精品日本国产第一区| 秋霞在线观看毛片| 中文字幕人妻熟人妻熟丝袜美| 国产男女超爽视频在线观看| 色婷婷av一区二区三区视频| 一区二区三区乱码不卡18| 亚洲少妇的诱惑av| 久久久国产精品麻豆| 99热国产这里只有精品6| av在线播放精品| 18禁动态无遮挡网站| 精品人妻熟女毛片av久久网站| 亚洲美女黄色视频免费看| 校园人妻丝袜中文字幕| 纯流量卡能插随身wifi吗| 看十八女毛片水多多多| 久久精品久久久久久噜噜老黄| 国产成人a∨麻豆精品| 亚洲图色成人| 全区人妻精品视频| 欧美精品国产亚洲| 精品人妻熟女av久视频| 亚洲人成网站在线观看播放| 蜜臀久久99精品久久宅男| 亚洲情色 制服丝袜| 国产无遮挡羞羞视频在线观看| 亚洲久久久国产精品| 亚洲天堂av无毛| 日日爽夜夜爽网站| 精品亚洲乱码少妇综合久久| 夜夜看夜夜爽夜夜摸| 高清av免费在线| 亚洲人与动物交配视频| 亚洲国产精品999| 国产精品一国产av| 美女福利国产在线| 在线观看人妻少妇| 老司机影院毛片| 久久久久久伊人网av| 99久久精品国产国产毛片| 久久精品国产鲁丝片午夜精品| 夫妻性生交免费视频一级片| 精品国产乱码久久久久久小说| 少妇猛男粗大的猛烈进出视频| 伊人久久国产一区二区| 日本-黄色视频高清免费观看| 高清av免费在线| 少妇熟女欧美另类| 国产一区二区三区综合在线观看 | xxx大片免费视频| 美女国产高潮福利片在线看| 国产成人午夜福利电影在线观看| 如日韩欧美国产精品一区二区三区 | 亚洲欧洲精品一区二区精品久久久 | 国产精品不卡视频一区二区| av免费观看日本| 91精品伊人久久大香线蕉| 91成人精品电影| 91久久精品电影网| 青春草亚洲视频在线观看| 婷婷成人精品国产| 久久女婷五月综合色啪小说| 亚洲国产欧美在线一区| 亚洲人与动物交配视频| 一个人看视频在线观看www免费| 久久精品久久久久久噜噜老黄| 性色avwww在线观看| 国产免费又黄又爽又色| 这个男人来自地球电影免费观看 | 一级毛片黄色毛片免费观看视频| 国产成人免费观看mmmm| 少妇猛男粗大的猛烈进出视频| 天天躁夜夜躁狠狠久久av| 3wmmmm亚洲av在线观看| av又黄又爽大尺度在线免费看| 一区二区三区四区激情视频| 欧美日韩av久久| 三上悠亚av全集在线观看| 精品视频人人做人人爽| 成人亚洲精品一区在线观看| 这个男人来自地球电影免费观看 | 久久国产精品大桥未久av| 免费大片黄手机在线观看| 99国产精品免费福利视频| 人成视频在线观看免费观看| 少妇被粗大猛烈的视频| 制服诱惑二区| 中文欧美无线码| 91国产中文字幕| 日产精品乱码卡一卡2卡三| 男女边摸边吃奶| 午夜日本视频在线| 亚洲激情五月婷婷啪啪| 久久久久久久久久久久大奶| 我的老师免费观看完整版| 亚洲欧美一区二区三区黑人 | 亚洲精品日本国产第一区| 欧美精品亚洲一区二区| 国产高清三级在线| 久久亚洲国产成人精品v| 久久久久久久久久人人人人人人| 22中文网久久字幕| 91久久精品国产一区二区三区| 精品国产国语对白av| 久久99热6这里只有精品| 久久精品熟女亚洲av麻豆精品| 看免费成人av毛片| 天天操日日干夜夜撸| 99久久中文字幕三级久久日本| 9色porny在线观看| 狂野欧美激情性bbbbbb| 精品久久久噜噜| 国产av精品麻豆| 最新中文字幕久久久久| 日本av手机在线免费观看| 99热全是精品| 午夜视频国产福利| 我的老师免费观看完整版| 色吧在线观看| 国产成人aa在线观看| 黄色一级大片看看| 九色成人免费人妻av| 美女视频免费永久观看网站| 九九在线视频观看精品| 青春草亚洲视频在线观看| 精品亚洲乱码少妇综合久久| 一级,二级,三级黄色视频| 国精品久久久久久国模美| 国产亚洲精品第一综合不卡 | 久久99精品国语久久久| av又黄又爽大尺度在线免费看| 国产精品久久久久久av不卡| 欧美3d第一页| 麻豆成人av视频| 久久99蜜桃精品久久| 九色成人免费人妻av| 久久午夜福利片| 亚洲成人一二三区av| 日韩一区二区视频免费看| 国产成人freesex在线| 亚洲av日韩在线播放| 大码成人一级视频| 免费大片18禁| av国产精品久久久久影院| 建设人人有责人人尽责人人享有的| 欧美成人精品欧美一级黄| 精品视频人人做人人爽| 黑丝袜美女国产一区| 色吧在线观看| 成人二区视频| 制服丝袜香蕉在线| 久久97久久精品| 亚洲丝袜综合中文字幕| 免费播放大片免费观看视频在线观看| 欧美日韩av久久| 亚洲经典国产精华液单| 成人影院久久| 国产色爽女视频免费观看| 午夜av观看不卡| 人妻人人澡人人爽人人| 日日摸夜夜添夜夜添av毛片| av免费观看日本| 国产成人精品婷婷| 午夜福利在线观看免费完整高清在| 精品久久久久久久久亚洲| av在线播放精品| 久久精品国产鲁丝片午夜精品| 国产免费一级a男人的天堂| 国产成人91sexporn| 大片免费播放器 马上看| 高清在线视频一区二区三区| 欧美三级亚洲精品| 各种免费的搞黄视频| 久久99热这里只频精品6学生| 精品人妻熟女av久视频| 日韩欧美一区视频在线观看| 免费观看av网站的网址| 精品一区二区免费观看| 久久综合国产亚洲精品| 三上悠亚av全集在线观看| 看十八女毛片水多多多| 亚洲国产av影院在线观看| 亚洲精品av麻豆狂野| 一边摸一边做爽爽视频免费| 国产成人午夜福利电影在线观看| 最新的欧美精品一区二区| 狂野欧美激情性xxxx在线观看| 在线免费观看不下载黄p国产| 亚洲无线观看免费| 亚洲精品日韩av片在线观看| 国语对白做爰xxxⅹ性视频网站| 99re6热这里在线精品视频| 国产精品免费大片| 97在线人人人人妻| 哪个播放器可以免费观看大片| 精品人妻熟女av久视频| 国产熟女欧美一区二区| 国产免费视频播放在线视频| 一区二区日韩欧美中文字幕 | 成人免费观看视频高清| 少妇被粗大猛烈的视频| av免费在线看不卡| a 毛片基地| 伦精品一区二区三区| 汤姆久久久久久久影院中文字幕| 精品一区在线观看国产| 妹子高潮喷水视频| 国产毛片在线视频| 亚洲色图 男人天堂 中文字幕 | 一级毛片 在线播放| 男男h啪啪无遮挡| 亚洲少妇的诱惑av| 久久热精品热| 国语对白做爰xxxⅹ性视频网站| 日本黄色日本黄色录像| 亚洲精品国产色婷婷电影| 午夜影院在线不卡| 国产国语露脸激情在线看| 国产日韩欧美视频二区| 我的老师免费观看完整版| 成人无遮挡网站| 免费看光身美女| 男女国产视频网站| 大又大粗又爽又黄少妇毛片口| 搡女人真爽免费视频火全软件| 青春草国产在线视频| 成人毛片60女人毛片免费| 王馨瑶露胸无遮挡在线观看| 国产在线免费精品| 9色porny在线观看| 国产又色又爽无遮挡免| 一级a做视频免费观看| videos熟女内射| 欧美日韩精品成人综合77777| 日韩一区二区三区影片| 亚洲国产精品一区二区三区在线| 精品久久久精品久久久| 亚洲成色77777| 国产精品蜜桃在线观看| 欧美亚洲 丝袜 人妻 在线| a级毛片黄视频| 欧美日韩一区二区视频在线观看视频在线| 大片免费播放器 马上看| 日本黄色日本黄色录像| 青青草视频在线视频观看| 赤兔流量卡办理| 一级片'在线观看视频| 熟妇人妻不卡中文字幕| 欧美日韩成人在线一区二区| 97精品久久久久久久久久精品| 天堂中文最新版在线下载| 18禁在线无遮挡免费观看视频| 成年人免费黄色播放视频| 久久久久人妻精品一区果冻| 午夜免费观看性视频| 日韩三级伦理在线观看| 精品人妻一区二区三区麻豆| 亚洲怡红院男人天堂| 欧美 日韩 精品 国产| av在线观看视频网站免费| 最近的中文字幕免费完整| 亚洲国产精品一区二区三区在线| 99久久精品国产国产毛片| 美女脱内裤让男人舔精品视频| 在线观看免费高清a一片| 十八禁网站网址无遮挡| 国产精品女同一区二区软件| 热99久久久久精品小说推荐| 国产精品欧美亚洲77777| 美女中出高潮动态图| 色吧在线观看| 免费黄频网站在线观看国产| 色吧在线观看| 久久久a久久爽久久v久久| 久久久久久伊人网av| 久久久久久久久久久丰满| 视频区图区小说| 三上悠亚av全集在线观看| 一区在线观看完整版| 妹子高潮喷水视频| 国产午夜精品久久久久久一区二区三区| 少妇 在线观看| 天天躁夜夜躁狠狠久久av| 亚洲欧美中文字幕日韩二区| 纵有疾风起免费观看全集完整版| 免费日韩欧美在线观看| 人妻夜夜爽99麻豆av| 久久国内精品自在自线图片| av.在线天堂| 日韩欧美精品免费久久| 99国产综合亚洲精品| 热re99久久国产66热| 99久久精品一区二区三区| 日韩不卡一区二区三区视频在线| 亚洲美女搞黄在线观看| 最新的欧美精品一区二区| 午夜91福利影院| videosex国产| 大片免费播放器 马上看| 久久女婷五月综合色啪小说| 99九九在线精品视频| 欧美最新免费一区二区三区| av卡一久久| 女人久久www免费人成看片| 91精品国产国语对白视频| 九草在线视频观看| 少妇猛男粗大的猛烈进出视频| 成人免费观看视频高清| 王馨瑶露胸无遮挡在线观看| 精品国产露脸久久av麻豆| 午夜福利影视在线免费观看| 国产免费福利视频在线观看| 下体分泌物呈黄色| 亚洲精品自拍成人| 人妻系列 视频| 亚洲精品久久久久久婷婷小说| 国产日韩欧美视频二区| 日本av免费视频播放| 丝袜在线中文字幕| 免费播放大片免费观看视频在线观看| 久久久久久久久久久丰满| 久久久久久久久大av| 国产亚洲精品第一综合不卡 | 亚洲四区av| 亚洲欧美一区二区三区黑人 | 午夜老司机福利剧场| 熟女电影av网| 在线 av 中文字幕| 亚洲激情五月婷婷啪啪| 丰满饥渴人妻一区二区三| 国产黄频视频在线观看| 欧美亚洲日本最大视频资源| 日韩伦理黄色片| 久久精品国产亚洲av天美| 少妇人妻久久综合中文| 午夜福利视频在线观看免费| 一级片'在线观看视频| 久久这里有精品视频免费| 中文精品一卡2卡3卡4更新| 丁香六月天网| 亚洲国产av新网站| 人人妻人人添人人爽欧美一区卜| 18禁在线无遮挡免费观看视频| 国产av一区二区精品久久| 一区二区av电影网| 国产精品久久久久久精品电影小说| 欧美激情极品国产一区二区三区 | 3wmmmm亚洲av在线观看| 国产精品久久久久久精品电影小说| 国产精品一区二区三区四区免费观看| 97在线视频观看| 亚洲少妇的诱惑av| 亚洲色图 男人天堂 中文字幕 | 久久 成人 亚洲| 热99久久久久精品小说推荐| 亚洲怡红院男人天堂| 一级黄片播放器| 国产精品久久久久久久电影| xxxhd国产人妻xxx| 另类亚洲欧美激情| 又粗又硬又长又爽又黄的视频| 高清在线视频一区二区三区| 少妇被粗大猛烈的视频| 久久精品久久久久久久性| 久久免费观看电影| 亚洲成人av在线免费| av卡一久久| 肉色欧美久久久久久久蜜桃| 欧美xxxx性猛交bbbb| 黄片无遮挡物在线观看| 久久精品国产a三级三级三级| 美女主播在线视频| 91精品国产国语对白视频| 久久97久久精品| 亚洲av成人精品一区久久| 日本av免费视频播放| 久久国内精品自在自线图片| 欧美日本中文国产一区发布| 亚洲国产欧美在线一区| 老熟女久久久| 街头女战士在线观看网站| 国精品久久久久久国模美| 亚洲三级黄色毛片| 一级毛片 在线播放| 国产精品久久久久久久久免| 亚洲激情五月婷婷啪啪| 国产精品嫩草影院av在线观看| 亚洲久久久国产精品| 日本vs欧美在线观看视频| 熟女人妻精品中文字幕| 99国产精品免费福利视频| 狂野欧美激情性xxxx在线观看| 亚洲丝袜综合中文字幕| 免费不卡的大黄色大毛片视频在线观看| 欧美成人午夜免费资源| av福利片在线| 免费看av在线观看网站| 国产极品天堂在线| 97精品久久久久久久久久精品| 纵有疾风起免费观看全集完整版| 一本大道久久a久久精品| 久久国产亚洲av麻豆专区| 尾随美女入室| 男女高潮啪啪啪动态图| h视频一区二区三区| 啦啦啦在线观看免费高清www| 精品亚洲成国产av| 草草在线视频免费看| 久久久久久人妻| 国产一区二区在线观看日韩| 国产一级毛片在线| 成人手机av| 在线免费观看不下载黄p国产| 哪个播放器可以免费观看大片| 涩涩av久久男人的天堂| 伦理电影免费视频| 伦理电影大哥的女人| 欧美 亚洲 国产 日韩一| 亚洲精品自拍成人| 亚洲美女搞黄在线观看| 精品久久久久久久久av| 久久久久国产网址| 亚洲av免费高清在线观看| 在线观看免费日韩欧美大片 | 欧美日韩精品成人综合77777| 日本91视频免费播放| 亚洲精品国产色婷婷电影| 国产成人精品福利久久| 老司机亚洲免费影院| 免费高清在线观看视频在线观看| 精品亚洲乱码少妇综合久久| 久久久精品94久久精品| 黄色一级大片看看| 亚洲国产色片| 欧美日韩成人在线一区二区| av黄色大香蕉| 在线观看国产h片| 欧美最新免费一区二区三区| 狂野欧美白嫩少妇大欣赏| 少妇丰满av| 男女无遮挡免费网站观看| 校园人妻丝袜中文字幕| 国产免费福利视频在线观看| 国产一级毛片在线| 亚洲av福利一区| 99国产精品免费福利视频| 婷婷色综合www| 久久99精品国语久久久| 在线观看人妻少妇| 久久人人爽av亚洲精品天堂| 精品国产露脸久久av麻豆| 麻豆乱淫一区二区| 精品久久久久久电影网| 18+在线观看网站| 王馨瑶露胸无遮挡在线观看| 久久久午夜欧美精品| 亚洲美女搞黄在线观看| 男女国产视频网站| 成人亚洲欧美一区二区av| 亚洲精品成人av观看孕妇| 国产伦精品一区二区三区视频9| 一级毛片aaaaaa免费看小| 日日爽夜夜爽网站| 22中文网久久字幕| 久久精品国产亚洲av天美| 欧美另类一区| 夫妻性生交免费视频一级片| 国产日韩欧美视频二区| 十分钟在线观看高清视频www| 97超碰精品成人国产| 好男人视频免费观看在线| 国产黄色免费在线视频| 国产亚洲精品第一综合不卡 | 国产精品久久久久久精品古装| 我的女老师完整版在线观看| 熟女av电影| 我要看黄色一级片免费的| 亚洲精品,欧美精品| 国产亚洲av片在线观看秒播厂| 亚洲情色 制服丝袜| 日本-黄色视频高清免费观看| 成人二区视频| 2018国产大陆天天弄谢| 欧美激情极品国产一区二区三区 | 另类亚洲欧美激情| 丰满少妇做爰视频| 日本与韩国留学比较| 久久久久久久亚洲中文字幕| 久久99热这里只频精品6学生| 国产女主播在线喷水免费视频网站| 国产精品久久久久久久久免| 有码 亚洲区| 久久女婷五月综合色啪小说| 国产精品国产三级国产专区5o| 国产精品国产三级国产av玫瑰| 99国产精品免费福利视频| 中文乱码字字幕精品一区二区三区| 少妇被粗大猛烈的视频| 少妇被粗大的猛进出69影院 | 久久人人爽人人片av| 我的女老师完整版在线观看| 久久精品国产亚洲av涩爱| 亚洲国产色片| 精品一区二区免费观看| 人人妻人人爽人人添夜夜欢视频| 在线 av 中文字幕| 亚洲美女视频黄频| 国产伦理片在线播放av一区| 国产亚洲精品久久久com| 3wmmmm亚洲av在线观看| 另类亚洲欧美激情| 美女cb高潮喷水在线观看| 欧美日韩精品成人综合77777| 久久这里有精品视频免费| 99九九在线精品视频| 91aial.com中文字幕在线观看| 成人综合一区亚洲| 日本av手机在线免费观看| 亚洲成人av在线免费| 曰老女人黄片| 高清在线视频一区二区三区| 哪个播放器可以免费观看大片| 免费黄网站久久成人精品| 久久久久久久久大av| 青春草视频在线免费观看| 丰满迷人的少妇在线观看| 大香蕉久久网| 亚洲综合精品二区| 亚洲欧美精品自产自拍| 亚洲欧美中文字幕日韩二区| 久久久午夜欧美精品| 亚洲国产成人一精品久久久| 日韩大片免费观看网站| 成人午夜精彩视频在线观看| 天美传媒精品一区二区| 亚洲人成77777在线视频| 亚洲综合精品二区| 日韩一本色道免费dvd| 国产一级毛片在线| av免费在线看不卡| 赤兔流量卡办理| 亚洲精品av麻豆狂野| 成年美女黄网站色视频大全免费 | 成人亚洲精品一区在线观看| 国产片特级美女逼逼视频| 黄片无遮挡物在线观看| 精品亚洲乱码少妇综合久久|