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

    基于OpenOCD和DAP的嵌入式遠(yuǎn)程調(diào)試系統(tǒng)研究與設(shè)計(jì)

    2017-12-01 00:33:28余梓奇章建雄閻燕山
    電子設(shè)計(jì)工程 2017年22期
    關(guān)鍵詞:嵌入式指令調(diào)試

    余梓奇,章建雄,馬 鵬,閻燕山

    (1.中國(guó)電子科技集團(tuán)第三十二研究所上海201808;2.中國(guó)航空無(wú)線電電子研究所上海200241)

    基于OpenOCD和DAP的嵌入式遠(yuǎn)程調(diào)試系統(tǒng)研究與設(shè)計(jì)

    余梓奇1,章建雄1,馬 鵬1,閻燕山2

    (1.中國(guó)電子科技集團(tuán)第三十二研究所上海201808;2.中國(guó)航空無(wú)線電電子研究所上海200241)

    為了解決傳統(tǒng)調(diào)試器與自主可控芯片兼容性不強(qiáng)的問(wèn)題,文中針對(duì)自主設(shè)計(jì)的一款嵌入式CPU,分析了遠(yuǎn)程調(diào)試的原理,研究并設(shè)計(jì)了一種基于OpenOCD和DAP(調(diào)試訪問(wèn)端口)的遠(yuǎn)程調(diào)試系統(tǒng)。該系統(tǒng)通過(guò)OpenOCD向目標(biāo)芯片發(fā)送調(diào)試命令,經(jīng)過(guò)JTAG仿真器傳給目標(biāo)芯片的JTAG接口,并通過(guò)DAP生成總線事務(wù)完成調(diào)試操作。經(jīng)實(shí)際應(yīng)用表明,該系統(tǒng)支持插入斷點(diǎn)、單步執(zhí)行、讀寫(xiě)寄存器和存儲(chǔ)空間等調(diào)試功能,可作為GDB服務(wù)程序與GDB集成以實(shí)現(xiàn)更強(qiáng)大的調(diào)試功能,具有兼容性強(qiáng),穩(wěn)定性強(qiáng),可擴(kuò)展性好的特點(diǎn)。

    遠(yuǎn)程調(diào)試;OpenOCD;調(diào)試訪問(wèn)端口;JTAG仿真器

    嵌入式遠(yuǎn)程調(diào)試系統(tǒng)是嵌入式系統(tǒng)開(kāi)發(fā)的重要工具,可極大降低嵌入式軟件開(kāi)發(fā)的難度。嵌入式開(kāi)發(fā)中的調(diào)試工作受限于嵌入式軟件運(yùn)行的資源,不能夠直接在開(kāi)發(fā)板上運(yùn)行調(diào)試軟件,調(diào)試軟件與被調(diào)程序不得不在兩個(gè)不同的環(huán)境中運(yùn)行,因此嵌入式調(diào)試必須采用遠(yuǎn)程調(diào)試的方式,也稱交叉調(diào)試[1],被調(diào)軟件和調(diào)試器之間一般通過(guò)并口、USB接口或者網(wǎng)絡(luò)接口連接。

    國(guó)外在嵌入式調(diào)試器方面一直領(lǐng)先,國(guó)內(nèi)普遍采用國(guó)外的工具,價(jià)格比較昂貴,而適配自主可控的國(guó)產(chǎn)芯片的調(diào)試系統(tǒng)相對(duì)缺乏,這就對(duì)嵌入式開(kāi)發(fā)環(huán)境提出了新的要求,因此文中針對(duì)自主設(shè)計(jì)的嵌入式CPU研究并設(shè)計(jì)了一種基于OpenOCD和DAP的遠(yuǎn)程調(diào)試系統(tǒng),以適應(yīng)目前嵌入式開(kāi)發(fā)的需求。該調(diào)試系統(tǒng)可適用于沒(méi)有操作系統(tǒng)的目標(biāo)機(jī),通過(guò)OpenOCD向目標(biāo)芯片發(fā)送調(diào)試命令,目標(biāo)芯片的DAP收到命令并發(fā)出總線事務(wù)實(shí)現(xiàn)對(duì)CPU和外圍設(shè)備的訪問(wèn)。

    1 遠(yuǎn)程調(diào)試系統(tǒng)結(jié)構(gòu)

    本遠(yuǎn)程調(diào)試系統(tǒng)包括的部件有:GDB、OpenOCD、JTAG仿真器和目標(biāo)機(jī)調(diào)試訪問(wèn)端口。系統(tǒng)架構(gòu)如圖1所示。其中OpenOCD和GDB運(yùn)行在宿主機(jī)端,JTAG仿真器連接宿主機(jī)和目標(biāo)機(jī),目標(biāo)機(jī)調(diào)試訪問(wèn)端口DAP解析收到的調(diào)試命令,控制處理器執(zhí)行調(diào)試操作。本系統(tǒng)實(shí)現(xiàn)的關(guān)鍵在于設(shè)計(jì)了獨(dú)立的DAP以及在OpenOCD中設(shè)計(jì)了符合目標(biāo)芯片的調(diào)試特性的接口函數(shù)。

    圖1 遠(yuǎn)程調(diào)試系統(tǒng)架構(gòu)

    1.1 OpenOCD

    OpenOCD(Open On-Chip Debugger)是一個(gè)開(kāi)源的通用上位機(jī)調(diào)試軟件,與GNU GCC工具鏈聯(lián)合作為多種嵌入式目標(biāo)系統(tǒng)的調(diào)試器所用,支持所有系列的ARM處理器以及MIPS和FPGA等核心的芯片,也支持眾多商用的JTAG仿真適配器[2]。由于OpenOCD的開(kāi)源性,可根據(jù)不同的目標(biāo)芯片改寫(xiě)相應(yīng)的操作函數(shù)以適配各個(gè)芯片,使得基于OpenOCD搭建的調(diào)試系統(tǒng)具有兼容性強(qiáng),可擴(kuò)展好的特性[3]。OpenOCD相較于其他調(diào)試器的優(yōu)勢(shì)在于,可以直接讀寫(xiě)物理地址和核內(nèi)部寄存器,更接近硬件層面,對(duì)于測(cè)試硬件設(shè)計(jì)有不小幫助[4];

    1.2 JTAG仿真器

    大多數(shù)仿真器都由一個(gè)位于主機(jī)和被調(diào)試系統(tǒng)之間的硬件電路組成。一端通過(guò)USB接口與主機(jī)端連接,另一端通過(guò)JTAG接口與目標(biāo)板上的微處理器的調(diào)試電路連接。

    仿真器中主要部分為USB協(xié)議棧,以及JTAG接口。JTAG仿真器接收到宿主機(jī)通信端口發(fā)出的信號(hào)后,將其轉(zhuǎn)換成標(biāo)準(zhǔn)的JTAG信號(hào)發(fā)給目標(biāo)機(jī)JTAG接收端,目標(biāo)機(jī)完成指定的調(diào)試操作后再將結(jié)果反饋給宿主機(jī)[5]。

    1.3 調(diào)試訪問(wèn)端口

    調(diào)試訪問(wèn)端口DAP(Debug Access Port)主要由調(diào)試端口(DP)和訪問(wèn)端口(AP)兩部分組成。DAP作為一個(gè)整體的本質(zhì)作用是將JTAG接口傳來(lái)的數(shù)據(jù)翻譯成不同的系統(tǒng)總線事務(wù)[6]。JTAG-DP接收到JTAG信號(hào),經(jīng)過(guò)DAP內(nèi)部總線控制訪問(wèn)端口AP;通過(guò)AHB-AP可以訪問(wèn)到掛載在AHB總線上的所有從設(shè)備;APB-AP僅能訪問(wèn)與Debug APB連接的處理器核,通過(guò)訪問(wèn)處理器核中的Debug邏輯實(shí)現(xiàn)調(diào)試操作[7]。DP和AP內(nèi)部也有相應(yīng)的控制寄存器,主機(jī)端的調(diào)試器可以獨(dú)立地訪問(wèn)這些寄存器,以獲取DAP的運(yùn)行情況,且不干擾目標(biāo)芯片的運(yùn)行。

    1.4 GDB

    GDB作為GNU開(kāi)源組織下的一個(gè)調(diào)試工具,具備其他商用調(diào)試器的所有功能。GDB遠(yuǎn)程調(diào)試的基本原理是通過(guò) RSP(Remote Serial Protocol)協(xié)議實(shí)現(xiàn)調(diào)試功能。RSP協(xié)議定義了消息的讀寫(xiě)格式,控制應(yīng)用程序的調(diào)試以及相應(yīng)狀態(tài)[8]。GDB在此系統(tǒng)中不是必須的,根據(jù)實(shí)際調(diào)試需求而定。OpenOCD與GDB聯(lián)合使用時(shí)可視作一種GDB Server[9]。

    2 調(diào)試系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)

    本節(jié)詳細(xì)介紹本遠(yuǎn)程調(diào)試系統(tǒng)中調(diào)試訪問(wèn)端口和OpenOCD調(diào)試函數(shù)的具體設(shè)計(jì)實(shí)現(xiàn)。

    2.1 DAP設(shè)計(jì)原理

    DAP由調(diào)試端口DP和訪問(wèn)端口AP組成。數(shù)據(jù)流經(jīng)DP傳給AP,最后流向待訪問(wèn)的調(diào)試資源。DAP結(jié)構(gòu)圖如圖2所示。

    圖2 DAP結(jié)構(gòu)圖

    調(diào)試端口JTAG-DP可以分成TAP控制器、掃描鏈、指令系統(tǒng)3個(gè)部分[10]。TAP控制器事實(shí)上是一個(gè)有限狀態(tài)機(jī),由輸入信號(hào)TMS和時(shí)鐘TCK控制狀態(tài)機(jī)的運(yùn)行,提供控制信息。JTAG-DP內(nèi)部包括兩大類(lèi)掃描鏈:指令掃描鏈(IR scan chain)和數(shù)據(jù)掃描鏈(DR scan chain)。根據(jù)狀態(tài)機(jī)的不同狀態(tài)首先指定指令或數(shù)據(jù)寄存器組,然后控制寄存器組的捕獲、移位、更新等操作。如表1所示定義了5種JTGA指令。如果是DPACC或APACC指令,接下來(lái)則換到數(shù)據(jù)掃描鏈,數(shù)據(jù)經(jīng)TDI移入數(shù)據(jù)寄存器,寫(xiě)數(shù)據(jù)在更新?tīng)顟B(tài)發(fā)出,讀數(shù)據(jù)則在下一次的捕獲狀態(tài)讀取,經(jīng)TDO讀出。

    表1 JTAG指令

    訪問(wèn)端口AHB-AP和APB-AP內(nèi)部分為主從端,Slave端負(fù)責(zé)接收DP傳來(lái)的命令和數(shù)據(jù),Master端負(fù)責(zé)產(chǎn)生相應(yīng)的總線事務(wù)[11]。本系統(tǒng)設(shè)計(jì)APBAP與Debug APB總線相連,可訪問(wèn)到核內(nèi)的調(diào)試資源,控制CPU運(yùn)行或插入硬件斷點(diǎn)和觀察點(diǎn);AHBAP與AHB總線相連,可以訪問(wèn)到所有掛載在AHB總線上的外設(shè)。由于對(duì)核的訪問(wèn)和對(duì)外設(shè)的訪問(wèn)是通過(guò)不同的線路進(jìn)行,故該調(diào)試系統(tǒng)可以實(shí)現(xiàn)訪問(wèn)外設(shè)而不影響核內(nèi)指令的正常運(yùn)行。

    調(diào)試器對(duì)DAP的訪問(wèn)可分為三級(jí)[12]:對(duì)DP的訪問(wèn),對(duì)AP的訪問(wèn)和對(duì)系統(tǒng)資源的訪問(wèn)。這三級(jí)是遞進(jìn)的關(guān)系,要想訪問(wèn)系統(tǒng)資源,必須先訪問(wèn)DP和AP。三級(jí)訪問(wèn)結(jié)構(gòu)如圖3所示。首先訪問(wèn)DP,配置APSEL寄存器指定要訪問(wèn)的AP寄存器;再訪問(wèn)AP的Bank0中的寄存器TAR和DRW,分別指定要訪問(wèn)系統(tǒng)資源的地址和讀寫(xiě)數(shù)據(jù);最后AP發(fā)出相應(yīng)的總線事務(wù),完成對(duì)調(diào)試資源的訪問(wèn)??梢耘渲肁P中的CSW寄存器選擇訪問(wèn)模式,例如要連續(xù)訪問(wèn)一段地址,可以使用地址自增模式,每完成一次讀寫(xiě)訪問(wèn)便將AP-TAR中的地址加4,這樣每次只需操作DP訪問(wèn)一次AP-TAR,不用重新寫(xiě)值改變地址。通過(guò)這三級(jí)訪問(wèn)最終實(shí)現(xiàn)嵌入式系統(tǒng)的調(diào)試和對(duì)DAP本身的控制。

    為了能夠控制處理器的狀態(tài),設(shè)計(jì)DAP以存儲(chǔ)空間映射(Memory map)的方式訪問(wèn)處理器核的調(diào)試接口[13]。核中的調(diào)試相關(guān)寄存器映射到Debug APB上的4KB地址空間。向APB-AP TAR寄存器中寫(xiě)入相應(yīng)地址即可訪問(wèn)到調(diào)試寄存器。

    2.2 OpenOCD設(shè)計(jì)原理

    基于OpenOCD的開(kāi)源性,可以根據(jù)不同的目標(biāo)芯片進(jìn)行定制設(shè)計(jì)和裁剪。OpenOCD可主要分為GDB服務(wù)模塊、DAP訪問(wèn)模塊和目標(biāo)芯片調(diào)試模塊這樣三個(gè)模塊。另外還有JTAG仿真器驅(qū)動(dòng)模塊,主要是調(diào)用現(xiàn)有的libusb庫(kù)函數(shù)根據(jù)不同仿真器的特性來(lái)驅(qū)動(dòng)USB接口,進(jìn)而驅(qū)動(dòng)JTAG仿真器[14],這里不再贅述。下面介紹主要功能模塊的設(shè)計(jì)原理。

    圖3 DAP三級(jí)訪問(wèn)結(jié)構(gòu)示意圖

    2.2.1 GDB服務(wù)模塊

    GDB服務(wù)模塊類(lèi)似于GDB Server,主要包括3個(gè)子模塊[15]:1)通信連接模塊,作為GDB與OpenOCD中間的橋梁,實(shí)現(xiàn)兩者的通信。GDB服務(wù)模塊啟動(dòng)后,將調(diào)用一個(gè)線程監(jiān)聽(tīng)通信連接,當(dāng)GDB發(fā)起連接時(shí),將通知后續(xù)模塊建立調(diào)試連接;2)事件監(jiān)聽(tīng)模塊,循環(huán)監(jiān)聽(tīng)調(diào)試事件并跟蹤某個(gè)進(jìn)程的進(jìn)行;3)命令解析模塊,解析RSP包的格式,提取調(diào)試命令內(nèi)容交給OpenOCD執(zhí)行,收到返回?cái)?shù)據(jù)后再封裝成RSP數(shù)據(jù)包。

    2.2.2 DAP訪問(wèn)模塊

    DAP訪問(wèn)模塊根據(jù)上一節(jié)提到的DAP三級(jí)訪問(wèn)原理,實(shí)現(xiàn)了掃描鏈的驅(qū)動(dòng),DAP寄存器的訪問(wèn),依據(jù)不同的上層調(diào)試操作選擇不同的AP訪問(wèn)系統(tǒng)資源。如圖4所示是DAP的訪問(wèn)流程圖。該模塊具體分為兩部分:1)JTAG協(xié)議模塊,實(shí)現(xiàn)TAP狀態(tài)機(jī)的狀態(tài)轉(zhuǎn)換,根據(jù)配置文件中對(duì)時(shí)鐘的設(shè)置改變TCK的速度,在每個(gè)TCK節(jié)拍到來(lái)時(shí),指定TMS完成狀態(tài)跳轉(zhuǎn)。設(shè)計(jì)jtag_ir_scan()和jtag_dr_scan()函數(shù)實(shí)現(xiàn)JTAG指令的選擇和數(shù)據(jù)掃描鏈的移位;2)DAP協(xié)議模塊,分析調(diào)試操作模塊的不同命令,首先調(diào)用jtag_ir_scan()函 數(shù) 指 定 DP操 作 為 DPACC或APACC,接著調(diào)用jtag_dr_scan()函數(shù)載入數(shù)據(jù)選擇AP和指定讀寫(xiě)操作。訪問(wèn)結(jié)束后調(diào)用jtagdp_transaction_endcheck()函數(shù)檢查訪問(wèn)是否正常,主要根據(jù)數(shù)據(jù)掃描鏈后3位的值,查看當(dāng)前DPCTRL/STAT的OVERRUN和STICKYERR位是否置1,如果不正常就嘗試重新訪問(wèn)并向上層反饋錯(cuò)誤代號(hào)。

    圖4 DAP訪問(wèn)流程

    2.2.3 目標(biāo)芯片調(diào)試模塊設(shè)計(jì)

    根據(jù)目標(biāo)處理器的類(lèi)型,本模塊設(shè)計(jì)實(shí)現(xiàn)的是通過(guò)調(diào)用DAP訪問(wèn)模塊中的函數(shù),訪問(wèn)處理器中DEBUG相關(guān)寄存器和外設(shè)資源,實(shí)現(xiàn)讓目標(biāo)處理器執(zhí)行具體調(diào)試操作。下面重點(diǎn)討論各項(xiàng)功能的實(shí)現(xiàn)。

    1)停止運(yùn)行:控制CPU停止運(yùn)行當(dāng)前指令,進(jìn)入調(diào)試狀態(tài),首先向DRCR_HALTREQ位寫(xiě)1發(fā)出停止請(qǐng)求,該操作會(huì)產(chǎn)生調(diào)試請(qǐng)求異常,使CPU保存現(xiàn)場(chǎng)。接著寫(xiě)DSCR_ITRen位寫(xiě)1使能ITR功能,以便在后續(xù)的調(diào)試操作中向CPU發(fā)送指令。讀DSCR字獲取當(dāng)前CPU狀態(tài),DSCR_HALTED位為1說(shuō)明CPU已經(jīng)停止進(jìn)入調(diào)試狀態(tài)。

    2)插入斷點(diǎn):斷點(diǎn)是調(diào)試器控制目標(biāo)程序執(zhí)行的基本手段。這里斷點(diǎn)分為軟斷點(diǎn)和硬斷點(diǎn),軟斷點(diǎn)是將待插入斷點(diǎn)處的機(jī)器碼換成特殊的BKPT指令,當(dāng)CPU執(zhí)行到這條指令時(shí)會(huì)產(chǎn)生斷點(diǎn)異常使CPU進(jìn)入調(diào)試狀態(tài);硬斷點(diǎn)是通過(guò)向BVR中寫(xiě)待插入斷點(diǎn)的地址,CPU每次執(zhí)行指令前會(huì)將PC與BVR比較,地址匹配便產(chǎn)生斷點(diǎn)異常,打斷這條指令的執(zhí)行,使CPU直接進(jìn)入調(diào)試狀態(tài)。從速度上講,設(shè)置硬件斷點(diǎn)更快。

    3)單步執(zhí)行:實(shí)際上是一個(gè)刪除斷點(diǎn)——插入斷點(diǎn)——恢復(fù)執(zhí)行的過(guò)程。首先刪除當(dāng)前停止位置的斷點(diǎn),再向下一條指令位置處插入新的斷點(diǎn),然后恢復(fù)執(zhí)行,CPU執(zhí)行完當(dāng)前指令會(huì)觸發(fā)下條指令的斷點(diǎn)。

    4)恢復(fù)執(zhí)行:恢復(fù)CPU運(yùn)行指令,離開(kāi)調(diào)試狀態(tài)。和停止運(yùn)行操作相似,首先向DSCR_ITRen位寫(xiě)零關(guān)閉ITR功能,再DRCR_RESTART位寫(xiě)1發(fā)出重新運(yùn)行請(qǐng)求,控制CPU恢復(fù)現(xiàn)場(chǎng)。如果沒(méi)有指定恢復(fù)執(zhí)行的地址,則在當(dāng)前PC處開(kāi)始執(zhí)行,如果指定了地址,在離開(kāi)調(diào)試功能前會(huì)向PC寫(xiě)入新地址,控制CPU從這里開(kāi)始執(zhí)行。

    5)讀寫(xiě)調(diào)試資源:分兩種情況,如果訪問(wèn)CPU內(nèi)的寄存器是通過(guò)ITR執(zhí)行相應(yīng)指令,再通過(guò)RX、TX完成數(shù)據(jù)傳輸。如果訪問(wèn)CPU外的存儲(chǔ)空間是直接通過(guò)AHB總線訪問(wèn)。

    2.3 集成GDB

    OpenOCD可以與GDB協(xié)同工作,接收GDB發(fā)送來(lái)的命令傳給目標(biāo)機(jī)。相對(duì)OpenOCD的調(diào)試操作,GDB提供了更強(qiáng)大并更“上層”的調(diào)試功能。GDB可以直接面向源碼級(jí)調(diào)試,可以針對(duì)函數(shù)名或語(yǔ)句行號(hào)插入斷點(diǎn),并以語(yǔ)句單步執(zhí)行[16]。在GDB環(huán)境中輸入target remote localhost:3333命令即可與OpenOCD建立連接,端口號(hào)可以在目標(biāo)芯片配置文件中修改。連接成功后使用load命令載入待調(diào)程序。與調(diào)試本地程序不同,遠(yuǎn)程調(diào)試是通過(guò)“c”命令而不是“r”命令使待調(diào)程序開(kāi)始執(zhí)行。其他命令與本地調(diào)試類(lèi)似,所以對(duì)于熟悉GDB操作的開(kāi)發(fā)人員,可以使用GDB配合OpenOCD高效地調(diào)試嵌入式軟件程序。

    3 測(cè)試結(jié)果

    文中針對(duì)自主設(shè)計(jì)地嵌入式CPU,選用J-link作為JTAG仿真器,在ubuntu系統(tǒng)上啟動(dòng)OpenOCD,向目標(biāo)芯片發(fā)送調(diào)試命令。測(cè)試過(guò)程為首先向芯片下載一個(gè)根據(jù)U-boot裁剪的boot程序,然后在該程序所在內(nèi)存處的的不同位置插入斷點(diǎn),觀察程序執(zhí)行情況。

    OpenOCD連接成功后首先讀取JTAG仿真器和DAP的相關(guān)信息,以比較是否和配置文件中聲明的相同,同時(shí)還讀取了核中的調(diào)試寄存器,獲取芯片信息,如支持的硬件斷點(diǎn)和觀察點(diǎn)個(gè)數(shù)。

    使用halt命令使處理器停止運(yùn)行后即表示進(jìn)入調(diào)試狀態(tài),使用load_image命令下載程序到指定地址并改變PC指針到指定地址開(kāi)始執(zhí)行。通過(guò)bp命令插入斷點(diǎn),處理器執(zhí)行到斷點(diǎn)處停止執(zhí)行,可以看到停止時(shí)的狀態(tài)信息。單步step操作執(zhí)行到下條指令再恢復(fù)運(yùn)行。程序最后停止在0x00200380處,這與boot程序的最后一條指令地址一樣,說(shuō)明處理器執(zhí)行完了該程序的所有指令,操作過(guò)程如圖5所示。

    圖5 OpenOCD操作過(guò)程

    4 結(jié) 論

    當(dāng)前我國(guó)在嵌入式軟件開(kāi)發(fā)中所使用的調(diào)試工具多為國(guó)外產(chǎn)品,價(jià)格昂貴,不利于推廣。本文研究了嵌入式系統(tǒng)遠(yuǎn)程調(diào)試技術(shù),自主研發(fā)的嵌入式處理器設(shè)計(jì)了專門(mén)的DAP模塊,在調(diào)試器OpenOCD的基礎(chǔ)上設(shè)計(jì)了相應(yīng)的調(diào)試操作函數(shù)接口,實(shí)現(xiàn)了高效穩(wěn)定的遠(yuǎn)程調(diào)試系統(tǒng)。本文提出的遠(yuǎn)程調(diào)試設(shè)計(jì)方法對(duì)其他嵌入式調(diào)試系統(tǒng)設(shè)計(jì)具有一定參考價(jià)值。

    [1]馬艷.基于事件循環(huán)機(jī)制的嵌入式應(yīng)用級(jí)交叉調(diào)試器的研究[D].武漢:華中科技大學(xué),2013.

    [2] Wootton C.DebuggingYourApplication[C]//Beginning Samsung ARTIK.Apress,2016:325-331.

    [3]黃子晨,李德華.基于OpenOCD和JTAG的嵌入式交叉開(kāi)發(fā)環(huán)境[J].儀器儀表用戶,2012,18(2):470-478.

    [4]Mike Anderson.Using OpenOCD JTAG in Android Kernel Debugging:Making Android Driver Work-(PPT)[C]//Embeded systems conference 2013,San Jose,California,USA:ESC Silicon Valley,2013.

    [5]吳亞杰.基于EJTAG的OCD調(diào)試方案的研究與實(shí)現(xiàn)[D].青島:中國(guó)海洋大學(xué),2012.

    [6]徐文昌.SoC調(diào)試跟蹤系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2013.

    [7]張鵬,樊曉椏,黃小平.基于總線訪問(wèn)的片上調(diào)試方法研究[J].計(jì)算機(jī)測(cè)量與控制,2014(2):510-512,518.

    [8]況陽(yáng).支持USB的嵌入式軟件遠(yuǎn)程調(diào)試器的設(shè)計(jì)與實(shí)現(xiàn)[D].成都:電子科技大學(xué),2011.

    [9]Beneder R,Kramer M,Brejcha P.A two stage approach for a cost-effective and versatile debugging unit and starter platform[C]//Mechatronics and Embedded Systems and Applications(MESA),2012 IEEE/ASME International Conference on.IEEE,2012:330-335.

    [10]劉慧.基于SOC嵌入式處理器調(diào)試系統(tǒng)的開(kāi)發(fā)與研究[D].武漢:武漢紡織大學(xué),2013.

    [11]Joseph Yiu.ARM Cortex-M3權(quán)威指南[M].姚文祥.北京:清華大學(xué)出版社,2014.

    [12]Esliger J L,F(xiàn)oley D.Integrated circuit with secure boot from a debug access port and method therefor:U.S.Patent 8,156,317[P].2012-4-10.

    [13]王哲宇.基于CoreSight接口的ARM跨平臺(tái)調(diào)試系統(tǒng)的研究與實(shí)現(xiàn)[D].上海:華東師范大學(xué),2015.

    [14]Beneder R.Development of an OpenOCD compatible Debugger for ARM-CMARMJTAG[D].University of Applied Sciences Technikum Wien,2011.

    [15]殷紹劍,雷航,詹瑾瑜.嵌入式遠(yuǎn)程調(diào)試原理研究與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用與軟件,2014(6):240-243.

    [16]任艷偉.基于acoral操作系統(tǒng)的調(diào)試器的研究與設(shè)計(jì)[D].成都:電子科技大學(xué),2012.

    Research and design of embedded remote debugging system based on OpenOCD and DAP

    YU Zi?qi1,ZHANG Jian?xiong1,MA Peng1,YAN Yan?shan2
    (1.The32nd Research Institute of China Electronics Technology Group Corporation,Shanghai201808,China;2.China Aviation Radio Electronics Research Institute,Shanghai200241,China)

    In order to solve the problem of the compatibility between the traditional debugger and selfcontrollable chip.In view of the self-designed embedded CPU,this paper analyzes the principle of remote debugging,researches and designs a remote debugging system based on OpenOCD and DAP(debug access port).The system sends the debug command to the target chip through OpenOCD,these commands are sent to the JTAG port of the target chip by JTAG emulator and completes the debug operation through DAP generating bus transaction.The experiment and application show that this system supports insertion breakpoints,single-step execution,read or write registers and storage space and other functions,the system also can integrate with GDB as GDB server program to achieve more powerful debugging features,with strong compatibility,strong stability,good scalability.

    remote debugging;OpenOCD;debug access port;JTAG emulator

    TP302.1

    A

    1674-6236(2017)22-0149-05

    2016-10-23稿件編號(hào):201610134

    余梓奇(1992—),男,湖北武漢人,碩士研究生。研究方向:計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)、數(shù)字系統(tǒng)設(shè)計(jì)。

    猜你喜歡
    嵌入式指令調(diào)試
    聽(tīng)我指令:大催眠術(shù)
    ARINC661顯控指令快速驗(yàn)證方法
    LED照明產(chǎn)品歐盟ErP指令要求解讀
    基于航拍無(wú)人機(jī)的設(shè)計(jì)與調(diào)試
    電子制作(2018年12期)2018-08-01 00:47:44
    搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
    FOCAS功能在機(jī)床調(diào)試中的開(kāi)發(fā)與應(yīng)用
    無(wú)線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
    電子制作(2017年19期)2017-02-02 07:08:38
    嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
    調(diào)壓柜的調(diào)試與試運(yùn)行探討
    Altera加入嵌入式視覺(jué)聯(lián)盟
    国产野战对白在线观看| 日韩人妻高清精品专区| av女优亚洲男人天堂 | 亚洲一区高清亚洲精品| 国产精品自产拍在线观看55亚洲| 色综合亚洲欧美另类图片| 不卡一级毛片| 亚洲 欧美一区二区三区| 人妻久久中文字幕网| 久久午夜综合久久蜜桃| 久久香蕉精品热| 99re在线观看精品视频| 久久久久久久精品吃奶| 欧美另类亚洲清纯唯美| 亚洲精品一卡2卡三卡4卡5卡| 免费在线观看影片大全网站| 哪里可以看免费的av片| 亚洲人成电影免费在线| 亚洲国产欧美网| 亚洲av五月六月丁香网| 久久天堂一区二区三区四区| 99国产精品一区二区蜜桃av| 中出人妻视频一区二区| 亚洲va日本ⅴa欧美va伊人久久| 成人国产一区最新在线观看| 舔av片在线| 99精品久久久久人妻精品| 久久人妻av系列| 国产乱人伦免费视频| 成人三级黄色视频| 亚洲欧美日韩卡通动漫| 国产激情久久老熟女| 免费看光身美女| 日本成人三级电影网站| 欧美精品啪啪一区二区三区| 国产精品一区二区精品视频观看| 亚洲va日本ⅴa欧美va伊人久久| 超碰成人久久| 成人欧美大片| 日本三级黄在线观看| 国产欧美日韩一区二区精品| 99在线视频只有这里精品首页| 欧美成狂野欧美在线观看| 久久午夜亚洲精品久久| 久久精品91无色码中文字幕| a级毛片在线看网站| 久久久久久久精品吃奶| 午夜亚洲福利在线播放| 国产一区二区三区在线臀色熟女| av视频在线观看入口| 国产成人一区二区三区免费视频网站| 亚洲午夜理论影院| 午夜影院日韩av| 欧美性猛交╳xxx乱大交人| 亚洲人与动物交配视频| 中文资源天堂在线| 亚洲成人免费电影在线观看| 国内揄拍国产精品人妻在线| 男插女下体视频免费在线播放| 亚洲欧洲精品一区二区精品久久久| 免费在线观看视频国产中文字幕亚洲| 一a级毛片在线观看| 久久天堂一区二区三区四区| 欧美成人一区二区免费高清观看 | 老司机在亚洲福利影院| 久久天堂一区二区三区四区| 免费看十八禁软件| 欧美一级毛片孕妇| 亚洲欧美精品综合一区二区三区| 香蕉av资源在线| 国产精品 国内视频| 丰满人妻熟妇乱又伦精品不卡| 白带黄色成豆腐渣| 深夜精品福利| bbb黄色大片| 日韩大尺度精品在线看网址| 欧美又色又爽又黄视频| 最近视频中文字幕2019在线8| 亚洲欧美激情综合另类| 国产亚洲精品av在线| 久久久久亚洲av毛片大全| 天天添夜夜摸| 亚洲欧美激情综合另类| 久久久久国产精品人妻aⅴ院| 99re在线观看精品视频| 男人的好看免费观看在线视频| 国产aⅴ精品一区二区三区波| 欧美日韩精品网址| 好男人电影高清在线观看| 久久久久久九九精品二区国产| 亚洲av成人不卡在线观看播放网| 欧美日韩综合久久久久久 | 国产单亲对白刺激| aaaaa片日本免费| 色av中文字幕| 99久国产av精品| 法律面前人人平等表现在哪些方面| 成熟少妇高潮喷水视频| 亚洲精品456在线播放app | 免费观看人在逋| 亚洲欧美一区二区三区黑人| 精品一区二区三区视频在线 | 久久久久久久精品吃奶| 91在线精品国自产拍蜜月 | 床上黄色一级片| 我要搜黄色片| 露出奶头的视频| 国产精品久久久人人做人人爽| 一二三四在线观看免费中文在| 国产视频一区二区在线看| 精品福利观看| 精品不卡国产一区二区三区| 97碰自拍视频| 国产成人系列免费观看| 久久婷婷人人爽人人干人人爱| 日本精品一区二区三区蜜桃| 欧美性猛交黑人性爽| 亚洲av第一区精品v没综合| 日日干狠狠操夜夜爽| 国产高清有码在线观看视频| 别揉我奶头~嗯~啊~动态视频| 国产欧美日韩精品一区二区| 亚洲成人精品中文字幕电影| 亚洲aⅴ乱码一区二区在线播放| 精品久久久久久成人av| 国内精品美女久久久久久| 欧美性猛交黑人性爽| 亚洲成a人片在线一区二区| 久久精品亚洲精品国产色婷小说| 18禁国产床啪视频网站| 非洲黑人性xxxx精品又粗又长| 特级一级黄色大片| 免费电影在线观看免费观看| 欧美色欧美亚洲另类二区| 免费在线观看视频国产中文字幕亚洲| 国产欧美日韩一区二区三| 成人无遮挡网站| 国产高清videossex| 日本黄色视频三级网站网址| 淫秽高清视频在线观看| 亚洲avbb在线观看| 麻豆久久精品国产亚洲av| 国产一区二区激情短视频| 99久久国产精品久久久| 中文字幕高清在线视频| 久久这里只有精品中国| 禁无遮挡网站| 国产免费男女视频| 免费电影在线观看免费观看| 精品一区二区三区四区五区乱码| 亚洲av成人一区二区三| 变态另类成人亚洲欧美熟女| 国产午夜福利久久久久久| 搡老岳熟女国产| 中文字幕人成人乱码亚洲影| 色综合亚洲欧美另类图片| 色噜噜av男人的天堂激情| 午夜福利欧美成人| 国产精品,欧美在线| 美女黄网站色视频| 欧美性猛交╳xxx乱大交人| 毛片女人毛片| 欧美乱妇无乱码| 国产精品亚洲av一区麻豆| 日日夜夜操网爽| 国产精品一区二区三区四区免费观看 | 成人特级黄色片久久久久久久| 日本精品一区二区三区蜜桃| 婷婷丁香在线五月| 精品不卡国产一区二区三区| 国内毛片毛片毛片毛片毛片| 国内久久婷婷六月综合欲色啪| 成人av一区二区三区在线看| 母亲3免费完整高清在线观看| 亚洲在线观看片| 精品人妻1区二区| 两个人视频免费观看高清| 欧美国产日韩亚洲一区| 神马国产精品三级电影在线观看| 欧美激情在线99| 国产高清三级在线| 少妇人妻一区二区三区视频| 国产欧美日韩一区二区精品| 白带黄色成豆腐渣| 中文字幕熟女人妻在线| 制服人妻中文乱码| 久久国产乱子伦精品免费另类| 18美女黄网站色大片免费观看| 高潮久久久久久久久久久不卡| 久久欧美精品欧美久久欧美| 免费看十八禁软件| 成人精品一区二区免费| 宅男免费午夜| 亚洲avbb在线观看| 国产精品影院久久| 久久性视频一级片| 国产精品一区二区三区四区免费观看 | 亚洲精品粉嫩美女一区| 一卡2卡三卡四卡精品乱码亚洲| 亚洲精品在线美女| 欧美成人性av电影在线观看| 亚洲在线观看片| 天天躁狠狠躁夜夜躁狠狠躁| 亚洲五月婷婷丁香| 两性午夜刺激爽爽歪歪视频在线观看| 哪里可以看免费的av片| 国产精品永久免费网站| 亚洲成人中文字幕在线播放| 国产麻豆成人av免费视频| 欧美乱色亚洲激情| 精品人妻1区二区| 宅男免费午夜| 99热只有精品国产| 国产成人精品无人区| 欧美乱妇无乱码| 成人三级做爰电影| 国产激情偷乱视频一区二区| 国产1区2区3区精品| 国产视频一区二区在线看| 女人高潮潮喷娇喘18禁视频| 丰满人妻一区二区三区视频av | 熟女电影av网| 人人妻人人澡欧美一区二区| 男女床上黄色一级片免费看| 两性夫妻黄色片| 亚洲人成网站高清观看| 亚洲精品在线美女| www日本黄色视频网| 我要搜黄色片| 日韩有码中文字幕| 国内精品久久久久精免费| 老司机深夜福利视频在线观看| 18禁观看日本| АⅤ资源中文在线天堂| 久久久久久久午夜电影| 最近最新免费中文字幕在线| 久9热在线精品视频| 97超级碰碰碰精品色视频在线观看| 精品久久久久久久久久免费视频| 亚洲色图av天堂| 99在线人妻在线中文字幕| 国产v大片淫在线免费观看| 亚洲电影在线观看av| 午夜亚洲福利在线播放| 欧美最黄视频在线播放免费| 国产免费av片在线观看野外av| 国产日本99.免费观看| 熟女电影av网| 中亚洲国语对白在线视频| 看片在线看免费视频| 在线永久观看黄色视频| 99久久综合精品五月天人人| 此物有八面人人有两片| 久9热在线精品视频| 亚洲av五月六月丁香网| 欧美日韩乱码在线| 午夜日韩欧美国产| 99在线人妻在线中文字幕| 亚洲精品乱码久久久v下载方式 | 亚洲精品美女久久久久99蜜臀| 欧美成人免费av一区二区三区| 成人av一区二区三区在线看| 日本一二三区视频观看| 老熟妇乱子伦视频在线观看| 狠狠狠狠99中文字幕| 精品国内亚洲2022精品成人| 亚洲18禁久久av| 校园春色视频在线观看| 国产精品久久久av美女十八| 国产成人av教育| 国产精品1区2区在线观看.| a级毛片a级免费在线| 天堂影院成人在线观看| 久久亚洲精品不卡| www国产在线视频色| 国内少妇人妻偷人精品xxx网站 | 亚洲自拍偷在线| 1024手机看黄色片| 变态另类成人亚洲欧美熟女| 日本a在线网址| 真人做人爱边吃奶动态| 亚洲18禁久久av| 色尼玛亚洲综合影院| 日韩精品青青久久久久久| 日本 欧美在线| 免费在线观看视频国产中文字幕亚洲| 噜噜噜噜噜久久久久久91| 怎么达到女性高潮| 亚洲av免费在线观看| 国产v大片淫在线免费观看| 国产乱人视频| 女警被强在线播放| 动漫黄色视频在线观看| 美女cb高潮喷水在线观看 | 亚洲片人在线观看| 久久中文字幕一级| 成人av在线播放网站| 日韩欧美在线乱码| av在线蜜桃| 美女黄网站色视频| 欧美成人性av电影在线观看| 精品一区二区三区四区五区乱码| 高潮久久久久久久久久久不卡| 亚洲国产高清在线一区二区三| 日本与韩国留学比较| 精品国产三级普通话版| 男女视频在线观看网站免费| 一本精品99久久精品77| 在线十欧美十亚洲十日本专区| 最好的美女福利视频网| 国产高清视频在线观看网站| 免费大片18禁| 狂野欧美白嫩少妇大欣赏| 少妇的逼水好多| 国产视频一区二区在线看| 亚洲熟妇中文字幕五十中出| 舔av片在线| 国产精品久久久久久人妻精品电影| 欧美另类亚洲清纯唯美| 成年版毛片免费区| 男女做爰动态图高潮gif福利片| av女优亚洲男人天堂 | 88av欧美| tocl精华| 午夜精品一区二区三区免费看| 99国产极品粉嫩在线观看| 免费大片18禁| 99热这里只有精品一区 | 欧美日韩国产亚洲二区| 12—13女人毛片做爰片一| 国产一区二区在线观看日韩 | 国产三级在线视频| 欧美成人性av电影在线观看| 99久久成人亚洲精品观看| 亚洲av成人不卡在线观看播放网| 51午夜福利影视在线观看| 99久久成人亚洲精品观看| 1000部很黄的大片| 免费观看人在逋| svipshipincom国产片| 国产精品综合久久久久久久免费| 国产一区二区三区在线臀色熟女| 美女扒开内裤让男人捅视频| 精品一区二区三区视频在线观看免费| 国产午夜精品久久久久久| xxxwww97欧美| 亚洲精品在线观看二区| 国产成人aa在线观看| 日本黄大片高清| 亚洲五月婷婷丁香| 老汉色∧v一级毛片| 男人的好看免费观看在线视频| 日本成人三级电影网站| 日韩高清综合在线| 国产亚洲精品久久久久久毛片| 在线观看午夜福利视频| 99视频精品全部免费 在线 | 久久欧美精品欧美久久欧美| 精品无人区乱码1区二区| 久久久久久人人人人人| 午夜激情福利司机影院| 日韩欧美国产一区二区入口| 国产日本99.免费观看| 97碰自拍视频| 国产69精品久久久久777片 | 亚洲av成人精品一区久久| 久久精品国产清高在天天线| 观看免费一级毛片| 日本精品一区二区三区蜜桃| 丁香六月欧美| 久久久久久久午夜电影| 在线观看舔阴道视频| 一个人免费在线观看的高清视频| 香蕉久久夜色| 精品免费久久久久久久清纯| 特级一级黄色大片| 亚洲欧美日韩卡通动漫| 一级黄色大片毛片| 俺也久久电影网| 又紧又爽又黄一区二区| 91av网站免费观看| 精品一区二区三区av网在线观看| 熟女电影av网| 亚洲av电影在线进入| 欧美日韩亚洲国产一区二区在线观看| 午夜两性在线视频| 90打野战视频偷拍视频| 精品日产1卡2卡| 网址你懂的国产日韩在线| 美女午夜性视频免费| a在线观看视频网站| 日日夜夜操网爽| avwww免费| 99久久国产精品久久久| 小说图片视频综合网站| 舔av片在线| 天堂网av新在线| 91av网一区二区| 国产真实乱freesex| 亚洲欧美精品综合一区二区三区| 色综合站精品国产| 伦理电影免费视频| 女人高潮潮喷娇喘18禁视频| 男人的好看免费观看在线视频| 国产精品99久久久久久久久| 国产黄a三级三级三级人| 精品日产1卡2卡| 国产爱豆传媒在线观看| 操出白浆在线播放| 两个人的视频大全免费| 精品欧美国产一区二区三| 国产一级毛片七仙女欲春2| 亚洲av第一区精品v没综合| 亚洲最大成人中文| 久久久久国内视频| 999精品在线视频| 18禁黄网站禁片午夜丰满| 男人舔奶头视频| 亚洲成a人片在线一区二区| 久久久国产欧美日韩av| 久久伊人香网站| 国产免费av片在线观看野外av| 久久人妻av系列| 中文字幕人妻丝袜一区二区| 成人一区二区视频在线观看| 舔av片在线| 亚洲欧美日韩东京热| 69av精品久久久久久| 国产乱人伦免费视频| 在线观看午夜福利视频| 一区二区三区高清视频在线| 免费在线观看亚洲国产| 亚洲国产看品久久| 亚洲天堂国产精品一区在线| 女生性感内裤真人,穿戴方法视频| 中文字幕久久专区| 久久中文字幕人妻熟女| 在线十欧美十亚洲十日本专区| 少妇裸体淫交视频免费看高清| 韩国av一区二区三区四区| 黄频高清免费视频| 亚洲专区国产一区二区| 麻豆成人午夜福利视频| 女人高潮潮喷娇喘18禁视频| xxx96com| 床上黄色一级片| 黑人操中国人逼视频| 香蕉丝袜av| 欧美乱色亚洲激情| 亚洲国产欧美一区二区综合| av在线蜜桃| 午夜激情福利司机影院| 国产又色又爽无遮挡免费看| 最新美女视频免费是黄的| 久久精品影院6| 亚洲国产欧美网| 最近最新中文字幕大全免费视频| 国产亚洲av高清不卡| 久久久色成人| 午夜免费成人在线视频| 欧美极品一区二区三区四区| 宅男免费午夜| 亚洲av片天天在线观看| a级毛片a级免费在线| 国产激情偷乱视频一区二区| 免费电影在线观看免费观看| 老司机福利观看| 老司机深夜福利视频在线观看| 黄片小视频在线播放| 夜夜夜夜夜久久久久| 国产精品久久久久久久电影 | 国产一区在线观看成人免费| 日本一二三区视频观看| 一个人看的www免费观看视频| 久久久久久国产a免费观看| 国产高清videossex| 大型黄色视频在线免费观看| 高清毛片免费观看视频网站| 搡老熟女国产l中国老女人| 亚洲18禁久久av| 最新在线观看一区二区三区| 亚洲一区二区三区色噜噜| 日本a在线网址| 免费一级毛片在线播放高清视频| 18禁黄网站禁片免费观看直播| 很黄的视频免费| 人妻夜夜爽99麻豆av| 色精品久久人妻99蜜桃| 国产毛片a区久久久久| 一个人免费在线观看电影 | 19禁男女啪啪无遮挡网站| 法律面前人人平等表现在哪些方面| 精品电影一区二区在线| 久久性视频一级片| 亚洲av五月六月丁香网| 最近最新中文字幕大全免费视频| 国产精品乱码一区二三区的特点| 久久香蕉国产精品| 级片在线观看| 99久久精品热视频| 午夜福利成人在线免费观看| 日本与韩国留学比较| 成年人黄色毛片网站| 成年版毛片免费区| 综合色av麻豆| 夜夜躁狠狠躁天天躁| 亚洲国产看品久久| 国产视频内射| 97碰自拍视频| 精品久久久久久成人av| 国产黄a三级三级三级人| 又黄又粗又硬又大视频| 青草久久国产| 最好的美女福利视频网| 国产aⅴ精品一区二区三区波| 欧美一区二区国产精品久久精品| 老司机在亚洲福利影院| 亚洲人成电影免费在线| 亚洲片人在线观看| 国产激情欧美一区二区| 69av精品久久久久久| 三级国产精品欧美在线观看 | 18禁国产床啪视频网站| 亚洲国产欧美网| 男女视频在线观看网站免费| ponron亚洲| 精品日产1卡2卡| 天堂√8在线中文| 一本综合久久免费| 两性夫妻黄色片| 国产野战对白在线观看| 欧美大码av| 亚洲狠狠婷婷综合久久图片| 国产精品亚洲一级av第二区| 热99re8久久精品国产| 99久久精品热视频| 人人妻人人看人人澡| 中国美女看黄片| 欧美+亚洲+日韩+国产| 久久伊人香网站| 琪琪午夜伦伦电影理论片6080| 国产黄片美女视频| 黄色片一级片一级黄色片| 99久久精品热视频| 黑人操中国人逼视频| 成人无遮挡网站| 最好的美女福利视频网| 国产 一区 欧美 日韩| av在线天堂中文字幕| 黑人巨大精品欧美一区二区mp4| aaaaa片日本免费| 一进一出好大好爽视频| 国产伦一二天堂av在线观看| 国产亚洲精品久久久com| 国产精品久久久av美女十八| 国内精品久久久久精免费| 亚洲欧美日韩卡通动漫| 久久久久久人人人人人| 国产精品永久免费网站| 露出奶头的视频| 午夜两性在线视频| 亚洲精品456在线播放app | 欧美乱色亚洲激情| 禁无遮挡网站| 美女大奶头视频| 亚洲 欧美一区二区三区| 母亲3免费完整高清在线观看| 国产乱人视频| av黄色大香蕉| 偷拍熟女少妇极品色| 国产一级毛片七仙女欲春2| 老司机午夜福利在线观看视频| 变态另类丝袜制服| 亚洲色图av天堂| 国产日本99.免费观看| 免费电影在线观看免费观看| 免费看光身美女| 国产美女午夜福利| 国产精品久久久人人做人人爽| 国产熟女xx| 久久九九热精品免费| 一a级毛片在线观看| 真人做人爱边吃奶动态| a在线观看视频网站| 亚洲自拍偷在线| 亚洲 欧美一区二区三区| 国产精品久久视频播放| 国产精品影院久久| 色综合欧美亚洲国产小说| 久久这里只有精品中国| 亚洲欧美日韩高清在线视频| 草草在线视频免费看| 亚洲天堂国产精品一区在线| 19禁男女啪啪无遮挡网站| 日韩欧美在线乱码| 亚洲欧美一区二区三区黑人| 国产精品99久久久久久久久| 18禁美女被吸乳视频| 三级男女做爰猛烈吃奶摸视频| 男女视频在线观看网站免费| 免费无遮挡裸体视频| 嫩草影院入口| 一个人看的www免费观看视频| 国产精品久久久久久人妻精品电影| 熟女电影av网| 99热6这里只有精品| 日韩欧美三级三区| 亚洲国产精品合色在线| 国产麻豆成人av免费视频| 亚洲,欧美精品.| 免费看光身美女| 久久这里只有精品19| 国产私拍福利视频在线观看| 一个人看视频在线观看www免费 | 麻豆一二三区av精品|