• <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)盟
    成人欧美大片| 黄色毛片三级朝国网站| 小说图片视频综合网站| 色噜噜av男人的天堂激情| 90打野战视频偷拍视频| 国产成人一区二区三区免费视频网站| 国产成人av激情在线播放| 免费无遮挡裸体视频| 国产三级中文精品| 久久久水蜜桃国产精品网| 久久精品成人免费网站| 91大片在线观看| 午夜激情av网站| 99re在线观看精品视频| 久久人妻福利社区极品人妻图片| 丝袜人妻中文字幕| 最近最新中文字幕大全免费视频| 成年版毛片免费区| 成人高潮视频无遮挡免费网站| 精品久久久久久久久久免费视频| 中文字幕久久专区| 超碰成人久久| 搡老熟女国产l中国老女人| 激情在线观看视频在线高清| 在线观看www视频免费| 精品人妻1区二区| 日韩精品免费视频一区二区三区| 18禁国产床啪视频网站| 岛国视频午夜一区免费看| 久久久久久久午夜电影| 91成年电影在线观看| 亚洲精品粉嫩美女一区| 久久久水蜜桃国产精品网| 中文字幕熟女人妻在线| 欧美性猛交黑人性爽| 亚洲精品国产精品久久久不卡| 国产av不卡久久| 国产精品香港三级国产av潘金莲| 亚洲精品久久成人aⅴ小说| 婷婷六月久久综合丁香| 在线永久观看黄色视频| 91成年电影在线观看| www.www免费av| 国产片内射在线| 国产精品98久久久久久宅男小说| 一进一出好大好爽视频| 在线十欧美十亚洲十日本专区| 亚洲国产高清在线一区二区三| 他把我摸到了高潮在线观看| 亚洲色图 男人天堂 中文字幕| 最近最新中文字幕大全电影3| 国产精品一区二区精品视频观看| 88av欧美| 麻豆成人午夜福利视频| 亚洲av片天天在线观看| 2021天堂中文幕一二区在线观| or卡值多少钱| 精品一区二区三区四区五区乱码| 人人妻人人看人人澡| 男人舔奶头视频| 亚洲熟妇中文字幕五十中出| 禁无遮挡网站| 国产99久久九九免费精品| 亚洲 欧美 日韩 在线 免费| 男女床上黄色一级片免费看| 18禁黄网站禁片午夜丰满| 丁香六月欧美| 日韩成人在线观看一区二区三区| 啪啪无遮挡十八禁网站| 黑人欧美特级aaaaaa片| 天天躁夜夜躁狠狠躁躁| 亚洲狠狠婷婷综合久久图片| 国产日本99.免费观看| 99久久99久久久精品蜜桃| 99国产极品粉嫩在线观看| 久久久精品欧美日韩精品| 在线看三级毛片| 亚洲午夜理论影院| 人人妻人人澡欧美一区二区| 搡老妇女老女人老熟妇| 国产成人啪精品午夜网站| 日韩精品中文字幕看吧| 18禁国产床啪视频网站| 狂野欧美白嫩少妇大欣赏| 日韩欧美在线乱码| 国产在线观看jvid| 国产精品 国内视频| 国产成人啪精品午夜网站| 三级男女做爰猛烈吃奶摸视频| 欧美午夜高清在线| 高清毛片免费观看视频网站| 亚洲欧美日韩高清在线视频| 人人妻,人人澡人人爽秒播| 听说在线观看完整版免费高清| 国产视频内射| 国产精品98久久久久久宅男小说| 他把我摸到了高潮在线观看| 男人的好看免费观看在线视频 | 国产成人系列免费观看| 中国美女看黄片| 亚洲av成人精品一区久久| 国产一级毛片七仙女欲春2| 哪里可以看免费的av片| 欧美日韩一级在线毛片| 亚洲av片天天在线观看| 精华霜和精华液先用哪个| 日韩av在线大香蕉| 国产在线精品亚洲第一网站| 神马国产精品三级电影在线观看 | 欧美日韩瑟瑟在线播放| 国产高清激情床上av| 在线观看午夜福利视频| 人妻丰满熟妇av一区二区三区| 成人av一区二区三区在线看| 黄频高清免费视频| 久久午夜综合久久蜜桃| 97碰自拍视频| 免费看美女性在线毛片视频| 高清在线国产一区| 老汉色∧v一级毛片| 亚洲精品国产精品久久久不卡| 精品熟女少妇八av免费久了| 成人高潮视频无遮挡免费网站| 男人舔女人下体高潮全视频| 亚洲色图 男人天堂 中文字幕| 亚洲av中文字字幕乱码综合| 村上凉子中文字幕在线| 亚洲av熟女| 欧美大码av| 99久久久亚洲精品蜜臀av| 亚洲av电影在线进入| 少妇的丰满在线观看| 精品福利观看| 久久久久久国产a免费观看| 国产日本99.免费观看| 亚洲国产精品合色在线| 亚洲精品美女久久av网站| 久久这里只有精品19| 国产伦在线观看视频一区| avwww免费| 男插女下体视频免费在线播放| 国产激情偷乱视频一区二区| 久久精品夜夜夜夜夜久久蜜豆 | 国产精品国产高清国产av| 久久天堂一区二区三区四区| 欧美黄色淫秽网站| 国产乱人伦免费视频| 亚洲av美国av| 18禁黄网站禁片午夜丰满| 特级一级黄色大片| 亚洲熟妇中文字幕五十中出| e午夜精品久久久久久久| 老熟妇乱子伦视频在线观看| 国产三级黄色录像| 久久久久性生活片| 亚洲专区国产一区二区| 成在线人永久免费视频| 午夜久久久久精精品| 天天躁夜夜躁狠狠躁躁| 在线观看午夜福利视频| 日韩欧美在线乱码| 亚洲成人国产一区在线观看| 久久久国产成人精品二区| av福利片在线观看| 午夜福利免费观看在线| 中文字幕最新亚洲高清| 男人舔女人的私密视频| 18美女黄网站色大片免费观看| 啦啦啦观看免费观看视频高清| 国产亚洲精品第一综合不卡| 久久天躁狠狠躁夜夜2o2o| 精品国内亚洲2022精品成人| 日韩成人在线观看一区二区三区| 午夜精品久久久久久毛片777| 搞女人的毛片| 国产精品免费一区二区三区在线| 国产成人欧美在线观看| 人妻夜夜爽99麻豆av| 香蕉丝袜av| 久久久久精品国产欧美久久久| 午夜视频精品福利| av超薄肉色丝袜交足视频| 啦啦啦韩国在线观看视频| 久久国产乱子伦精品免费另类| 一边摸一边抽搐一进一小说| 成人永久免费在线观看视频| 国内毛片毛片毛片毛片毛片| 中文字幕久久专区| 少妇被粗大的猛进出69影院| 两人在一起打扑克的视频| 亚洲专区国产一区二区| 少妇裸体淫交视频免费看高清 | 国产精品香港三级国产av潘金莲| 精品一区二区三区四区五区乱码| 精品国产超薄肉色丝袜足j| 99在线人妻在线中文字幕| 欧美黄色淫秽网站| 午夜福利高清视频| а√天堂www在线а√下载| 国产在线精品亚洲第一网站| 搡老岳熟女国产| 欧美乱妇无乱码| 国产成人精品久久二区二区免费| 欧美黑人欧美精品刺激| 蜜桃久久精品国产亚洲av| 日韩欧美 国产精品| 搡老妇女老女人老熟妇| 亚洲中文日韩欧美视频| 中文字幕人妻丝袜一区二区| 欧美黄色淫秽网站| 国产一区二区三区视频了| 91av网站免费观看| 国产精品野战在线观看| 免费在线观看完整版高清| 桃色一区二区三区在线观看| 不卡一级毛片| 一边摸一边抽搐一进一小说| 亚洲一区二区三区不卡视频| 欧美黑人欧美精品刺激| 高清在线国产一区| 日韩 欧美 亚洲 中文字幕| av福利片在线| 一区二区三区激情视频| 51午夜福利影视在线观看| 夜夜躁狠狠躁天天躁| 欧美av亚洲av综合av国产av| 国产av又大| 亚洲一区中文字幕在线| 欧美性猛交黑人性爽| 亚洲国产精品久久男人天堂| 久久精品人妻少妇| 亚洲成av人片免费观看| 岛国在线观看网站| 香蕉丝袜av| 日韩大尺度精品在线看网址| 久久精品夜夜夜夜夜久久蜜豆 | 色老头精品视频在线观看| 国产亚洲欧美在线一区二区| 九色国产91popny在线| 丁香欧美五月| 国产成人一区二区三区免费视频网站| 久久婷婷成人综合色麻豆| 大型av网站在线播放| 免费一级毛片在线播放高清视频| 美女高潮喷水抽搐中文字幕| svipshipincom国产片| 久久久久久九九精品二区国产 | 亚洲精品在线美女| 国产精品久久久久久人妻精品电影| 久久 成人 亚洲| 丰满的人妻完整版| 成人三级做爰电影| 成人av一区二区三区在线看| 国产亚洲av嫩草精品影院| 日韩国内少妇激情av| 久久精品影院6| 欧洲精品卡2卡3卡4卡5卡区| 亚洲成人中文字幕在线播放| 桃色一区二区三区在线观看| 全区人妻精品视频| 男女之事视频高清在线观看| 搡老熟女国产l中国老女人| 波多野结衣高清作品| 国产激情久久老熟女| 午夜免费成人在线视频| 国产真实乱freesex| 白带黄色成豆腐渣| 我要搜黄色片| 欧美日本视频| 亚洲国产欧洲综合997久久,| 91大片在线观看| www日本黄色视频网| 可以在线观看的亚洲视频| 国产亚洲av高清不卡| 18禁美女被吸乳视频| 精品久久久久久久人妻蜜臀av| 国产精品一及| 色尼玛亚洲综合影院| 成人三级黄色视频| 成年免费大片在线观看| 人人妻,人人澡人人爽秒播| 午夜精品在线福利| 亚洲人成网站在线播放欧美日韩| 久久亚洲真实| 岛国在线观看网站| 久久精品国产亚洲av高清一级| 色综合婷婷激情| 亚洲18禁久久av| 国产精品永久免费网站| 婷婷六月久久综合丁香| 亚洲国产中文字幕在线视频| 欧美在线黄色| 欧美3d第一页| 日韩欧美国产一区二区入口| 无人区码免费观看不卡| 天天躁夜夜躁狠狠躁躁| 日本一区二区免费在线视频| 久久久久久免费高清国产稀缺| av超薄肉色丝袜交足视频| 亚洲va日本ⅴa欧美va伊人久久| 视频区欧美日本亚洲| 久久久久久久久免费视频了| 88av欧美| 精品一区二区三区av网在线观看| 国产精品免费一区二区三区在线| 欧美大码av| 国产高清激情床上av| 老司机午夜福利在线观看视频| 99国产极品粉嫩在线观看| av福利片在线| 18禁观看日本| 日韩有码中文字幕| 12—13女人毛片做爰片一| 18禁裸乳无遮挡免费网站照片| www日本在线高清视频| 天天添夜夜摸| 国产亚洲精品一区二区www| av有码第一页| 亚洲中文日韩欧美视频| 久久久精品欧美日韩精品| 免费一级毛片在线播放高清视频| 亚洲中文av在线| 观看免费一级毛片| 国产私拍福利视频在线观看| 精品久久久久久久久久久久久| 欧美在线黄色| 99热这里只有精品一区 | 日韩欧美三级三区| 精品久久久久久久久久免费视频| 中文字幕人妻丝袜一区二区| 中文字幕久久专区| 国产一区二区在线av高清观看| 99热这里只有是精品50| 国产精品av视频在线免费观看| 色综合欧美亚洲国产小说| 女人高潮潮喷娇喘18禁视频| xxxwww97欧美| 在线视频色国产色| 狂野欧美激情性xxxx| 亚洲乱码一区二区免费版| 久久久久性生活片| 亚洲成人精品中文字幕电影| 老司机午夜福利在线观看视频| 亚洲美女黄片视频| 精品欧美一区二区三区在线| 男人舔女人下体高潮全视频| svipshipincom国产片| 午夜a级毛片| 婷婷丁香在线五月| 亚洲片人在线观看| www.熟女人妻精品国产| 久久中文看片网| 正在播放国产对白刺激| 亚洲成人国产一区在线观看| 91老司机精品| 国产一区二区在线av高清观看| 免费观看精品视频网站| 国产精品日韩av在线免费观看| 成人一区二区视频在线观看| 欧美一区二区国产精品久久精品 | 美女高潮喷水抽搐中文字幕| 人妻丰满熟妇av一区二区三区| 深夜精品福利| 欧美最黄视频在线播放免费| 日本精品一区二区三区蜜桃| 91老司机精品| 九色成人免费人妻av| 日韩大尺度精品在线看网址| 亚洲中文av在线| 黄色毛片三级朝国网站| 天天添夜夜摸| 国产精品乱码一区二三区的特点| 日本a在线网址| 欧美性长视频在线观看| 亚洲国产精品成人综合色| 白带黄色成豆腐渣| 99riav亚洲国产免费| 小说图片视频综合网站| 久久午夜亚洲精品久久| 18禁观看日本| 国产区一区二久久| 亚洲国产精品sss在线观看| 欧美黄色淫秽网站| av在线播放免费不卡| 亚洲精品国产一区二区精华液| 久久精品夜夜夜夜夜久久蜜豆 | 美女免费视频网站| 国产精品久久电影中文字幕| 国产91精品成人一区二区三区| 正在播放国产对白刺激| 波多野结衣高清作品| 99精品在免费线老司机午夜| 九九热线精品视视频播放| 久久久久久久久中文| av在线天堂中文字幕| 亚洲国产日韩欧美精品在线观看 | 视频区欧美日本亚洲| 亚洲国产欧美网| 黄色视频,在线免费观看| 久久精品亚洲精品国产色婷小说| 久久久久久久精品吃奶| 女同久久另类99精品国产91| 99riav亚洲国产免费| 动漫黄色视频在线观看| 国产真实乱freesex| 成人国产一区最新在线观看| 欧美丝袜亚洲另类 | 国产高清有码在线观看视频 | 黄色视频,在线免费观看| 一本大道久久a久久精品| 亚洲精品中文字幕一二三四区| 国内精品一区二区在线观看| 久久天躁狠狠躁夜夜2o2o| 夜夜看夜夜爽夜夜摸| 香蕉国产在线看| 一进一出抽搐gif免费好疼| 日韩有码中文字幕| 亚洲自拍偷在线| 成人三级做爰电影| 国产精品免费一区二区三区在线| 丁香六月欧美| 欧美日韩乱码在线| 国语自产精品视频在线第100页| 在线观看午夜福利视频| 成人av一区二区三区在线看| 97超级碰碰碰精品色视频在线观看| 午夜福利18| 亚洲欧美精品综合久久99| 国产精品av视频在线免费观看| 91大片在线观看| 久久久水蜜桃国产精品网| 99久久99久久久精品蜜桃| 性色av乱码一区二区三区2| 久久久久国产精品人妻aⅴ院| 久久精品91无色码中文字幕| 变态另类丝袜制服| 一级毛片精品| 制服丝袜大香蕉在线| 国产精品一区二区三区四区免费观看 | 欧美日韩瑟瑟在线播放| 高清毛片免费观看视频网站| 亚洲专区中文字幕在线| 老司机午夜福利在线观看视频| 欧美黑人精品巨大| 午夜久久久久精精品| 男女床上黄色一级片免费看| 亚洲午夜理论影院| 夜夜爽天天搞| 精品一区二区三区视频在线观看免费| 精品无人区乱码1区二区| 国产成人系列免费观看| 久久午夜综合久久蜜桃| 琪琪午夜伦伦电影理论片6080| 国产伦一二天堂av在线观看| a级毛片在线看网站| 国产午夜福利久久久久久| 日本一区二区免费在线视频| av国产免费在线观看| 国产人伦9x9x在线观看| 国产亚洲欧美在线一区二区| 少妇熟女aⅴ在线视频| 色精品久久人妻99蜜桃| 国产爱豆传媒在线观看 | 亚洲成人国产一区在线观看| 波多野结衣巨乳人妻| 丝袜美腿诱惑在线| 亚洲专区国产一区二区| 亚洲成人久久爱视频| 久久久国产欧美日韩av| 午夜久久久久精精品| 久久香蕉国产精品| 欧美精品啪啪一区二区三区| 两性夫妻黄色片| 人人妻,人人澡人人爽秒播| 亚洲av电影不卡..在线观看| 免费电影在线观看免费观看| 国产1区2区3区精品| 日韩欧美免费精品| 午夜两性在线视频| 亚洲人成伊人成综合网2020| 成人三级黄色视频| 亚洲人成网站高清观看| 国产精品av久久久久免费| 激情在线观看视频在线高清| 国产欧美日韩一区二区精品| 欧美av亚洲av综合av国产av| 精品第一国产精品| 亚洲九九香蕉| 亚洲熟女毛片儿| 三级毛片av免费| av在线播放免费不卡| 黄色a级毛片大全视频| av在线天堂中文字幕| 亚洲专区国产一区二区| 无人区码免费观看不卡| 国产主播在线观看一区二区| 一级毛片精品| 色播亚洲综合网| 亚洲成人久久性| 欧美中文日本在线观看视频| 亚洲成人国产一区在线观看| 欧美日本视频| a在线观看视频网站| 又粗又爽又猛毛片免费看| 欧美日韩亚洲国产一区二区在线观看| 免费高清视频大片| 亚洲最大成人中文| 最近在线观看免费完整版| 午夜福利18| 91大片在线观看| 嫩草影院精品99| 亚洲欧美精品综合一区二区三区| 操出白浆在线播放| 亚洲片人在线观看| 麻豆一二三区av精品| 欧美zozozo另类| 三级国产精品欧美在线观看 | 在线观看舔阴道视频| 久久天躁狠狠躁夜夜2o2o| 91字幕亚洲| 欧洲精品卡2卡3卡4卡5卡区| 琪琪午夜伦伦电影理论片6080| 亚洲午夜精品一区,二区,三区| 给我免费播放毛片高清在线观看| 日韩成人在线观看一区二区三区| 国产在线精品亚洲第一网站| 制服丝袜大香蕉在线| 动漫黄色视频在线观看| 久久精品国产99精品国产亚洲性色| 黄片小视频在线播放| 在线观看舔阴道视频| 国产成人影院久久av| 亚洲精品在线观看二区| 伦理电影免费视频| 99国产综合亚洲精品| 全区人妻精品视频| 欧美中文日本在线观看视频| 国产高清视频在线观看网站| 亚洲va日本ⅴa欧美va伊人久久| tocl精华| 中文字幕人成人乱码亚洲影| 丁香六月欧美| 亚洲精华国产精华精| www.自偷自拍.com| 日本在线视频免费播放| 久久久精品欧美日韩精品| 在线观看免费视频日本深夜| 国产亚洲欧美98| 88av欧美| 又黄又爽又免费观看的视频| 免费在线观看黄色视频的| 男女下面进入的视频免费午夜| 国产精品野战在线观看| 18美女黄网站色大片免费观看| 午夜免费成人在线视频| 黑人欧美特级aaaaaa片| 亚洲精品中文字幕一二三四区| 悠悠久久av| www.精华液| 一个人免费在线观看的高清视频| 日本成人三级电影网站| 欧美色欧美亚洲另类二区| 99热只有精品国产| 少妇熟女aⅴ在线视频| av福利片在线| 丰满的人妻完整版| 久久精品亚洲精品国产色婷小说| 亚洲色图 男人天堂 中文字幕| 日韩 欧美 亚洲 中文字幕| 看片在线看免费视频| 这个男人来自地球电影免费观看| 久久久国产欧美日韩av| 国产探花在线观看一区二区| 免费搜索国产男女视频| 人人妻,人人澡人人爽秒播| 精品久久久久久久毛片微露脸| 俺也久久电影网| 久久精品国产99精品国产亚洲性色| 99久久久亚洲精品蜜臀av| 久99久视频精品免费| 久久人人精品亚洲av| 国产成人一区二区三区免费视频网站| 亚洲国产高清在线一区二区三| av福利片在线| 啦啦啦免费观看视频1| 精品第一国产精品| 亚洲av电影在线进入| netflix在线观看网站| 91av网站免费观看| 国产精品一区二区精品视频观看| 欧美成人一区二区免费高清观看 | 搞女人的毛片| 嫁个100分男人电影在线观看| 午夜福利在线在线| www.精华液| 99在线人妻在线中文字幕| 在线十欧美十亚洲十日本专区| 免费看十八禁软件| 大型黄色视频在线免费观看| 欧美3d第一页| 亚洲美女视频黄频| 日日夜夜操网爽| 国产高清有码在线观看视频 | 淫秽高清视频在线观看| 777久久人妻少妇嫩草av网站| 午夜精品久久久久久毛片777| 国产精品久久久av美女十八| 男女那种视频在线观看| 日韩欧美三级三区| 日日摸夜夜添夜夜添小说| 国产亚洲欧美在线一区二区| 韩国av一区二区三区四区| 国产精品 国内视频| 每晚都被弄得嗷嗷叫到高潮| 欧美3d第一页|