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

    基于Eclipse的嵌入式集成開發(fā)環(huán)境的研究與實現(xiàn)

    2014-12-23 01:17:04蔣志翔
    計算機工程與設(shè)計 2014年9期
    關(guān)鍵詞:宿主機源代碼嵌入式

    胡 昊,蔣志翔,張 楊

    (中國航天科工集團第二研究院706所,北京100854)

    0 引 言

    一個良好的集成開發(fā)環(huán)境能夠簡化開發(fā)過程,減輕開發(fā)人員用于工具上的精力,提高開發(fā)效率。當(dāng)前比較流行的開發(fā)環(huán)境平臺軟件有Microsoft Visual Studio、Eclipse、Code Blocks等,這些開發(fā)環(huán)境提供了一般軟件開發(fā)所需的一系列功能,然而對于嵌入式開發(fā)的支持卻相對薄弱,或缺乏跨平臺的支持,或缺乏一些開發(fā)功能;而對嵌入式開發(fā)支持較好的一些開發(fā)環(huán)境如Tornado又不提供源碼,不能根據(jù)需求更改功能[1,2]。嵌入式系統(tǒng)的交叉開發(fā)環(huán)境一般包括交叉編譯器、交叉調(diào)試器和系統(tǒng)仿真器等,并采用宿主機/目標(biāo)機模式開發(fā)嵌入式應(yīng)用軟件。國內(nèi)外雖然對于嵌入式方向的研究和工程較多,但真正掌握核心開發(fā)技術(shù)、尤其是完全掌握交叉開發(fā)流程的公司和個人卻是少數(shù)。

    在對通用的開發(fā)環(huán)境進(jìn)行研究后,本文針對上述缺陷,提出對當(dāng)前嵌入式集成開發(fā)環(huán)境的改進(jìn)方案,并且在Eclipse框架的基礎(chǔ)上進(jìn)行了實現(xiàn)。本文旨在研究并實現(xiàn)能夠在x86宿主機上交叉開發(fā)MIPS架構(gòu)、龍芯3A 處理器的目標(biāo)機上應(yīng)用程序的集成開發(fā)環(huán)境。在開發(fā)環(huán)境中,不僅實現(xiàn)了基本的程序構(gòu)建功能,為嵌入式工具鏈提供了健全的支持,同時還設(shè)計了一系列開發(fā)和測試工具,改進(jìn)了編譯方式,提高了開發(fā)效率,能夠在一定程度上縮短開發(fā)周期、降低成本。

    1 嵌入式實時操作系統(tǒng)

    本文基于項目是面向MIPS架構(gòu)的龍芯3A 硬件平臺的嵌入式操作系統(tǒng)及集成開發(fā)環(huán)境的研發(fā)。進(jìn)行交叉開發(fā),必須在開發(fā)環(huán)境中集成目標(biāo)機操作系統(tǒng)的一系列和編譯鏈接相關(guān)的文件。本項目中目標(biāo)機上運行的特定嵌入式實時操作系統(tǒng),也是由項目組開發(fā),如圖1 所示為基于Rtems內(nèi)核的嵌入式實時操作系統(tǒng)的架構(gòu)圖,分為4層結(jié)構(gòu):硬件抽象層、核心層、系統(tǒng)服務(wù)層和應(yīng)用服務(wù)層[3]。硬件抽象層主要是和體系架構(gòu)相關(guān)的驅(qū)動支持軟件;核心層由一系列核心組件組成,包括實時任務(wù)調(diào)度、內(nèi)存管理系統(tǒng)、IO 系統(tǒng)等模塊組成;系統(tǒng)服務(wù)層主要完成給各種應(yīng)用提供操作系統(tǒng)級的服務(wù)支持,包括VxWorks、Posix、Classic 3種API(application programming interface)的支持;應(yīng)用服務(wù)層主要提供TCP/IP協(xié)議棧、GUI系統(tǒng)、文件系統(tǒng)等組件[4,5]。Rtems內(nèi)核具有支持多任務(wù),支持事件驅(qū)動、基于優(yōu)先級搶占的調(diào)度算法和具有快速響應(yīng)的中斷管理等優(yōu)勢。

    操作系統(tǒng)為上層應(yīng)用程序的編寫提供了一套API,但由于不是在目標(biāo)機上直接開發(fā)應(yīng)用程序,在宿主機上就需要提供目標(biāo)機操作系統(tǒng)的各類鏈接庫文件和頭文件等[6]。將這些系統(tǒng)文件集成于開發(fā)環(huán)境目錄之下,根據(jù)目錄組織結(jié)構(gòu),設(shè)計開發(fā)環(huán)境的路徑解析和文件查找功能,在構(gòu)建程序時自動或手動去查找所需要的文件。

    圖1 嵌入式實時操作系統(tǒng)基本架構(gòu)

    根據(jù)各層的實現(xiàn)原理及關(guān)系,將操作系統(tǒng)源文件在Cygwin下編譯成一系列的庫文件和可執(zhí)行文件,供開發(fā)環(huán)境在程序構(gòu)建過程中調(diào)用。如圖2所示即為開發(fā)環(huán)境中操作系統(tǒng)相關(guān)的主要文件目錄樹,其中Tyche目錄下為程序構(gòu)建過程中所需要的文件總目錄,三級子目錄tyche中是操作系統(tǒng)核心文件,里面主要包含了工具鏈的二進(jìn)制文件(bin)、系統(tǒng)頭文件 (include)、C/C++庫、系統(tǒng)庫文件(lib)、makefile模板文件 (make)、說明手冊 (man)等。

    圖2 開發(fā)環(huán)境中操作系統(tǒng)相關(guān)文件目錄

    2 CDT簡介

    CDT (C/C ++development tool)是一套開源的Eclipse的插件,用于對C/C++程序開發(fā)的支持。由于Eclipse平臺強大的功能及友好的界面和特性,Java開發(fā)人員也想將這些優(yōu)秀的性能提供給C/C++開發(fā)人員。CDT對Windows平臺和Linux 平臺均提供了支持,并且由于Eclipse的插件結(jié)構(gòu)形式,使得外部插件能夠無縫連接到Eclipse內(nèi)核中。本項目以最新的版本CDT8.2為基礎(chǔ)進(jìn)行研究,開發(fā)特定目標(biāo)機平臺的集成開發(fā)環(huán)境,相比較其他平臺的集成開發(fā)環(huán)境,不僅擁有其已有的功能,同時還設(shè)計實現(xiàn)了一些新的功能,豐富了開發(fā)環(huán)境的輔助功能。

    由于其復(fù)雜性,CDT 被分成了許多組件,他們都采用獨立插件的形式開發(fā),高度包含了面向?qū)ο蟮脑O(shè)計思想,從底層到高層的實現(xiàn)都秉承了高內(nèi)聚、低耦合的設(shè)計原則,使得組件功能的擴展和刪除都相當(dāng)清晰。CDT8.2 包含了幾十個獨立插件,然而核心插件及功能描述見表1。

    表1 CDT 的核心插件與功能描述

    CDT8.2 提供了對GNU、Cygwin、MinGW、Visual Studio等一系列工具鏈的支持,并且集成了工程創(chuàng)建管理、工程構(gòu)建、調(diào)試和目標(biāo)機狀態(tài)查看等C/C++程序開發(fā)的配套功能。然而由于本項目中目標(biāo)機平臺的特殊性,CDT本身沒有提供對MIPS架構(gòu)目標(biāo)機的支持,所以不能夠直接使用CDT,需要進(jìn)行2次開發(fā)以實現(xiàn)開發(fā)環(huán)境對C/C++的支持。

    3 設(shè)計實現(xiàn)

    3.1 工程管理功能

    開發(fā)環(huán)境的核心功能之一就是工程管理,而其中的難點就在于實現(xiàn)在開發(fā)環(huán)境中指定程序的構(gòu)建方式。因為在編寫大型應(yīng)用程序的時候,往往需要面對復(fù)雜的編譯過程和大量的源代碼文件,該過程中需要處理配置選項、多種格式的輸入輸出文件、確定文件間復(fù)雜的依賴關(guān)系,同時還需要應(yīng)對工程的反復(fù)修改編譯[7]。工程上常用Makefile和make工具來實現(xiàn)程序自動構(gòu)建的過程,但在開發(fā)大型程序時,如果程序員手動去編寫所有的Makefile文件及組織相應(yīng)的目錄,人工地分析上述的輸入輸出文件及依賴關(guān)系將會使開發(fā)過程變得更為繁瑣、開發(fā)效率極為低下,而且在后續(xù)的開發(fā)過程中工程文件將難以維護。特別是在嵌入式系統(tǒng)中,由于環(huán)境變量配置復(fù)雜,所需的庫文件沒有良好支持,極易導(dǎo)致編譯或鏈接錯誤,因此在集成開發(fā)環(huán)境中提供工程的自動管理和構(gòu)建功能,即自動生成Makefile,就顯得十分必要[8]。

    所需自動生成的Makefile共有4種:SubDir.mk、Objects.mk、Sources.mk 和 Makefile[9]。其中前3 種為子Makefile文件,最后一個為主Makefile,主Makefile中用include語句包含了前3種子Makefile。CDT8.2中各Makefile文件對應(yīng)的功能和實現(xiàn)函數(shù)如下:SubDir.mk用于聲明各級子目錄模塊的源文件和依賴關(guān)系,生成SubDir.mk的函數(shù)名為populateFragmentMakefile;Objects.mk用于聲明生成的所有目標(biāo)文件名和庫文件名,生成函數(shù)名為populateObjectsMakefile;Sources.mk用于聲明依賴的源文件及子目錄名稱,生成Sources.mk 的函數(shù)為populateSources-Makefile;生成主 Makefile 的函數(shù)為populateTopMakefile[10]。

    開發(fā)環(huán)境中Makefile的生成流程,如圖3所示。

    圖3 開發(fā)環(huán)境中Makefile的生成流程

    項目中為了不破壞源代碼的封裝性和擴展性,保留了CDT 中這些接口函數(shù)的名稱,而重構(gòu)了其實現(xiàn)方式,以生成Rtems操作系統(tǒng)下的Makefile文件。第1步,首先開發(fā)環(huán)境能夠自動為用戶工程配置大部分環(huán)境變量和編譯鏈接選項,圖形化的配置界面也能讓用戶自行配置一些其他選項,在Makefile的生成過程中,會先獲取這些配置信息并保存在相應(yīng)的數(shù)據(jù)結(jié)構(gòu)中,通過解析這些配置信息并根據(jù)模板編譯規(guī)則生成一條條的編譯命令,在后續(xù)過程中寫入Makefile。第2步,遍歷工程目錄下的所有文件,獲得工程文件的目錄樹,再根據(jù)文件后綴名判定是否為可編譯的源文件,若為可編譯的源文件則寫入Makefile中的對應(yīng)位置,生成依賴關(guān)系。最后將第1步中自動生成的編譯命令寫入Makefile,完成所有Makefile,隨后調(diào)用make 工具,將Makefile中的命令傳遞給編譯器和鏈接器執(zhí)行,生成目標(biāo)文件,完成工程的整個構(gòu)建過程。

    開發(fā)環(huán)境以良好的面向?qū)ο缶幊谭绞椒庋b數(shù)據(jù)和接口,既繼承了Eclipse和CDT 已有的優(yōu)良特性,又包含了新增的功能,從而實現(xiàn)了開發(fā)環(huán)境中的工程管理功能,無需開發(fā)者自行去分析工程目錄、工程配置信息和文件修改記錄,能夠自動編寫Makefile文件并生成相應(yīng)的編譯命令,使得工程管理的難度明顯下降,從開發(fā)方式來說也符合軟件工程的規(guī)范。

    3.2 編譯鏈接功能及優(yōu)化

    3.2.1 編譯鏈接

    如圖4所示,為項目中實現(xiàn)的應(yīng)用程序構(gòu)建流程。程序的構(gòu)建過程從新建模板工程向?qū)ч_始,在編輯器中編輯好源代碼后,開發(fā)環(huán)境會自行調(diào)用C/C++Parser和Codan工具檢查代碼語法和格式,之后根據(jù)用戶操作執(zhí)行工程的構(gòu)建過程。

    圖4 開發(fā)環(huán)境中程序構(gòu)建流程

    開始執(zhí)行工程構(gòu)建時,首先根據(jù)用戶設(shè)置自動構(gòu)建工程的Makefile 文件,其實現(xiàn)方法上一部分已有介紹。Makefile文件只是寫入文件間依賴關(guān)系及編譯鏈接規(guī)則,真正完成程序構(gòu)建的是匯編器、編譯器、鏈接器等一系列工具鏈。開發(fā)環(huán)境中提供了對2種工具鏈的支持,即Cygwin工具鏈和MinGW 工具鏈,絕大多數(shù)情況下使用的是在Cygwin環(huán)境下重新編譯的 MIPS 工具鏈。包括mipstyche3.6-as (匯編器)、mips-tyche3.6-gcc (編譯器)、mips-tyche3.6-g++ (編譯器)、mips-tyche3.6-ld (鏈接器)等,這些工具及相關(guān)文件都被放置到本文第1部分所提到的tyche/bin/目錄下,開發(fā)環(huán)境根據(jù)系統(tǒng)環(huán)境變量進(jìn)行查詢和調(diào)用。對Makefile中的編譯規(guī)則和文件依賴關(guān)系進(jìn)行解析后,開發(fā)環(huán)境將調(diào)用make工具將對應(yīng)的命令傳遞給上述編譯工具,編譯工具根據(jù)需要的文件查找Tyche目錄下所需要的相關(guān)操作系統(tǒng)頭文件、庫文件以及工程目錄下的源代碼文件,最終生成目標(biāo)機上可執(zhí)行程序。

    3.2.2 增量編譯

    在實現(xiàn)上,為提高工程的編譯效率,研究并在開發(fā)環(huán)境中實現(xiàn)了增量編譯功能。遍歷工程目錄下的所有文件,以接口類IResourceDelta保存工程文件目錄樹和配置信息的修改內(nèi)容,再次構(gòu)建工程時,獲取記錄的上一次編譯時的工程信息,與當(dāng)前工程信息對比,從而確立了工程的修改內(nèi)容,即增量,根據(jù)增量信息,重新生成Makefile。

    程序構(gòu)建時,先判定編譯方式是增量編譯還是完全編譯,如果是完全編譯 (通常為第1次編譯工程或者是用戶選擇完全編譯選項),則會先執(zhí)行工程清理過程,刪除當(dāng)前工程目錄下所有Makefile和目標(biāo)文件,再重新編譯所有的源文件。如果是增量編譯,就調(diào)用genrerateMakefiles 函數(shù),其中用ResourceDeltaVisitor類的visit函數(shù)得到當(dāng)前工程的IResourceDelta,即得到了工程內(nèi)源文件和配置信息的修改記錄;第2步,判定修改方式是增加、刪除還是其他,并將這些信息告知Makefile的生成器,生成器遍歷已修改的文件,根據(jù)修改過的文件名稱和編譯依賴規(guī)則重寫Makefile,這樣在后續(xù)真正的編譯過程中就只會重新編譯修改過的源文件及其依賴的文件,而不會重新編譯未修改過的源文件。這樣就實現(xiàn)了增量編譯功能,避免了因為少量的源代碼修改而需要重新編譯整個工程的復(fù)雜過程,提高了編譯效率。

    增量編譯過程及增量Delta的存儲結(jié)構(gòu),如圖5所示。

    圖5 增量編譯過程及增量Delta的存儲結(jié)構(gòu)

    3.2.3 代碼檢查

    程序開發(fā)過程中,源代碼自動檢查也是集成開發(fā)環(huán)境設(shè)計中一個重要的問題,一個用戶友好的開發(fā)環(huán)境必須提供較為完備的代碼檢查功能。Codan是一個非常優(yōu)秀的C/C++靜態(tài)代碼審查工具,將其與CDT 集成后,在編寫程序源代碼和工程編譯過程中,開發(fā)環(huán)境會自行調(diào)用Codan工具檢查代碼語法格式和進(jìn)行邏輯分析,例如緩沖區(qū)溢出問題,就能夠被自動檢查出來,并在出錯位置以編輯器標(biāo)記的形式輸出,建立控制臺輸出信息與源代碼位置的映射,實現(xiàn)錯誤代碼定位功能,以便于開發(fā)人員修改程序代碼。

    Codan在實現(xiàn)上使用的是java的非確定型有窮自動機(nondeterministic finite automaton,NFA)引擎,這種正則引擎的特點是以表達(dá)式為主導(dǎo),模式正則表達(dá)式在編譯時效率較高,需要內(nèi)存小,盡管在匹配過程中使用回溯匹配的算法,但使用者可以直接操控匹配的過程。如圖6所示為NFA 引擎的一個匹配示例。

    圖6 NFA 引擎狀態(tài)圖示例

    在程序的編譯期,開發(fā)環(huán)境還需要獲取編譯器的所有輸出信息并以流的方式重定向到控制臺,對這些輸出的字符串信息進(jìn)行處理,以特定的方式顯示出來。在字符串信息的處理上就采用了Codan的字符串處理函數(shù),以java的NFA 正則表達(dá)式引擎基礎(chǔ),根據(jù)模式正則表達(dá)式匹配編譯器輸出信息,從而準(zhǔn)確高效地分辨出正常輸出、警告信息,錯誤信息,并以顏色標(biāo)記的方式在控制臺輸出,為開發(fā)環(huán)境提供了完善的代碼查錯功能。

    3.3 調(diào)試代理

    調(diào)試方式也是嵌入式開發(fā)不同于一般應(yīng)用開發(fā)的一項。本項目在開發(fā)環(huán)境實現(xiàn)了3種程序調(diào)試下載方式,即ejtag調(diào)試方式、串口調(diào)試、網(wǎng)絡(luò)調(diào)試,為上層開發(fā)者提供了多種調(diào)試方式,可根據(jù)硬件條件的不同使用不同的調(diào)試下載方式。ejtag調(diào)試方式采用的是龍芯公司的ejtag仿真器鏈接目標(biāo)機和宿主機,經(jīng)開發(fā)環(huán)境下載調(diào)試目標(biāo)機程序;網(wǎng)絡(luò)調(diào)試實現(xiàn)經(jīng)網(wǎng)線連接的下載調(diào)試方式,為追求下載速度和實現(xiàn)的簡易,采用基于UDP 協(xié)議的TFTP 協(xié)議進(jìn)行通信;串口調(diào)試方式則是使用串口線連接目標(biāo)機與宿主機,采用RPC協(xié)議進(jìn)行通信。

    雖然調(diào)試方式有多種,但原理上大同小異。執(zhí)行調(diào)試指令的過程是,先將GDB debugger的命令轉(zhuǎn)化為機器更易處理的MI接口命令,MI是開發(fā)環(huán)境和調(diào)試接口交互的接口。之后發(fā)送給通信代理模塊,發(fā)送給目標(biāo)機,經(jīng)解析后傳遞給GDB server執(zhí)行,執(zhí)行的結(jié)果又以特定的通信協(xié)議返回給宿主機開發(fā)環(huán)境進(jìn)行解析,最后在用戶界面顯示,從而實現(xiàn)程序的調(diào)試執(zhí)行[2]。

    項目中使用的Debugger是在Cygwin環(huán)境下重新編譯生成的mips-tyche3.6-gdb,在編譯時給編譯器增加參數(shù)-g,就能夠在可執(zhí)行文件中加入調(diào)試信息,包括源代碼中變量描述定義信息,函數(shù)類型及參數(shù)信息等;在底層實現(xiàn)上實際上是調(diào)用ptrace系統(tǒng)調(diào)用獲取調(diào)試進(jìn)程的運行狀態(tài),比如堆棧的使用情況、各種變量的值等;獲取的這些程序運行信息經(jīng)過指定的通信協(xié)議封裝成數(shù)據(jù)包回傳給宿主機,并在開發(fā)環(huán)境中以MI接口解析數(shù)據(jù),最終在開發(fā)環(huán)境的調(diào)試視圖中顯示變量的值、寄存器使用情況,實現(xiàn)了單步進(jìn)入、單步跳過、單步回跳等功能。

    調(diào)試代理原理如圖7所示。

    圖7 調(diào)試代理原理

    在調(diào)試功能的多次使用測試后,得到如表2 所示的3種調(diào)試下載方式特點的比較,3種調(diào)試下載方式各有優(yōu)劣。

    表2 3種調(diào)試方式特點對比

    4 測試結(jié)果與分析

    測試環(huán)境由x86 宿主機、龍心3A 目標(biāo)機及連接設(shè)備(包括網(wǎng)線、串口線、ejtag仿真器)組成。主要測試應(yīng)用程序的開發(fā)流程相關(guān)功能。測試結(jié)果表明,開發(fā)環(huán)境能夠提供完整的工程創(chuàng)建、工程管理、編譯和調(diào)試等界面及功能,能夠根據(jù)工程修改信息進(jìn)行增量編譯,節(jié)省編譯時間。應(yīng)用程序可以多種方式下載到目標(biāo)機上,因通信協(xié)議的不同下載速度有所差異,但均能夠保證程序正確運行,達(dá)到了豐富調(diào)試方式,改善既有功能的目的。

    5 結(jié)束語

    為適應(yīng)高效高質(zhì)量的嵌入式開發(fā)方式,本文對嵌入式開發(fā)流程進(jìn)行了深入的研究,針對已有開發(fā)工具的不足,進(jìn)行了2次開發(fā),設(shè)計并實現(xiàn)了特定MIPS架構(gòu)目標(biāo)機的交叉開發(fā)環(huán)境。開發(fā)環(huán)境目前已能夠滿足用戶開發(fā)及調(diào)試目標(biāo)機上程序的需求,測試情況與設(shè)計相符,提供了友好的交互界面,在繼承Eclipse已有功能的基礎(chǔ)上,根據(jù)需求實現(xiàn)了針對MIPS平臺的工程管理、增量編譯及遠(yuǎn)程調(diào)試功能,縮短了編譯時間,改善了工程管理方式,從而提高了上層開發(fā)人員的開發(fā)效率。下一步的工作中,將對開發(fā)環(huán)境進(jìn)行完善,繼續(xù)擴展必要的輔助功能,包括多核支持,性能分析、目標(biāo)機狀態(tài)監(jiān)測等。

    [1]Kopetz H.Real-time systems:Design principles for distributed embedded applications[M].Germany:Springer,2011.

    [2]Sriram S,Bhattacharyya SS.Embedded multiprocessors scheduling and synchronization [M].USA:CRC Press,2009.

    [3]On-Line Applications Research Corporation.Getting started with RTEMS [S].2011.

    [4]Andrew S Tanenbaum. Modern operating systems [M].USA:Prentice Hall,2009.

    [5]Rafael V Aroca.A real time operating systems(RTOS)comparison [C]//Workshop de Sistemas Operacionais,2009:2441-2452.

    [6]Tan S,Tran Nguyen B.Survey and performance evaluation of real-time operating systems(RTOS)for small microcontrollers[J].IEEE Micro,2009,99 (1):1-14.

    [7]Randal E Bryant,David R O’Hallaron.Computer systems:A programmer’s perspective[M].USA:Prentice Hall,2010.

    [8]Leupers R.Code optimization techniques for embedded processors:Methods,algorithms and tools [M].USA:Kluwer Academic Pubilshers,2010.

    [9]NAN Fang.Embedded integration development environment analysis and design on Eclipse[D].Xi’an:Xidian University,2009 (in Chinese).[南方.基于Eclipse的嵌入式集成開發(fā)環(huán)境分析與設(shè)計 [D].西安:西安電子科技大學(xué),2009.]

    [10]WANG Yang.Embedded integrated development environment design and implementation on Eclipse [D].Chengdu:UESTC,2012 (in Chinese).[汪洋.基于Eclipse架構(gòu)面向Linux的嵌入式軟件開發(fā)環(huán)境的設(shè)計與實現(xiàn) [D].成都:電子科技大學(xué),2012.]

    猜你喜歡
    宿主機源代碼嵌入式
    人工智能下復(fù)雜軟件源代碼缺陷精準(zhǔn)校正
    計算機仿真(2023年8期)2023-09-20 11:23:42
    基于TXL的源代碼插樁技術(shù)研究
    軟件源代碼非公知性司法鑒定方法探析
    搭建基于Qt的嵌入式開發(fā)平臺
    虛擬網(wǎng)絡(luò)實驗室在農(nóng)村職校計算機網(wǎng)絡(luò)技術(shù)教學(xué)中的應(yīng)用研究
    嵌入式計算機軟件測試關(guān)鍵技術(shù)的思考
    嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
    揭秘龍湖產(chǎn)品“源代碼”
    嵌入式計算機軟件測試關(guān)鍵技術(shù)研究
    Altera加入嵌入式視覺聯(lián)盟
    黄色 视频免费看| 一区二区三区乱码不卡18| 丁香六月天网| 成人手机av| 国产免费福利视频在线观看| 两个人免费观看高清视频| 国产亚洲午夜精品一区二区久久| 亚洲精品国产av蜜桃| 久久天躁狠狠躁夜夜2o2o| 啦啦啦在线免费观看视频4| 欧美激情 高清一区二区三区| 可以免费在线观看a视频的电影网站| 热re99久久精品国产66热6| 男女边摸边吃奶| 欧美国产精品va在线观看不卡| 成人亚洲精品一区在线观看| av国产精品久久久久影院| 久久av网站| av天堂久久9| 国产精品国产av在线观看| 熟女少妇亚洲综合色aaa.| 午夜影院在线不卡| 三级毛片av免费| 三上悠亚av全集在线观看| 日本av免费视频播放| 久久久久国产精品人妻一区二区| 欧美精品一区二区大全| 色婷婷久久久亚洲欧美| 男女之事视频高清在线观看| 又黄又粗又硬又大视频| 丝袜美腿诱惑在线| 在线观看舔阴道视频| 国产精品av久久久久免费| 欧美日韩国产mv在线观看视频| 人人妻人人澡人人爽人人夜夜| 免费一级毛片在线播放高清视频 | 久久精品成人免费网站| a 毛片基地| 大型av网站在线播放| 手机成人av网站| 久久人妻熟女aⅴ| 两性午夜刺激爽爽歪歪视频在线观看 | a在线观看视频网站| 在线观看www视频免费| 亚洲熟女精品中文字幕| 三上悠亚av全集在线观看| 日本撒尿小便嘘嘘汇集6| 欧美+亚洲+日韩+国产| 欧美+亚洲+日韩+国产| 操出白浆在线播放| 伊人亚洲综合成人网| 国产一区二区激情短视频 | 免费不卡黄色视频| 亚洲国产欧美一区二区综合| 国产av一区二区精品久久| 国产欧美日韩一区二区三区在线| 一边摸一边抽搐一进一出视频| 欧美亚洲 丝袜 人妻 在线| 成年av动漫网址| 国产男人的电影天堂91| 他把我摸到了高潮在线观看 | 国产极品粉嫩免费观看在线| 97在线人人人人妻| 国产激情久久老熟女| 日本精品一区二区三区蜜桃| 一级黄色大片毛片| 黑人巨大精品欧美一区二区蜜桃| 十八禁网站网址无遮挡| 久久久久国内视频| 亚洲av男天堂| 国产麻豆69| 精品一区在线观看国产| 丰满少妇做爰视频| 一二三四在线观看免费中文在| 精品亚洲乱码少妇综合久久| 久热这里只有精品99| 久久中文字幕一级| 黄片大片在线免费观看| 精品福利永久在线观看| 欧美久久黑人一区二区| 老司机影院毛片| 色播在线永久视频| 窝窝影院91人妻| 99re6热这里在线精品视频| 午夜福利一区二区在线看| 亚洲精品久久成人aⅴ小说| 欧美亚洲 丝袜 人妻 在线| 99久久综合免费| 多毛熟女@视频| 在线av久久热| 久久精品人人爽人人爽视色| 欧美xxⅹ黑人| videosex国产| 悠悠久久av| 中文字幕高清在线视频| 久久青草综合色| 久久国产亚洲av麻豆专区| 亚洲精品久久成人aⅴ小说| 手机成人av网站| 欧美日韩精品网址| 99国产精品一区二区三区| 97人妻天天添夜夜摸| www日本在线高清视频| 中文字幕精品免费在线观看视频| 午夜免费鲁丝| 久久久久精品国产欧美久久久 | 桃红色精品国产亚洲av| 亚洲精品一二三| 91精品三级在线观看| 美女脱内裤让男人舔精品视频| 美女大奶头黄色视频| a在线观看视频网站| cao死你这个sao货| 嫁个100分男人电影在线观看| 国产精品一区二区免费欧美 | 精品国产一区二区久久| 国产成人影院久久av| 欧美激情极品国产一区二区三区| www.999成人在线观看| 19禁男女啪啪无遮挡网站| 天堂俺去俺来也www色官网| 国产黄频视频在线观看| 成年人免费黄色播放视频| 另类亚洲欧美激情| 无遮挡黄片免费观看| 99国产极品粉嫩在线观看| 亚洲精品中文字幕在线视频| 国产精品 欧美亚洲| 成人免费观看视频高清| 国产主播在线观看一区二区| 天天躁狠狠躁夜夜躁狠狠躁| av线在线观看网站| 乱人伦中国视频| 如日韩欧美国产精品一区二区三区| 狠狠狠狠99中文字幕| 国产精品九九99| 99国产精品免费福利视频| 亚洲av日韩精品久久久久久密| 国产欧美亚洲国产| 国产欧美日韩精品亚洲av| 午夜免费成人在线视频| 国产亚洲一区二区精品| 亚洲午夜精品一区,二区,三区| 亚洲欧美清纯卡通| 久久人人爽av亚洲精品天堂| 伦理电影免费视频| 黄色毛片三级朝国网站| 天天躁夜夜躁狠狠躁躁| 精品人妻在线不人妻| 人妻一区二区av| 91精品三级在线观看| 精品乱码久久久久久99久播| 人妻 亚洲 视频| 蜜桃国产av成人99| 啦啦啦啦在线视频资源| 亚洲中文日韩欧美视频| 咕卡用的链子| 91老司机精品| av在线播放精品| 五月天丁香电影| 每晚都被弄得嗷嗷叫到高潮| 亚洲午夜精品一区,二区,三区| 黑人巨大精品欧美一区二区mp4| 丰满少妇做爰视频| 另类精品久久| 男人爽女人下面视频在线观看| 又紧又爽又黄一区二区| 欧美乱码精品一区二区三区| 9热在线视频观看99| 久久久久久久大尺度免费视频| 国产一区二区三区在线臀色熟女 | 黄色视频不卡| 首页视频小说图片口味搜索| 秋霞在线观看毛片| 91麻豆精品激情在线观看国产 | 日韩一卡2卡3卡4卡2021年| 中国国产av一级| 亚洲午夜精品一区,二区,三区| 人人妻,人人澡人人爽秒播| 精品国产乱码久久久久久男人| 日韩制服骚丝袜av| 一区二区三区乱码不卡18| 国产成人欧美| 久久久久久久久久久久大奶| 久久影院123| 九色亚洲精品在线播放| 在线十欧美十亚洲十日本专区| 老司机靠b影院| 日本欧美视频一区| 国产熟女午夜一区二区三区| 欧美久久黑人一区二区| 亚洲少妇的诱惑av| 久久久国产精品麻豆| 日韩有码中文字幕| 精品久久久精品久久久| 美女高潮喷水抽搐中文字幕| 精品欧美一区二区三区在线| 久久人人97超碰香蕉20202| 欧美xxⅹ黑人| 精品一区二区三区av网在线观看 | 不卡一级毛片| 男女下面插进去视频免费观看| 亚洲国产精品一区三区| 国产深夜福利视频在线观看| 国产成人影院久久av| 王馨瑶露胸无遮挡在线观看| 亚洲第一青青草原| 纵有疾风起免费观看全集完整版| 黑人猛操日本美女一级片| 在线亚洲精品国产二区图片欧美| 欧美激情极品国产一区二区三区| 久久久久久亚洲精品国产蜜桃av| 欧美日韩黄片免| 久久中文字幕一级| 国精品久久久久久国模美| 精品国产一区二区三区四区第35| 日本wwww免费看| 色婷婷久久久亚洲欧美| 成年动漫av网址| 久久人妻福利社区极品人妻图片| 中国国产av一级| 国产亚洲精品第一综合不卡| 一区二区三区精品91| 一本久久精品| 国产在线视频一区二区| 成人国语在线视频| 老司机影院成人| 一级a爱视频在线免费观看| 曰老女人黄片| 黄色毛片三级朝国网站| 亚洲色图综合在线观看| 人妻人人澡人人爽人人| 老司机深夜福利视频在线观看 | 国产高清videossex| 欧美国产精品一级二级三级| 成人18禁高潮啪啪吃奶动态图| 美女福利国产在线| 高清欧美精品videossex| av不卡在线播放| 日韩 亚洲 欧美在线| 欧美 日韩 精品 国产| 在线观看一区二区三区激情| 久久人人97超碰香蕉20202| 欧美日韩黄片免| 妹子高潮喷水视频| 欧美+亚洲+日韩+国产| 国产不卡av网站在线观看| 亚洲国产精品999| 国产三级黄色录像| tube8黄色片| 亚洲,欧美精品.| 蜜桃在线观看..| 高清视频免费观看一区二区| 美女扒开内裤让男人捅视频| av在线老鸭窝| 成年人黄色毛片网站| 久久久久网色| 国产精品久久久av美女十八| 丝袜美腿诱惑在线| 99精品久久久久人妻精品| 少妇的丰满在线观看| 岛国在线观看网站| 午夜精品国产一区二区电影| 国产精品二区激情视频| a级毛片在线看网站| 亚洲第一欧美日韩一区二区三区 | 久久天躁狠狠躁夜夜2o2o| 国产精品亚洲av一区麻豆| 真人做人爱边吃奶动态| 性色av一级| 亚洲视频免费观看视频| 国产精品 国内视频| 一进一出抽搐动态| 黄色怎么调成土黄色| 亚洲国产欧美日韩在线播放| 天天操日日干夜夜撸| 亚洲欧美日韩高清在线视频 | 午夜精品国产一区二区电影| 国产精品二区激情视频| 国产精品偷伦视频观看了| 看免费av毛片| 女人被躁到高潮嗷嗷叫费观| 久久国产精品大桥未久av| 国产成人一区二区三区免费视频网站| 国产片内射在线| 一本大道久久a久久精品| 国产亚洲av片在线观看秒播厂| 狠狠狠狠99中文字幕| 两人在一起打扑克的视频| 999久久久精品免费观看国产| 亚洲欧美一区二区三区黑人| 人人澡人人妻人| 天天影视国产精品| 国产国语露脸激情在线看| 午夜两性在线视频| 99精国产麻豆久久婷婷| 啦啦啦在线免费观看视频4| 亚洲精品一二三| 国产欧美日韩综合在线一区二区| 美女视频免费永久观看网站| 亚洲av日韩精品久久久久久密| 9色porny在线观看| 新久久久久国产一级毛片| 中文字幕人妻熟女乱码| 搡老熟女国产l中国老女人| 十八禁网站免费在线| 欧美成狂野欧美在线观看| av免费在线观看网站| 国产有黄有色有爽视频| 久久久久久久久免费视频了| 欧美黄色片欧美黄色片| 国产男女内射视频| 黑人巨大精品欧美一区二区蜜桃| 热99re8久久精品国产| 性色av一级| 天天添夜夜摸| 国产三级黄色录像| 午夜成年电影在线免费观看| 久久精品aⅴ一区二区三区四区| 免费观看av网站的网址| 久久久久久久精品精品| 国产又色又爽无遮挡免| 麻豆国产av国片精品| 日韩一区二区三区影片| 日韩电影二区| 国产精品免费大片| 亚洲专区中文字幕在线| 最近最新免费中文字幕在线| 丝袜脚勾引网站| 久久精品aⅴ一区二区三区四区| 中文字幕色久视频| tube8黄色片| 成人手机av| 久久人人爽人人片av| 男女床上黄色一级片免费看| 高潮久久久久久久久久久不卡| 日韩欧美国产一区二区入口| 老汉色av国产亚洲站长工具| 精品国产乱码久久久久久小说| av网站在线播放免费| 亚洲五月色婷婷综合| 99久久人妻综合| 少妇被粗大的猛进出69影院| 亚洲精品国产av蜜桃| 国产一区二区激情短视频 | 久久久久国内视频| 一级片'在线观看视频| 午夜91福利影院| 美国免费a级毛片| 91大片在线观看| 国产视频一区二区在线看| 国产深夜福利视频在线观看| 啦啦啦 在线观看视频| 国产极品粉嫩免费观看在线| 色综合欧美亚洲国产小说| 午夜福利视频精品| 日韩欧美国产一区二区入口| 欧美在线黄色| 亚洲精品美女久久久久99蜜臀| 老鸭窝网址在线观看| 国产1区2区3区精品| 97精品久久久久久久久久精品| 欧美黄色片欧美黄色片| 99国产综合亚洲精品| 亚洲欧美成人综合另类久久久| 日日爽夜夜爽网站| 亚洲全国av大片| 国产男女超爽视频在线观看| 国产av又大| 黄片播放在线免费| 婷婷成人精品国产| 国产精品二区激情视频| 国产免费福利视频在线观看| 国产成人欧美在线观看 | 国产成人av教育| 国产麻豆69| 国产精品一区二区在线不卡| 9191精品国产免费久久| 国产成人欧美| 80岁老熟妇乱子伦牲交| 1024视频免费在线观看| 最新在线观看一区二区三区| 九色亚洲精品在线播放| 精品人妻一区二区三区麻豆| av在线老鸭窝| 母亲3免费完整高清在线观看| 成年人黄色毛片网站| 色精品久久人妻99蜜桃| 人人妻人人爽人人添夜夜欢视频| 国产一区二区三区在线臀色熟女 | 日韩熟女老妇一区二区性免费视频| 免费不卡黄色视频| 国产一区二区 视频在线| 国产深夜福利视频在线观看| 国产欧美亚洲国产| 亚洲天堂av无毛| 一级毛片精品| 曰老女人黄片| 午夜精品国产一区二区电影| 99精国产麻豆久久婷婷| 欧美成狂野欧美在线观看| 热re99久久国产66热| 性色av一级| 人人妻人人爽人人添夜夜欢视频| 亚洲美女黄色视频免费看| 久久ye,这里只有精品| 久久人人爽人人片av| 99精国产麻豆久久婷婷| 两性夫妻黄色片| 久久人人爽av亚洲精品天堂| 建设人人有责人人尽责人人享有的| 免费在线观看完整版高清| 各种免费的搞黄视频| 欧美国产精品va在线观看不卡| 日韩三级视频一区二区三区| 一区在线观看完整版| 亚洲va日本ⅴa欧美va伊人久久 | 精品国产乱子伦一区二区三区 | 黄色 视频免费看| 亚洲精品美女久久av网站| 精品国产乱码久久久久久小说| 亚洲综合色网址| 丝袜美足系列| 丁香六月天网| 波多野结衣一区麻豆| 午夜91福利影院| 亚洲欧美一区二区三区黑人| 久久精品国产综合久久久| 亚洲久久久国产精品| 法律面前人人平等表现在哪些方面 | 手机成人av网站| 亚洲中文av在线| 91九色精品人成在线观看| 日本精品一区二区三区蜜桃| 丁香六月欧美| 中文字幕人妻丝袜一区二区| 中文精品一卡2卡3卡4更新| 韩国精品一区二区三区| 男女边摸边吃奶| 日本vs欧美在线观看视频| 日韩中文字幕欧美一区二区| 亚洲一卡2卡3卡4卡5卡精品中文| 男女午夜视频在线观看| 国产成人啪精品午夜网站| 久久亚洲国产成人精品v| 脱女人内裤的视频| 欧美午夜高清在线| 淫妇啪啪啪对白视频 | 天堂中文最新版在线下载| 色老头精品视频在线观看| 亚洲精品国产精品久久久不卡| 亚洲av男天堂| 国产精品一二三区在线看| 深夜精品福利| 黄色怎么调成土黄色| 欧美变态另类bdsm刘玥| 国产成人精品久久二区二区91| 在线观看舔阴道视频| 少妇精品久久久久久久| 日韩视频在线欧美| 午夜福利,免费看| 精品一区二区三区四区五区乱码| 一本久久精品| 亚洲成av片中文字幕在线观看| 亚洲色图 男人天堂 中文字幕| 窝窝影院91人妻| 99久久人妻综合| 五月开心婷婷网| 别揉我奶头~嗯~啊~动态视频 | 91老司机精品| 久久久久久免费高清国产稀缺| 亚洲精品美女久久av网站| 别揉我奶头~嗯~啊~动态视频 | 久久精品熟女亚洲av麻豆精品| 69av精品久久久久久 | 天天躁狠狠躁夜夜躁狠狠躁| 国产精品一区二区在线观看99| 汤姆久久久久久久影院中文字幕| 50天的宝宝边吃奶边哭怎么回事| 欧美日韩黄片免| 国产欧美日韩一区二区三区在线| av超薄肉色丝袜交足视频| 一级毛片精品| 日本91视频免费播放| 亚洲国产精品一区二区三区在线| av网站免费在线观看视频| 少妇人妻久久综合中文| 国产片内射在线| 亚洲熟女毛片儿| 亚洲精品一二三| 国产国语露脸激情在线看| 亚洲国产欧美网| 在线观看一区二区三区激情| 高清视频免费观看一区二区| 欧美激情高清一区二区三区| 爱豆传媒免费全集在线观看| 久久久久久久精品精品| a级毛片黄视频| 美女视频免费永久观看网站| av在线老鸭窝| 亚洲av电影在线进入| 后天国语完整版免费观看| 日韩一卡2卡3卡4卡2021年| 中国国产av一级| 99国产精品一区二区三区| 三上悠亚av全集在线观看| 国产精品久久久av美女十八| 考比视频在线观看| 91av网站免费观看| 亚洲熟女精品中文字幕| www.精华液| 国产成+人综合+亚洲专区| 国产深夜福利视频在线观看| 亚洲第一青青草原| 高清黄色对白视频在线免费看| 成人手机av| 大片电影免费在线观看免费| 少妇猛男粗大的猛烈进出视频| 热re99久久精品国产66热6| 美女中出高潮动态图| 老司机影院毛片| 超色免费av| www.精华液| 婷婷成人精品国产| 久久久欧美国产精品| 欧美激情高清一区二区三区| 精品国产乱码久久久久久小说| 欧美中文综合在线视频| 亚洲自偷自拍图片 自拍| 久久精品亚洲熟妇少妇任你| 国产av一区二区精品久久| 天堂中文最新版在线下载| av福利片在线| 午夜免费鲁丝| 天堂俺去俺来也www色官网| 91成人精品电影| 久久久久精品人妻al黑| 精品福利永久在线观看| 成年女人毛片免费观看观看9 | 在线观看一区二区三区激情| 国产一区二区激情短视频 | 日本一区二区免费在线视频| 丰满人妻熟妇乱又伦精品不卡| 欧美国产精品va在线观看不卡| 男女午夜视频在线观看| 黑丝袜美女国产一区| 一进一出抽搐动态| 啦啦啦中文免费视频观看日本| 亚洲欧美日韩另类电影网站| 久久精品亚洲av国产电影网| 夜夜骑夜夜射夜夜干| 国产精品99久久99久久久不卡| 波多野结衣av一区二区av| 欧美激情极品国产一区二区三区| a级毛片在线看网站| 国产亚洲午夜精品一区二区久久| 免费日韩欧美在线观看| 国产亚洲精品第一综合不卡| 欧美精品高潮呻吟av久久| 欧美激情高清一区二区三区| 女人精品久久久久毛片| 免费在线观看日本一区| 老汉色∧v一级毛片| 捣出白浆h1v1| 亚洲人成电影免费在线| 一级毛片女人18水好多| 久久久精品区二区三区| 精品一品国产午夜福利视频| 天天操日日干夜夜撸| 多毛熟女@视频| 久久久久国产精品人妻一区二区| 每晚都被弄得嗷嗷叫到高潮| 精品一品国产午夜福利视频| 精品福利永久在线观看| 日韩中文字幕视频在线看片| 高清欧美精品videossex| 亚洲国产欧美日韩在线播放| 99re6热这里在线精品视频| 桃红色精品国产亚洲av| 亚洲av电影在线观看一区二区三区| 一级a爱视频在线免费观看| 午夜影院在线不卡| 久久香蕉激情| 99久久综合免费| 无遮挡黄片免费观看| 狠狠婷婷综合久久久久久88av| 夜夜夜夜夜久久久久| 美国免费a级毛片| 国产成人系列免费观看| 欧美人与性动交α欧美精品济南到| 一级毛片女人18水好多| 亚洲欧美日韩另类电影网站| 亚洲,欧美精品.| 精品熟女少妇八av免费久了| 窝窝影院91人妻| tube8黄色片| 视频在线观看一区二区三区| 91大片在线观看| 亚洲精品中文字幕在线视频| 一二三四社区在线视频社区8| 久久精品国产亚洲av高清一级| 国产黄频视频在线观看| 黄片播放在线免费| 婷婷色av中文字幕| 精品一区二区三卡| 精品免费久久久久久久清纯 | 成人三级做爰电影| 欧美国产精品va在线观看不卡| 久久精品国产亚洲av香蕉五月 | 日韩三级视频一区二区三区| bbb黄色大片| 亚洲精品国产av成人精品| 久久精品aⅴ一区二区三区四区| 亚洲一码二码三码区别大吗| 丰满人妻熟妇乱又伦精品不卡|