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

    面向應(yīng)用對(duì)象的嵌入式終端構(gòu)件設(shè)計(jì)方法研究*

    2018-12-07 08:32:02,,
    關(guān)鍵詞:原理圖嵌入式構(gòu)件

    ,,

    (1.昆山鑫盛盟創(chuàng)科技有限公司,昆山 215300;2.蘇州大學(xué);3.武夷學(xué)院)

    引 言

    嵌入式系統(tǒng)終端構(gòu)件是具有通用功能的嵌入式外圍設(shè)備的軟硬件實(shí)體總稱(chēng)[1]。它們負(fù)責(zé)實(shí)現(xiàn)嵌入式系統(tǒng)的信息采集、顯示、交互、控制等具體應(yīng)用功能。這類(lèi)應(yīng)用對(duì)象具有一定的通用性,因此終端構(gòu)件可復(fù)用可移植性顯得相當(dāng)重要。當(dāng)前終端構(gòu)件的復(fù)用和移植效率還處于較低的水平。這其中有嵌入式系統(tǒng)本身特性的因素,也有設(shè)計(jì)規(guī)范化的問(wèn)題。目前市場(chǎng)上終端構(gòu)件銷(xiāo)售商通常是將工程師提供的一系列零碎的源碼、文檔、參考手冊(cè)、工具等十幾甚至幾十個(gè)文件打包和硬件一起提供給用戶(hù),用戶(hù)面對(duì)一堆雜亂無(wú)章的文件,通常需要花費(fèi)大量的時(shí)間來(lái)尋找、梳理與自己需求相關(guān)的線索。從這側(cè)面可以看出大多數(shù)嵌入式工程師的目的只是開(kāi)發(fā)出產(chǎn)品實(shí)現(xiàn)功能,構(gòu)件設(shè)計(jì)過(guò)程往往是依經(jīng)驗(yàn)行事,對(duì)于底層驅(qū)動(dòng)程序設(shè)計(jì)沒(méi)有徹底貫徹軟件工程思想,開(kāi)發(fā)過(guò)程缺少規(guī)范化的文檔管理等。這些因素都直接導(dǎo)致了終端構(gòu)件可復(fù)用性和可移植性較差。

    近些年來(lái)人們參考通用計(jì)算機(jī)軟件工程體系,將基于構(gòu)件化的軟件開(kāi)發(fā)(Component-Based Software Development,CBSD)思想引入到嵌入式系統(tǒng)設(shè)計(jì)當(dāng)中。Kopetz等人提出了嵌入式軟件組合構(gòu)建理論,明確了構(gòu)件化設(shè)計(jì)、組合構(gòu)造的思想和原則,并建立構(gòu)件可組合設(shè)計(jì)的理論基礎(chǔ)[2-3]。參考文獻(xiàn)[4]提出了一種嵌入式系統(tǒng)代碼合成技術(shù),通過(guò)增加中間層,屏蔽硬件和平臺(tái)特性。本文針對(duì)嵌入式系統(tǒng)終端構(gòu)件設(shè)計(jì)可移植性差等問(wèn)題,從面向應(yīng)用對(duì)象的角度,厘清終端構(gòu)件共性和個(gè)性知識(shí)要素,建立終端構(gòu)件概念模型,從硬件原理圖繪制到驅(qū)動(dòng)程序設(shè)計(jì)一系列過(guò)程,提出一套符合構(gòu)件化思想、層次清晰、封裝合理且與MCU無(wú)關(guān)的終端構(gòu)件一般性設(shè)計(jì)方法,并通過(guò)一個(gè)液晶屏終端構(gòu)件設(shè)計(jì)實(shí)例來(lái)闡述并驗(yàn)證其合理性和有效性。

    1 嵌入式終端構(gòu)件基本概念

    圖1 嵌入式系統(tǒng)構(gòu)件層次模型

    構(gòu)件是系統(tǒng)中模塊化、可部署和可替換的部件,構(gòu)件封裝對(duì)外提供一組接口[5]。嵌入式終端構(gòu)件也稱(chēng)底層外設(shè)構(gòu)件或應(yīng)用構(gòu)件,在嵌入式系統(tǒng)中屬于最外層次的構(gòu)件,按照生產(chǎn)者和消費(fèi)者關(guān)系,終端構(gòu)件只有需求接口而沒(méi)有供給接口。需求接口接受其中間構(gòu)件或者核心構(gòu)件提供的服務(wù),如鍵盤(pán)模塊、LED或LCD顯示模塊等。終端構(gòu)件可以調(diào)用底層內(nèi)部構(gòu)件,如LCD可調(diào)用GPIO、SPI等。終端構(gòu)件通常對(duì)應(yīng)著一種或多種具體應(yīng)用功能,如嵌入式系統(tǒng)的信息采集、顯示、交互、控制等功能。嵌入式系統(tǒng)構(gòu)件層次模型圖如圖1所示。

    2 面向應(yīng)用對(duì)象的終端硬件構(gòu)件原理圖繪制

    2.1 終端硬件構(gòu)件概念模型

    嵌入式硬件構(gòu)件(Hardware Component,HwC)是指將一個(gè)或者多個(gè)硬件功能模塊、支撐電路及其功能描述封裝在一起,提供一系列規(guī)范的輸入/輸出接口的可重用的硬件實(shí)體[6]。一個(gè)完整硬件構(gòu)件通常包含三大部分:構(gòu)件描述、構(gòu)件實(shí)體、構(gòu)件接口[7]。構(gòu)件描述是一個(gè)硬件構(gòu)件的說(shuō)明文檔,主要內(nèi)容包括硬件名稱(chēng)、主要功能、引腳說(shuō)明及注意事項(xiàng)等。一個(gè)終端硬件構(gòu)件可表述為如下模型[8]:

    HwC={構(gòu)件實(shí)體,構(gòu)件描述,接口描述};

    構(gòu)件實(shí)體={封裝的硬件實(shí)現(xiàn)};

    構(gòu)件描述={構(gòu)件的功能描述,構(gòu)件注意事項(xiàng)};

    接口描述={接口標(biāo)識(shí),接口網(wǎng)標(biāo),接口含義,調(diào)用說(shuō)明}。

    2.2 硬件原理圖繪制基本規(guī)則

    硬件構(gòu)件的概念模型可通過(guò)硬件原理圖進(jìn)行表述。為了清晰表達(dá)硬件構(gòu)件概念模型,在繪制原理圖時(shí),需遵循以下基本規(guī)則:①同類(lèi)型元器件命名時(shí)以相同字母為前綴并進(jìn)行編號(hào),如電阻名稱(chēng)為R1、R2,電容名稱(chēng)C1、C2等;②應(yīng)給出詳細(xì)的文字描述,包括構(gòu)件中英文名稱(chēng)、功能描述、接口描述以及注意事項(xiàng)等,以提升硬件構(gòu)件的可讀性;③用虛框封裝硬件構(gòu)件的電路及文字描述,虛框之內(nèi)為硬件構(gòu)件的實(shí)體;④標(biāo)明硬件構(gòu)件的對(duì)外輸入/輸出接口,接口標(biāo)識(shí)分為接口注釋和接口網(wǎng)標(biāo)兩種,接口注釋用來(lái)描述接口功能,標(biāo)于虛框之內(nèi),接口網(wǎng)標(biāo)則標(biāo)于虛框之外,用來(lái)表示電路連接特性。

    對(duì)于終端構(gòu)件而言,因其只有需求接口,硬件設(shè)計(jì)時(shí)首要考慮的問(wèn)題就是該構(gòu)件需要什么樣的信號(hào)才能工作。因此繪制終端構(gòu)件原理圖時(shí),沒(méi)有對(duì)外接口網(wǎng)標(biāo)而只有接口注釋。圖2給出一個(gè)典型LCD終端構(gòu)件的原理圖。一個(gè)遵循規(guī)范繪制的原理圖,可讀性強(qiáng),與之相對(duì)應(yīng)的驅(qū)動(dòng)構(gòu)件修改方便,可有效提高移植效率。

    圖2 LCD構(gòu)件原理圖

    2.3 驅(qū)動(dòng)構(gòu)件與原理圖的對(duì)應(yīng)關(guān)系

    構(gòu)件是軟硬件綜合體,硬件引腳連接只是最基本前提,要實(shí)現(xiàn)構(gòu)件的正常功能,必須有構(gòu)件驅(qū)動(dòng)程序進(jìn)行配合。引腳是硬件構(gòu)件對(duì)外的唯一接口,與之對(duì)應(yīng)驅(qū)動(dòng)構(gòu)件要有相應(yīng)的代碼表達(dá)出原理圖的含義。從終端驅(qū)動(dòng)構(gòu)件可移植角度出發(fā),驅(qū)動(dòng)構(gòu)件應(yīng)面向應(yīng)用對(duì)象也就是構(gòu)件本身進(jìn)行編程,實(shí)現(xiàn)這一目的必須在驅(qū)動(dòng)程序的頭文件中添加引腳映射功能。通過(guò)引腳宏定義映射,可以屏蔽不同MCU引腳的差異性,驅(qū)動(dòng)程序編程只需針對(duì)終端構(gòu)件的引腳展開(kāi)即可,無(wú)需關(guān)心不同型號(hào)MUC引腳的區(qū)別。構(gòu)件復(fù)用到相同型號(hào)的MCU不需要更改任何內(nèi)容即可直接復(fù)用,如果移植到不同型號(hào)MCU為核心的應(yīng)用系統(tǒng)當(dāng)中,只需改動(dòng)頭文件引腳的映射關(guān)系,對(duì)于驅(qū)動(dòng)程序來(lái)說(shuō),則可做到最小的改動(dòng)即可實(shí)現(xiàn)高效移植。例如圖2中原理圖中基于恩智浦KL25微控制器的引腳映射,定義如下:

    #define LCD_CLK (PTA_NUM|15) //LCD時(shí)鐘

    #define LCD_SDI (PTA_NUM|16) //LCD主出從入

    #define LCD_RS (PTA_NUM|4) //LCD復(fù)位

    #define LCD_DC (PTA_NUM|12) //LCD數(shù)據(jù)/命令

    #define LCD_SDO (PTA_NUM|17) //LCD主入從出

    3 面向應(yīng)用對(duì)象的終端驅(qū)動(dòng)構(gòu)件設(shè)計(jì)

    3.1 終端驅(qū)動(dòng)構(gòu)件概念模型

    終端構(gòu)件是包含硬件構(gòu)件和驅(qū)動(dòng)構(gòu)件的完整軟硬件實(shí)體。硬件構(gòu)件生產(chǎn)通常都會(huì)遵循一定的標(biāo)準(zhǔn)規(guī)范。從某種意義上說(shuō),驅(qū)動(dòng)構(gòu)件設(shè)計(jì)更大程度地決定了該終端構(gòu)件的可復(fù)用和可移植性的高低。驅(qū)動(dòng)構(gòu)件是直接面向硬件操作的軟件程序及相應(yīng)的說(shuō)明文檔。驅(qū)動(dòng)構(gòu)件直接和硬件打交道,從軟件工程角度來(lái)看,驅(qū)動(dòng)程序必須與核心構(gòu)件具體型號(hào)的MCU無(wú)關(guān),而是面向終端構(gòu)件本身,這樣才具有復(fù)用和移植價(jià)值。終端驅(qū)動(dòng)構(gòu)件設(shè)計(jì)的關(guān)鍵問(wèn)題是如何對(duì)這類(lèi)構(gòu)件的共性和具體應(yīng)用系統(tǒng)的特性進(jìn)行分析,抽象出該構(gòu)件對(duì)象的屬性和對(duì)外接口[9]。

    終端驅(qū)動(dòng)構(gòu)件(Terminal Drive Component,TDC)包括頭文件(.h)、源程序文件(.c)文件、文件描述、接口描述等,其概念模型可表述為:

    TDC={頭文件,源程序文件,文件描述,接口描述}

    頭文件={具體硬件引腳連接映射關(guān)系,功能函數(shù)聲明,全局常量定義}

    源程序文件={函數(shù)功能實(shí)現(xiàn)}

    文件描述={頭文件標(biāo)注,源程序文件標(biāo)注,函數(shù)頭注}

    函數(shù)頭注={函數(shù)名稱(chēng),函數(shù)功能描述,返回值類(lèi)型,參數(shù)描述,注意事項(xiàng)}

    參數(shù)描述={參數(shù)列表,參數(shù)方向,參數(shù)含義}

    用戶(hù)在使用構(gòu)件時(shí),可以通過(guò)頭文件描述的構(gòu)件完整信息進(jìn)行接口調(diào)用,而不必關(guān)心封裝在構(gòu)件源程序中的服務(wù)實(shí)現(xiàn)細(xì)節(jié)。一個(gè)設(shè)計(jì)良好的構(gòu)件被復(fù)用或者移植到不同嵌入式系統(tǒng)中,通常只需修改少量頭文件,對(duì)于源程序盡量做到少改甚至不改。

    3.2 終端驅(qū)動(dòng)構(gòu)件封裝基本原則

    為了便于復(fù)用和移植,驅(qū)動(dòng)構(gòu)件設(shè)計(jì)應(yīng)遵循以下基本原則和規(guī)范:

    ① 命名一致性原則。驅(qū)動(dòng)構(gòu)件的頭文件和源程序文件的主文件名必須與驅(qū)動(dòng)構(gòu)件名一致,構(gòu)件的屬性和內(nèi)外部函數(shù)命名統(tǒng)一以構(gòu)件名+屬性名/操作名形式,命名應(yīng)有見(jiàn)名知義的效果。

    ② 通信內(nèi)聚性和分層內(nèi)聚性原則。內(nèi)聚性指的是構(gòu)件內(nèi)部函數(shù)功能清晰單一明確,只負(fù)責(zé)一組相關(guān)的操作。通信內(nèi)聚指的要有專(zhuān)門(mén)負(fù)責(zé)構(gòu)件的底層通信函數(shù);分層內(nèi)聚指的是函數(shù)設(shè)計(jì)應(yīng)有層次化,高層函數(shù)能調(diào)用底層函數(shù),底層函數(shù)不能調(diào)用高層函數(shù)[10]。

    ③ 內(nèi)外有別原則。構(gòu)件函數(shù)分為內(nèi)部函數(shù)和外部函數(shù),內(nèi)部函數(shù)僅限構(gòu)件內(nèi)部調(diào)用,外部接口函數(shù)是外界操作構(gòu)件的接口,外部程序訪問(wèn)構(gòu)件屬性必須借助外部接口函數(shù)進(jìn)行,不可直接訪問(wèn)構(gòu)件屬性。

    ④ 松耦合原則。構(gòu)件應(yīng)嚴(yán)格限制全局變量的使用,且所有數(shù)據(jù)傳遞都要通過(guò)函數(shù)的形參進(jìn)行,這樣編碼既簡(jiǎn)潔高效又安全可靠。

    4 LCD終端構(gòu)件設(shè)計(jì)實(shí)例

    TFTLCD即薄膜晶體管液晶顯示器,是一種常用液晶顯示器件。下面我們利用上文所述的設(shè)計(jì)思想和基本原則從原理圖繪制、公共要素分析及頭文件設(shè)計(jì)、驅(qū)動(dòng)要素分析及函數(shù)設(shè)計(jì)等方面給出一個(gè)面向應(yīng)用對(duì)象的TFTLCD構(gòu)件分析和設(shè)計(jì)完整過(guò)程。

    4.1 LCD構(gòu)件原理圖繪制

    LCD的硬件對(duì)外唯一接口是其連接引腳。因此原理圖的繪制用虛線封裝其內(nèi)部結(jié)構(gòu),虛線內(nèi)部給出引腳的基本含義,虛線外部給出對(duì)應(yīng)的接口網(wǎng)標(biāo),本例LCD引腳連接的網(wǎng)標(biāo)為恩智浦公司的Kinetis 系列KL25微控制器[11]。同時(shí)在虛擬框內(nèi)部給出詳細(xì)的構(gòu)件說(shuō)明,包括構(gòu)件中英文名稱(chēng)、各引腳功能和使用說(shuō)明以及注意事項(xiàng)等,如圖3所示。這樣在系統(tǒng)移植過(guò)程中就可快速進(jìn)行引腳的連接。

    圖3 LCD構(gòu)件與KL25系統(tǒng)連接原理圖

    4.2 LCD構(gòu)件公共要素分析及頭文件設(shè)計(jì)

    要提高LCD構(gòu)件的可移植性,就必須實(shí)現(xiàn)面向應(yīng)用對(duì)象的設(shè)計(jì)和編程,屏蔽不同型號(hào)MCU的差異性。因此須在LCD構(gòu)件的頭文件lcd.h中對(duì)給出構(gòu)件的引腳連接的MCU的引腳進(jìn)行定義,使用宏定義描述硬件連接線,且每個(gè)接線都單獨(dú)宏定義,更具普適性。

    除此之外,構(gòu)件的頭文件應(yīng)給出文件頭注,包括文件名稱(chēng)、功能概要、版本號(hào)、編寫(xiě)者或修改者姓名、最后修改時(shí)間等信息。頭文件包含(#include)為L(zhǎng)CD構(gòu)件提供服務(wù)的核心構(gòu)件或者中間構(gòu)件頭文件。LCD驅(qū)動(dòng)構(gòu)件的函數(shù)聲明都放在lcd.h頭文件。LCD驅(qū)動(dòng)構(gòu)件內(nèi)部函數(shù)和外部接口函數(shù)分開(kāi)聲明。LCD構(gòu)件使用的一些全局常量,如屏幕寬高以及顏色類(lèi)型都在lcd.h頭文件中進(jìn)行定義。

    4.3 LCD構(gòu)件源程序文件設(shè)計(jì)

    LCD構(gòu)件源程序文件lcd.c和頭文件一樣,給出文件頭注釋?zhuān)瑑?nèi)容與頭文件的頭注類(lèi)似,每個(gè)函數(shù)也都必須給出函數(shù)頭注,函數(shù)內(nèi)部代碼關(guān)鍵語(yǔ)句也應(yīng)有行注釋或邊注釋?zhuān)岣吡顺绦蚩勺x性。終端驅(qū)動(dòng)構(gòu)件函數(shù)從屬于驅(qū)動(dòng)構(gòu)件,驅(qū)動(dòng)函數(shù)的命名除要體現(xiàn)函數(shù)功能之外,還需要體現(xiàn)其從屬構(gòu)件不同的實(shí)現(xiàn)方式,如LCD_Init(LCD初始化)、LCD_ShowImage(LCD顯示圖片)等,避免構(gòu)件函數(shù)出現(xiàn)同名現(xiàn)象,同時(shí)函數(shù)名也要能夠“顧名思義”。

    4.4 LCD構(gòu)件驅(qū)動(dòng)要素分析及函數(shù)層次化設(shè)計(jì)

    (1)驅(qū)動(dòng)要素分析及通信函數(shù)設(shè)計(jì)

    LCD構(gòu)件能夠運(yùn)行的基礎(chǔ)是LCD與系統(tǒng)核心MCU正常通信。TFTLCD采用的驅(qū)動(dòng)控制器型號(hào)為ILI9341。構(gòu)件驅(qū)動(dòng)程序主要工作就是和ILI9341芯片打交道,MCU與ILI9341之間采用串行外設(shè)接口(Serial Peripheral Interface,SPI)方式通信。SPI通信需要考慮驅(qū)動(dòng)芯片各引腳數(shù)據(jù)傳輸?shù)臅r(shí)序問(wèn)題,對(duì)ILI9341驅(qū)動(dòng)芯片的初始化涉及對(duì)不同寄存器進(jìn)行操作,是一系列的復(fù)雜過(guò)程。對(duì)于一般嵌入式開(kāi)發(fā)人員,并不希望了解其復(fù)雜內(nèi)部機(jī)制,而是只要少量驅(qū)動(dòng)代碼修改便能移植使用。

    LCD構(gòu)件的中上層函數(shù)如初始化、顯示等上層功能部函數(shù)的運(yùn)行均需建立在通信函數(shù)正常運(yùn)行的前提之下。根據(jù)構(gòu)件的通信內(nèi)聚性和分層內(nèi)聚性原則,給出了構(gòu)件專(zhuān)用底層通信函數(shù)代碼如下(按照命名一致性原則,函數(shù)命名統(tǒng)一采用LCD_操作名):

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

    void LCD_wr_data(uint_8 data){

    GPIO_set(LCD_DC,1);

    //LCD_DC高電平表示發(fā)送數(shù)據(jù)

    SPI_send(0,data);

    //使用0號(hào)SPI模塊發(fā)送8位數(shù)據(jù)

    }

    //發(fā)送8位寄存器命令

    void LCD_ wr_reg (uint_8 data){

    GPIO_set(LCD_DC,0);

    //LCD_DC低電平表示寫(xiě)寄存器

    SPI_send1(0,data);

    //使用0號(hào)SPI模塊發(fā)送8位寄存器命令

    }

    可以看出,數(shù)據(jù)通信函數(shù)調(diào)用了GPIO 構(gòu)件和SPI通信構(gòu)件。GPIO 構(gòu)件用來(lái)實(shí)現(xiàn)MCU引腳的初始化和狀態(tài)設(shè)置;SPI通信的初始化必須按照LCD驅(qū)動(dòng)芯片ILI9341設(shè)定的時(shí)序進(jìn)行。根據(jù)ILI9341參考手冊(cè)[12],該芯片使用的是數(shù)據(jù)發(fā)送低電平空閑,上升沿取數(shù)模式,對(duì)應(yīng)的時(shí)鐘極性CPOL及相位CPHA選擇均為0,因此將引腳初始化和SPI構(gòu)件初始化如下:

    GPIO_init(LCD_RS,1,0);

    GPIO_init(LCD_DC,1,0);

    SPI_init(SPI_0,1,6000,0,0);

    說(shuō)明:GPIO_init是GPIO構(gòu)件初始化函數(shù),分別將LCD_RS和LCD_DC設(shè)置為輸出引腳,默認(rèn)值為低電平。SPI_init 為構(gòu)件初始化函數(shù),參數(shù)SPI_0為0號(hào)SPI模塊;1為MCU為通信主機(jī);6000為通信波特率;最后兩個(gè)參數(shù) 0、0分別為時(shí)鐘極性及相位。這些通信的關(guān)鍵要素必須在文檔中交代清楚,以便移植時(shí)參考。終端構(gòu)件在移植時(shí),除了引腳連接和宏定義映射外,作為功能實(shí)現(xiàn)的基礎(chǔ),驅(qū)動(dòng)構(gòu)件的通信函數(shù)是極為關(guān)鍵的,必須予以高度重視。

    (2)中上層功能函數(shù)設(shè)計(jì)

    有了底層通信函數(shù)作為基礎(chǔ),其他中上層功能函數(shù)就可實(shí)現(xiàn)具體功能,例如LCD的初始化函數(shù)、LCD顯示區(qū)域設(shè)置函數(shù)等都是對(duì)ILI9341寄存器一系列的設(shè)置,過(guò)程相對(duì)比較復(fù)雜,但是每一種模式通常都遵循固定的順序步驟,需根據(jù)ILI9341參考手冊(cè)調(diào)用底層通信函數(shù)LCD_wr_reg等對(duì)寄存器進(jìn)行一系列的設(shè)置,設(shè)計(jì)時(shí)將具體的步驟封裝,對(duì)外屏蔽其復(fù)雜的寫(xiě)寄存器操作,必要時(shí)通過(guò)參數(shù)設(shè)置入口,開(kāi)發(fā)人員只需調(diào)用即可,該類(lèi)函數(shù)借助通信函數(shù)實(shí)現(xiàn)其操作與構(gòu)件底層通信無(wú)關(guān),易于復(fù)用和移植。下面是兩個(gè)常用功能函數(shù)樣例:

    void LCD_Init(void); //LCD構(gòu)件初始化

    void LCD_AreaSet(uint_16 x1,uint_16 y1,uint_16 x2,uint_16 y2);

    //顯示區(qū)域設(shè)置

    其中,LCD_AreaSet函數(shù)中x1、y1和x2、y2是確定顯示矩形區(qū)域的對(duì)角線兩點(diǎn)坐標(biāo)值。

    LCD具體應(yīng)用功能(如畫(huà)點(diǎn)、畫(huà)線、畫(huà)圈、顯示文字、顯示圖像等)需要綜合考慮,如何進(jìn)行封裝和設(shè)計(jì),方便用戶(hù)使用。鑒于篇幅,下面以顯示圖像函數(shù)LCD_ShowImage為例進(jìn)行說(shuō)明。顯示圖像通常需要知道顯示位置、圖像尺寸和圖像的點(diǎn)陣信息,因此LCD_ShowImage函數(shù)可設(shè)計(jì)如下:

    void LCD_ShowImage (uint_16 x,uint_16 y,uint_16 width,uint_16 height,uint_8 *image);

    其中,x、y是圖片顯示的起始坐標(biāo),width 和height分別為圖像的寬度和高度,image則為存儲(chǔ)圖像的點(diǎn)陣信息數(shù)組首地址。函數(shù)內(nèi)部也是通過(guò)調(diào)用通信函數(shù)來(lái)實(shí)現(xiàn)圖像的顯示,用戶(hù)無(wú)需知道細(xì)節(jié),只需知道參數(shù)意義即可進(jìn)行調(diào)用。

    在LCD驅(qū)動(dòng)構(gòu)件函數(shù)層次中,中上層功能函數(shù)在移植時(shí)基本無(wú)需改動(dòng),可看作驅(qū)動(dòng)構(gòu)件的通用層。移植的關(guān)鍵在于MCU頭文件和構(gòu)件的底層通信函數(shù),因此這部分可看作是LCD構(gòu)件的適配層。LCD構(gòu)件驅(qū)動(dòng)程序?qū)哟渭昂瘮?shù)關(guān)系如圖4所示。

    圖4 LCD構(gòu)件驅(qū)動(dòng)程序?qū)哟文P?/p>

    4.5 LCD構(gòu)件可移植性度量分析

    一個(gè)構(gòu)件的可移植性高低可以采用軟件可移植性度量進(jìn)行分析。下面分別利用基于移植成本和移植工作量?jī)煞N可移植性度量模式[13]對(duì)LCD構(gòu)件進(jìn)行可移植度量分析。

    (1)基于移植成本度量

    該度量模式基于軟件的可移植性和開(kāi)發(fā)成本之間的關(guān)系來(lái)衡量可移植性程度,可使用下式:

    其中,DP表示可移植性大小,COSTport表示軟件的移植成本,COSTredevelop表示軟件重新開(kāi)發(fā)的成本,DP越大表示軟件的可移植性越高。從復(fù)用和移植步驟可以看出,在新系統(tǒng)移植時(shí),LCD構(gòu)件只需修改適配層的引腳定義和通信函數(shù),其他功能則基本不需改動(dòng),反映到成本上,COSTport遠(yuǎn)遠(yuǎn)小于COSTredevelop。因此,LCD構(gòu)件從成本角度看可移植性較高。

    (2)基于移植工作量度量

    該度量模式通過(guò)與移植環(huán)境相關(guān)的靜態(tài)指標(biāo)(如代碼修改量、移植耗時(shí)等)來(lái)衡量可移植性高低。如上文所述,LCD構(gòu)件嚴(yán)格按照構(gòu)件概念模型設(shè)計(jì),代碼具有模塊化、層次化的特征。移植新系統(tǒng)時(shí),需要修改的僅僅是頭文件的引腳定義和源文件中通信函數(shù)的重寫(xiě),除特殊情況外,其他部分基本不需改動(dòng),而且LCD構(gòu)件有規(guī)范的注釋和移植說(shuō)明、注意事項(xiàng)等文檔作為移植參考。經(jīng)實(shí)驗(yàn)室測(cè)試,在新購(gòu)的TFTLCD構(gòu)件代碼零亂、沒(méi)有相關(guān)參考文檔的情況下,移植成功花費(fèi)了大約兩天時(shí)間,而經(jīng)過(guò)本文封裝形成規(guī)范的TFTLCD構(gòu)件,交付給另一個(gè)沒(méi)有參與設(shè)計(jì)且技術(shù)水平相當(dāng)?shù)娜藛T,在基于不同型號(hào)的核心構(gòu)件系統(tǒng)中進(jìn)行移植花費(fèi)時(shí)間僅約3小時(shí),大大提高了效率,且運(yùn)行更加穩(wěn)定可靠。測(cè)試說(shuō)明按照本文提出規(guī)范設(shè)計(jì)面向應(yīng)用對(duì)象的終端構(gòu)件具有良好的可復(fù)用可移植性。

    結(jié) 語(yǔ)

    猜你喜歡
    原理圖嵌入式構(gòu)件
    淺談STM32核心板原理圖設(shè)計(jì)
    電路原理圖自動(dòng)布圖系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
    基于Protel DXP 2004層次原理圖的設(shè)計(jì)
    搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
    嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
    建筑構(gòu)件
    建筑構(gòu)件
    建筑構(gòu)件
    建筑構(gòu)件
    Altera加入嵌入式視覺(jué)聯(lián)盟
    欧美丝袜亚洲另类| 久久久久久久久久人人人人人人| 日本与韩国留学比较| 中文精品一卡2卡3卡4更新| 精品卡一卡二卡四卡免费| 国产亚洲一区二区精品| 91成人精品电影| 大香蕉久久网| 五月伊人婷婷丁香| 五月玫瑰六月丁香| 99久国产av精品国产电影| 国产爽快片一区二区三区| 午夜视频国产福利| 91午夜精品亚洲一区二区三区| 日韩中文字幕视频在线看片| 五月天丁香电影| 在线观看人妻少妇| 色94色欧美一区二区| 黄片无遮挡物在线观看| 久久久久久久精品精品| 欧美 日韩 精品 国产| 国产毛片在线视频| 五月伊人婷婷丁香| 国产成人a∨麻豆精品| 欧美成人精品欧美一级黄| 日韩成人伦理影院| 午夜av观看不卡| 激情五月婷婷亚洲| 一级黄片播放器| 人妻 亚洲 视频| 男女免费视频国产| 激情五月婷婷亚洲| 国产精品伦人一区二区| 性高湖久久久久久久久免费观看| 亚洲国产av新网站| 日韩欧美精品免费久久| 国产一区有黄有色的免费视频| 老司机影院毛片| 亚洲欧美成人综合另类久久久| 一区二区三区四区激情视频| 99久久人妻综合| 五月开心婷婷网| 国产熟女午夜一区二区三区 | 在线免费观看不下载黄p国产| 中文字幕久久专区| 欧美xxⅹ黑人| 国产精品人妻久久久影院| 亚洲综合精品二区| 精品一品国产午夜福利视频| 欧美亚洲 丝袜 人妻 在线| 91久久精品国产一区二区三区| 国产成人aa在线观看| 国产色婷婷99| 亚洲精品日韩在线中文字幕| 成人特级av手机在线观看| 亚洲欧美一区二区三区国产| 人妻一区二区av| 亚洲精品,欧美精品| 国产精品一区二区在线不卡| 欧美日韩亚洲高清精品| 精品国产一区二区三区久久久樱花| 精品一区二区免费观看| 性色avwww在线观看| 精品亚洲乱码少妇综合久久| 久久99一区二区三区| 大片电影免费在线观看免费| 麻豆乱淫一区二区| www.av在线官网国产| 五月伊人婷婷丁香| 婷婷色综合www| 一个人免费看片子| 欧美精品一区二区大全| 成人漫画全彩无遮挡| 在线观看www视频免费| 日韩成人伦理影院| 午夜av观看不卡| 亚洲色图综合在线观看| av在线老鸭窝| 亚洲精品日韩在线中文字幕| 91精品国产国语对白视频| 99热这里只有精品一区| 久久久久久久久久人人人人人人| 少妇的逼好多水| 亚洲欧美中文字幕日韩二区| 中国美白少妇内射xxxbb| av在线观看视频网站免费| 亚洲情色 制服丝袜| 天堂俺去俺来也www色官网| 久久av网站| 亚洲精品日韩av片在线观看| 一级毛片我不卡| 观看免费一级毛片| 91久久精品电影网| 观看美女的网站| 亚洲精品456在线播放app| 看免费成人av毛片| 97超视频在线观看视频| 亚洲欧美日韩另类电影网站| 成年人免费黄色播放视频 | 国产美女午夜福利| 伊人久久精品亚洲午夜| 国产成人免费观看mmmm| 亚洲精品第二区| 91精品一卡2卡3卡4卡| av播播在线观看一区| 综合色丁香网| 国产乱人偷精品视频| 亚洲成人av在线免费| 国产精品人妻久久久影院| 水蜜桃什么品种好| 久久久久国产网址| av又黄又爽大尺度在线免费看| 麻豆成人午夜福利视频| 国产又色又爽无遮挡免| 国产 一区精品| 日本爱情动作片www.在线观看| 亚洲国产成人一精品久久久| 制服丝袜香蕉在线| 噜噜噜噜噜久久久久久91| 成人二区视频| 国产男女超爽视频在线观看| 激情五月婷婷亚洲| 久久久久久人妻| 精品国产露脸久久av麻豆| 五月玫瑰六月丁香| 国产69精品久久久久777片| 看免费成人av毛片| 免费久久久久久久精品成人欧美视频 | 男女无遮挡免费网站观看| 亚洲av中文av极速乱| 偷拍熟女少妇极品色| 久热久热在线精品观看| 午夜福利在线观看免费完整高清在| 高清av免费在线| 最近2019中文字幕mv第一页| 国产白丝娇喘喷水9色精品| 亚洲一级一片aⅴ在线观看| 人妻少妇偷人精品九色| 欧美激情极品国产一区二区三区 | 欧美精品一区二区免费开放| 国产免费视频播放在线视频| 国产精品久久久久久精品古装| 日本黄色日本黄色录像| 国产男人的电影天堂91| 久久人人爽人人片av| 人妻制服诱惑在线中文字幕| 午夜激情久久久久久久| 国产69精品久久久久777片| 久久久国产精品麻豆| 日韩三级伦理在线观看| 免费看日本二区| 国产av精品麻豆| 少妇的逼好多水| 建设人人有责人人尽责人人享有的| 日韩,欧美,国产一区二区三区| 一区二区av电影网| 2021少妇久久久久久久久久久| 精品一品国产午夜福利视频| 亚洲欧洲国产日韩| 久久精品夜色国产| 精品国产露脸久久av麻豆| 夫妻午夜视频| 亚洲精品乱码久久久v下载方式| 免费观看av网站的网址| 青春草亚洲视频在线观看| 三上悠亚av全集在线观看 | 麻豆乱淫一区二区| 精品国产露脸久久av麻豆| 夫妻午夜视频| 涩涩av久久男人的天堂| 国产午夜精品久久久久久一区二区三区| 91久久精品国产一区二区成人| 老女人水多毛片| 国内少妇人妻偷人精品xxx网站| 一级毛片电影观看| 久久精品国产鲁丝片午夜精品| 纵有疾风起免费观看全集完整版| 久久 成人 亚洲| 成人美女网站在线观看视频| 亚洲av国产av综合av卡| 午夜老司机福利剧场| 日韩一区二区视频免费看| 欧美精品一区二区免费开放| 女性被躁到高潮视频| 内射极品少妇av片p| 国产伦精品一区二区三区视频9| 嫩草影院新地址| 国产一级毛片在线| 国产精品.久久久| 国产成人免费观看mmmm| 香蕉精品网在线| 欧美三级亚洲精品| 亚洲色图综合在线观看| 国产av一区二区精品久久| av福利片在线| 中文乱码字字幕精品一区二区三区| 中国美白少妇内射xxxbb| 美女国产视频在线观看| 成人二区视频| 亚洲精品视频女| 啦啦啦视频在线资源免费观看| 免费少妇av软件| 国产精品无大码| 亚洲综合精品二区| 日本黄色日本黄色录像| 成人影院久久| 精品一区二区三卡| 99热网站在线观看| 极品教师在线视频| 我的老师免费观看完整版| 综合色丁香网| 在线观看人妻少妇| 91aial.com中文字幕在线观看| 免费观看的影片在线观看| 尾随美女入室| 日韩大片免费观看网站| 欧美成人精品欧美一级黄| 三级国产精品欧美在线观看| 国模一区二区三区四区视频| 精品少妇黑人巨大在线播放| 成人国产av品久久久| videos熟女内射| 免费高清在线观看视频在线观看| 久久久久网色| 色网站视频免费| 亚洲av电影在线观看一区二区三区| 极品少妇高潮喷水抽搐| 日本av免费视频播放| 午夜福利影视在线免费观看| 欧美激情极品国产一区二区三区 | 日韩大片免费观看网站| 成人二区视频| 国产极品天堂在线| 麻豆成人午夜福利视频| 一级毛片黄色毛片免费观看视频| 黄色毛片三级朝国网站 | 在线观看免费高清a一片| a级一级毛片免费在线观看| 亚洲怡红院男人天堂| 亚洲精品第二区| 国产av码专区亚洲av| 18禁在线播放成人免费| 秋霞伦理黄片| 黑人高潮一二区| 久久久久久久大尺度免费视频| 两个人的视频大全免费| 婷婷色综合www| 久久鲁丝午夜福利片| 欧美国产精品一级二级三级 | 免费av中文字幕在线| 亚洲图色成人| 99热国产这里只有精品6| 欧美xxxx性猛交bbbb| 欧美最新免费一区二区三区| 中文字幕av电影在线播放| 午夜免费男女啪啪视频观看| 国产国拍精品亚洲av在线观看| 国产91av在线免费观看| 亚洲精品自拍成人| 国产老妇伦熟女老妇高清| 五月开心婷婷网| 在线观看国产h片| 丁香六月天网| 99久久精品热视频| 中文字幕免费在线视频6| 91午夜精品亚洲一区二区三区| 一本久久精品| 国产精品一区二区三区四区免费观看| 成人18禁高潮啪啪吃奶动态图 | 欧美老熟妇乱子伦牲交| 男女国产视频网站| 国产伦精品一区二区三区四那| 日本vs欧美在线观看视频 | 日日撸夜夜添| 狠狠精品人妻久久久久久综合| 亚洲精品乱码久久久久久按摩| 美女内射精品一级片tv| av有码第一页| 亚洲欧美日韩卡通动漫| 精品少妇黑人巨大在线播放| 久久人人爽av亚洲精品天堂| 欧美高清成人免费视频www| 亚洲自偷自拍三级| 一个人免费看片子| 十分钟在线观看高清视频www | 久久99精品国语久久久| 51国产日韩欧美| 永久网站在线| 一本一本综合久久| 制服丝袜香蕉在线| 2021少妇久久久久久久久久久| 日韩熟女老妇一区二区性免费视频| 国产视频首页在线观看| 免费少妇av软件| 亚洲伊人久久精品综合| 内地一区二区视频在线| av福利片在线| 视频中文字幕在线观看| 免费人成在线观看视频色| 日本vs欧美在线观看视频 | 亚洲国产欧美在线一区| 国产一区有黄有色的免费视频| 精品国产一区二区久久| 精品99又大又爽又粗少妇毛片| av在线观看视频网站免费| 国产 精品1| av.在线天堂| 久久午夜福利片| 不卡视频在线观看欧美| 中国国产av一级| 久久精品熟女亚洲av麻豆精品| av免费在线看不卡| 高清在线视频一区二区三区| 精品一区二区免费观看| 又爽又黄a免费视频| 最黄视频免费看| a级毛色黄片| 一级,二级,三级黄色视频| 成年人午夜在线观看视频| 色网站视频免费| 少妇猛男粗大的猛烈进出视频| 精品人妻熟女毛片av久久网站| 亚洲精品国产色婷婷电影| 久久狼人影院| 一边亲一边摸免费视频| 大又大粗又爽又黄少妇毛片口| 最近最新中文字幕免费大全7| 久久久久久久国产电影| 深夜a级毛片| 老司机影院成人| 中文字幕人妻丝袜制服| 日本欧美国产在线视频| 亚洲av日韩在线播放| 午夜福利影视在线免费观看| 中文字幕人妻丝袜制服| 亚洲四区av| 你懂的网址亚洲精品在线观看| 99久久综合免费| 黄色一级大片看看| 国产综合精华液| 亚洲国产精品999| 男女国产视频网站| 亚洲人成网站在线观看播放| 噜噜噜噜噜久久久久久91| 少妇被粗大的猛进出69影院 | 国内少妇人妻偷人精品xxx网站| 一本一本综合久久| 寂寞人妻少妇视频99o| 高清欧美精品videossex| 人体艺术视频欧美日本| 亚洲精品国产av成人精品| 国产av精品麻豆| 99九九在线精品视频 | 国产精品久久久久久精品电影小说| 99精国产麻豆久久婷婷| 婷婷色综合www| 精品国产露脸久久av麻豆| 亚洲国产最新在线播放| 免费观看在线日韩| 一本一本综合久久| 久久久久久久久久久久大奶| 日韩 亚洲 欧美在线| av网站免费在线观看视频| 在线 av 中文字幕| 久久久久久久久久久久大奶| 一级黄片播放器| 这个男人来自地球电影免费观看 | kizo精华| 色视频在线一区二区三区| 亚洲性久久影院| 免费大片18禁| 欧美日本中文国产一区发布| 精品少妇内射三级| 大陆偷拍与自拍| 久久午夜福利片| 亚洲成人av在线免费| 能在线免费看毛片的网站| h日本视频在线播放| 亚洲婷婷狠狠爱综合网| 熟女电影av网| 婷婷色综合www| 日本-黄色视频高清免费观看| 午夜福利影视在线免费观看| 人妻夜夜爽99麻豆av| 久久久久网色| 亚洲精品日韩在线中文字幕| 免费看av在线观看网站| 少妇丰满av| 黑人巨大精品欧美一区二区蜜桃 | 国产精品国产三级专区第一集| 久久人人爽人人片av| 亚洲av中文av极速乱| 麻豆乱淫一区二区| 哪个播放器可以免费观看大片| 香蕉精品网在线| 国产极品粉嫩免费观看在线 | 国产av一区二区精品久久| 亚洲精品国产成人久久av| 国产又色又爽无遮挡免| 黄色怎么调成土黄色| 国产成人freesex在线| 久久97久久精品| 性高湖久久久久久久久免费观看| 国语对白做爰xxxⅹ性视频网站| 欧美日韩一区二区视频在线观看视频在线| 精品久久久精品久久久| 人妻夜夜爽99麻豆av| 精品人妻熟女av久视频| 日本与韩国留学比较| 91精品国产九色| 深夜a级毛片| 亚洲国产成人一精品久久久| 美女国产视频在线观看| 亚洲第一av免费看| 伦理电影免费视频| 精品人妻熟女毛片av久久网站| 国产免费视频播放在线视频| 中文字幕人妻丝袜制服| 亚洲欧美一区二区三区国产| 欧美日韩在线观看h| 18禁动态无遮挡网站| 亚洲国产av新网站| 国产免费又黄又爽又色| 丰满乱子伦码专区| 99国产精品免费福利视频| 日日摸夜夜添夜夜爱| 夫妻性生交免费视频一级片| 春色校园在线视频观看| 久久久亚洲精品成人影院| 人妻系列 视频| 国产精品成人在线| 丝瓜视频免费看黄片| 97超视频在线观看视频| 赤兔流量卡办理| 欧美日韩视频高清一区二区三区二| 伊人久久精品亚洲午夜| 亚洲婷婷狠狠爱综合网| 欧美xxⅹ黑人| 国产黄色视频一区二区在线观看| 少妇人妻一区二区三区视频| 久久久久久久国产电影| 十分钟在线观看高清视频www | 看非洲黑人一级黄片| 十八禁高潮呻吟视频 | 欧美老熟妇乱子伦牲交| 国产高清有码在线观看视频| 人体艺术视频欧美日本| 国产精品99久久99久久久不卡 | 亚洲内射少妇av| 亚洲精品一二三| 校园人妻丝袜中文字幕| 波野结衣二区三区在线| 亚洲四区av| 男人舔奶头视频| 如何舔出高潮| 97超视频在线观看视频| 另类亚洲欧美激情| 国产高清有码在线观看视频| 日本免费在线观看一区| 最近2019中文字幕mv第一页| 婷婷色综合大香蕉| 国产高清三级在线| 久久久久人妻精品一区果冻| 久久久国产精品麻豆| 国内精品宾馆在线| 一区二区三区精品91| 国产成人免费无遮挡视频| 人妻人人澡人人爽人人| 男的添女的下面高潮视频| 人妻系列 视频| 最新中文字幕久久久久| 99热这里只有是精品50| 老司机亚洲免费影院| 日日啪夜夜撸| 蜜桃久久精品国产亚洲av| 中国三级夫妇交换| 97超碰精品成人国产| 久久97久久精品| 一级毛片黄色毛片免费观看视频| 亚洲欧美日韩另类电影网站| 少妇人妻 视频| 成人美女网站在线观看视频| 美女xxoo啪啪120秒动态图| 亚洲国产日韩一区二区| 美女福利国产在线| h日本视频在线播放| 91精品国产国语对白视频| 人妻制服诱惑在线中文字幕| 国产欧美日韩一区二区三区在线 | 亚洲欧美日韩卡通动漫| 国产免费福利视频在线观看| 色视频www国产| 精品久久久久久电影网| 国产av一区二区精品久久| 一区二区三区四区激情视频| 亚洲欧美精品自产自拍| 国产无遮挡羞羞视频在线观看| 国产成人91sexporn| 亚洲丝袜综合中文字幕| 校园人妻丝袜中文字幕| 久久人妻熟女aⅴ| 麻豆精品久久久久久蜜桃| 人人妻人人澡人人看| 男女无遮挡免费网站观看| 综合色丁香网| 精品熟女少妇av免费看| a级毛色黄片| 少妇人妻久久综合中文| 国产成人午夜福利电影在线观看| 嫩草影院入口| 亚洲精品自拍成人| 亚洲av在线观看美女高潮| 国产亚洲午夜精品一区二区久久| 免费看光身美女| 春色校园在线视频观看| 黄片无遮挡物在线观看| 少妇精品久久久久久久| 综合色丁香网| 制服丝袜香蕉在线| 91精品国产九色| 黑人高潮一二区| 国产成人一区二区在线| 99久久精品国产国产毛片| 日本与韩国留学比较| 中文在线观看免费www的网站| 国产亚洲最大av| 亚洲av二区三区四区| 国产黄色视频一区二区在线观看| 人人妻人人澡人人看| 国产欧美日韩精品一区二区| 卡戴珊不雅视频在线播放| 久久99一区二区三区| 香蕉精品网在线| 国产成人精品婷婷| 黄色配什么色好看| av女优亚洲男人天堂| 少妇被粗大猛烈的视频| 国产免费又黄又爽又色| 久久6这里有精品| 成人毛片a级毛片在线播放| 久热久热在线精品观看| 少妇的逼好多水| 国产精品一区二区三区四区免费观看| 下体分泌物呈黄色| 成人国产麻豆网| av视频免费观看在线观看| 嫩草影院入口| 蜜臀久久99精品久久宅男| 中文字幕人妻熟人妻熟丝袜美| 成人影院久久| 一级毛片黄色毛片免费观看视频| 欧美3d第一页| 中文精品一卡2卡3卡4更新| 成年人免费黄色播放视频 | 国产有黄有色有爽视频| 超碰97精品在线观看| 日韩中文字幕视频在线看片| 欧美日本中文国产一区发布| a 毛片基地| 精品国产一区二区久久| 97超碰精品成人国产| 日韩免费高清中文字幕av| 国产精品无大码| 黄色欧美视频在线观看| av在线播放精品| 久久久久久久久久久久大奶| 乱人伦中国视频| 国产日韩一区二区三区精品不卡 | av在线观看视频网站免费| 观看免费一级毛片| 日本爱情动作片www.在线观看| 纵有疾风起免费观看全集完整版| 熟妇人妻不卡中文字幕| av一本久久久久| 美女脱内裤让男人舔精品视频| 久久99热6这里只有精品| 五月玫瑰六月丁香| 亚洲中文av在线| 人妻少妇偷人精品九色| 亚洲伊人久久精品综合| 人人妻人人爽人人添夜夜欢视频 | 色网站视频免费| 妹子高潮喷水视频| 免费久久久久久久精品成人欧美视频 | 日韩欧美精品免费久久| 国产一区二区三区av在线| 精品一区二区三卡| 精品少妇内射三级| 国产黄频视频在线观看| 成人综合一区亚洲| 六月丁香七月| 欧美亚洲 丝袜 人妻 在线| 亚洲av成人精品一区久久| 久久 成人 亚洲| 国产精品国产三级专区第一集| 99热这里只有是精品50| 国产免费视频播放在线视频| 国产亚洲5aaaaa淫片| 成人美女网站在线观看视频| 卡戴珊不雅视频在线播放| 国产极品天堂在线| 日韩视频在线欧美| 精品卡一卡二卡四卡免费| 欧美日韩在线观看h| 午夜免费观看性视频| 最后的刺客免费高清国语| 哪个播放器可以免费观看大片| 80岁老熟妇乱子伦牲交| 一本大道久久a久久精品| 国产一区二区在线观看日韩| 国产av一区二区精品久久| 免费观看的影片在线观看| 日韩精品有码人妻一区| 国产伦在线观看视频一区| 精品人妻熟女av久视频|