久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實戰(zhàn)洞察。

嵌入式Linux設(shè)備樹DTS語法詳解與實戰(zhàn)配置指南

嵌入式Linux設(shè)備樹DTS語法詳解與實戰(zhàn)配置指南 1. 項目概述從“硬編碼”到“軟描述”的進(jìn)化如果你是從單片機(jī)或者裸機(jī)開發(fā)轉(zhuǎn)向嵌入式Linux的那么第一次接觸“設(shè)備樹”這個概念時大概率會感到困惑。在傳統(tǒng)的單片機(jī)開發(fā)中我們習(xí)慣于在代碼里直接寫死硬件信息比如UART1的基地址是0x40013800使用USART1_IRQn這個中斷號連接的GPIO是PA9和PA10。這種方式簡單直接但問題也很明顯——代碼和具體的硬件板卡高度耦合。換一塊不同外設(shè)布局的核心板你就得去代碼里到處找這些“魔數(shù)”Magic Number并修改稍有不慎就會出錯維護(hù)起來簡直是噩夢。設(shè)備樹Device Tree的出現(xiàn)就是為了解決這個“硬編碼”的頑疾。它的核心思想是“描述”而非“編碼”。我們可以把設(shè)備樹理解為一個硬件資源的“配置文件”或“描述文件”它用一種結(jié)構(gòu)化的文本語言DTS將CPU、內(nèi)存、總線、外設(shè)控制器、GPIO、中斷等硬件拓?fù)浜蛯傩郧逦?、?dú)立地描述出來。然后在系統(tǒng)啟動的早期由Bootloader將這個文本文件編譯成的二進(jìn)制文件DTB傳遞給Linux內(nèi)核。內(nèi)核解析這個DTB動態(tài)地根據(jù)其中的描述去探測和初始化硬件從而驅(qū)動整個系統(tǒng)。所以當(dāng)我們談?wù)摗霸O(shè)備樹文件 DTS”時我們實際上是在討論整個設(shè)備樹技術(shù)體系中最核心的“源代碼”部分。它是人類可讀、可編輯的硬件描述藍(lán)圖。掌握DTS文件的語法和編寫方法是深入理解嵌入式Linux驅(qū)動開發(fā)和系統(tǒng)移植的必經(jīng)之路。無論你是驅(qū)動工程師、系統(tǒng)移植工程師還是對底層感興趣的應(yīng)用開發(fā)者讀懂并會修改DTS都能讓你對系統(tǒng)的掌控力提升一個檔次。接下來我們就拋開那些抽象的概念直接深入到DTS文件的語法細(xì)節(jié)和實戰(zhàn)技巧中去。2. DTS文件語法核心精講DTS文件看起來像一種自定義的配置文件但它其實有自己嚴(yán)謹(jǐn)?shù)恼Z法結(jié)構(gòu)。理解這些語法是編寫和調(diào)試設(shè)備樹的基礎(chǔ)。2.1 節(jié)點(diǎn)Node與屬性Property萬物皆節(jié)點(diǎn)設(shè)備樹是一種樹形結(jié)構(gòu)這棵樹由節(jié)點(diǎn)Node和屬性Property構(gòu)成。你可以把它想象成一個公司的組織架構(gòu)圖公司是根節(jié)點(diǎn)下面有研發(fā)部、市場部等子節(jié)點(diǎn)每個部門又有自己的屬性如人數(shù)、預(yù)算等。節(jié)點(diǎn)是設(shè)備樹的基本組成單元用花括號{}定義。每個節(jié)點(diǎn)都有一個名字node-name和一個可選的單元地址unit-address。// 定義一個名為 uart1 的節(jié)點(diǎn)單元地址為 fe001000 uart1: serialfe001000 { // 節(jié)點(diǎn)內(nèi)容屬性和子節(jié)點(diǎn)放在這里 };上面的uart1:是一個標(biāo)簽label它相當(dāng)于給這個節(jié)點(diǎn)起了一個別名方便在其他地方通過uart1來引用它這是避免硬編碼地址的關(guān)鍵機(jī)制。屬性是附著在節(jié)點(diǎn)上的“鍵值對”key-value pairs用于描述該節(jié)點(diǎn)的特性。值可以是多種類型字符串String:compatible “fsl,imx6ull-uart”, “fsl,imx6q-uart”;32位無符號整數(shù)u32:reg 0xfe001000 0x1000;字符串列表String List: 如上例的compatible多個字符串用逗號隔開。二進(jìn)制數(shù)據(jù)Byte String:local-mac-address [00 11 22 33 44 55];布爾值Empty: 一個沒有值的屬性本身代表“真”例如dma-coherent;表示該設(shè)備支持一致性DMA。節(jié)點(diǎn)引用Phandle: 通過label引用其他節(jié)點(diǎn)例如interrupt-parent gic;。2.2 常用標(biāo)準(zhǔn)屬性詳解設(shè)備樹有大量預(yù)定義的屬性這里介紹幾個最核心、必會的compatible兼容性:這是設(shè)備樹中最重要的屬性沒有之一。它定義了設(shè)備與哪個驅(qū)動程序綁定。內(nèi)核啟動時會遍歷所有設(shè)備節(jié)點(diǎn)為每個節(jié)點(diǎn)的compatible屬性值在已注冊的驅(qū)動程序中尋找最匹配的那一個。值通常由“制造商,型號”組成越具體越優(yōu)先。compatible “ti,omap2-i2c”; // 首選匹配 // 如果找不到 omap2-i2c 的驅(qū)動會嘗試匹配更通用的 i2c 驅(qū)動 compatible “ti,omap2-i2c”, “i2c-bus”;reg寄存器區(qū)域: 描述設(shè)備占用的內(nèi)存地址空間。它的值通常是一個或多個(地址, 長度)對。地址和長度的具體含義需要參考其父節(jié)點(diǎn)的#address-cells和#size-cells屬性來決定。// 假設(shè)父節(jié)點(diǎn)定義了 #address-cells 1; #size-cells 1; reg 0xfe001000 0x1000; // 表示從地址 0xfe001000 開始長度為 0x1000 字節(jié)的區(qū)域。#address-cells和#size-cells: 這兩個屬性不是描述設(shè)備本身而是描述父節(jié)點(diǎn)如何解釋其子節(jié)點(diǎn)的reg屬性。它們定義了子節(jié)點(diǎn)reg屬性中“地址”和“長度”字段分別占用多少個32位數(shù)字cell。soc { #address-cells 1; // 子節(jié)點(diǎn) reg 的地址字段占1個cell #size-cells 1; // 子節(jié)點(diǎn) reg 的長度字段占1個cell serialfe001000 { reg 0xfe001000 0x1000; // 因此這個reg被解釋為地址0xfe001000 長度0x1000 }; };對于內(nèi)存節(jié)點(diǎn)#address-cells通常為264位系統(tǒng)#size-cells通常為2。interrupts和interrupt-parent: 描述設(shè)備的中斷信息。interrupt-parent指向該設(shè)備所屬的中斷控制器節(jié)點(diǎn)通常用標(biāo)簽引用如gic。interrupts屬性則描述中斷號、觸發(fā)類型等具體格式由其中斷控制器決定。interrupt-parent gic; // 父中斷控制器是 gic interrupts 0 88 IRQ_TYPE_LEVEL_HIGH; // 含義需查GIC控制器文檔通常為 中斷類型 SPI/PPI, 中斷號, 觸發(fā)方式status: 描述設(shè)備狀態(tài)。常用值有“okay”或“ok”: 設(shè)備可操作?!癲isabled”: 設(shè)備存在但當(dāng)前被禁用。“fail”,“failed”: 設(shè)備檢測到嚴(yán)重錯誤。“reserved”: 設(shè)備被保留給其他用途如安全世界。model和compatible(在根節(jié)點(diǎn)): 根節(jié)點(diǎn)的model描述板卡型號compatible描述板卡兼容的機(jī)器類型用于匹配內(nèi)核的Machine Description。/ { model “Freescale i.MX6 UltraLite 14x14 EVK Board”; compatible “fsl,imx6ull-14x14-evk”, “fsl,imx6ull”; };2.3 特殊節(jié)點(diǎn)與路徑根節(jié)點(diǎn)/: 設(shè)備樹的起點(diǎn)用單個斜杠表示。所有其他節(jié)點(diǎn)都是它的后代。/aliases節(jié)點(diǎn): 定義全局別名方便通過短名訪問長路徑節(jié)點(diǎn)。aliases { serial0 uart1; // 現(xiàn)在可以通過 /aliases/serial0 或別名 serial0 找到 uart1 ethernet0 fec1; };/chosen節(jié)點(diǎn): 不描述真實硬件而是由Bootloader向內(nèi)核傳遞運(yùn)行時參數(shù)如內(nèi)核啟動參數(shù)(bootargs)、標(biāo)準(zhǔn)輸入輸出設(shè)備(stdout-path)。chosen { bootargs “consolettymxc0,115200 earlyconec_imx6q,0x30860000,115200”; stdout-path uart1; };/memory節(jié)點(diǎn): 描述系統(tǒng)的物理內(nèi)存布局這是必須的節(jié)點(diǎn)。memory80000000 { device_type “memory”; reg 0x80000000 0x20000000; // 內(nèi)存從 0x80000000 開始大小為 512MB };節(jié)點(diǎn)路徑: 類似于文件系統(tǒng)路徑可以唯一標(biāo)識一個節(jié)點(diǎn)。例如/soc/aips-bus02000000/uart02020000。注意屬性名中使用的破折號-是標(biāo)準(zhǔn)寫法而不是下劃線_。例如device_type、interrupt-parent。雖然內(nèi)核有時也能解析下劃線但遵循標(biāo)準(zhǔn)可以避免不必要的麻煩。3. DTS文件的組織、編譯與調(diào)試實戰(zhàn)一個復(fù)雜的系統(tǒng)其設(shè)備樹描述可能會非常龐大。直接寫在一個文件里會難以維護(hù)。因此設(shè)備樹提供了強(qiáng)大的模塊化機(jī)制。3.1 DTSI頭文件與模塊化設(shè)計.dtsi(Device Tree Source Include) 文件類似于C語言的頭文件.h。它用于存放可重用的部分通常是SoC系統(tǒng)級芯片級別的通用定義。一個具體的板卡.dts文件通過#include來包含一個或多個.dtsi文件然后在此基礎(chǔ)上進(jìn)行覆蓋、修改和添加以描述這塊特定板卡的差異。典型結(jié)構(gòu)arch/arm64/boot/dts/vendor/soc-model.dtsi: 描述SoC內(nèi)部所有核心資源CPU集群、內(nèi)存控制器、各種總線、通用外設(shè)控制器如I2C0, SPI0, UART0等。這是由芯片廠商提供的。arch/arm64/boot/dts/vendor/board-model.dts: 描述具體板卡。它首先包含SoC的dtsi然后通過label引用并覆蓋dtsi中的節(jié)點(diǎn)使能或禁用某些外設(shè)status “okay”/“disabled”。修改外設(shè)的引腳復(fù)用pinctrl配置。添加SoC上沒有的、板級特有的設(shè)備如LED、按鍵、以太網(wǎng)PHY芯片、音頻編解碼器等。設(shè)置正確的時鐘頻率、電壓等板級參數(shù)。示例使能一個在dtsi中默認(rèn)關(guān)閉的I2C控制器并添加一個板載EEPROM設(shè)備// 板卡 .dts 文件 #include “soc-model.dtsi” // 包含SoC定義 i2c1 { // 引用SoC dtsi中定義的 i2c1 節(jié)點(diǎn) status “okay”; // 覆蓋狀態(tài)使能該控制器 clock-frequency 100000; // 設(shè)置I2C總線速度為100kHz eeprom50 { // 在使能的i2c1總線下添加一個子設(shè)備節(jié)點(diǎn) compatible “atmel,24c02”; reg 0x50; // I2C設(shè)備地址 pagesize 8; }; };3.2 DTC從DTS到DTB的編譯工具鏈DTS/DTSI是人類可讀的文本文件需要編譯成二進(jìn)制格式的DTB (Device Tree Blob) 文件才能被Bootloader和內(nèi)核使用。這個編譯器就是DTC (Device Tree Compiler)。編譯命令# 將 .dts 編譯為 .dtb dtc -I dts -O dtb -o my-board.dtb my-board.dts # 將 .dtb 反編譯為 .dts (用于分析和調(diào)試) dtc -I dtb -O dts -o my-board-decompiled.dts my-board.dtb在內(nèi)核源碼樹中通常不需要直接調(diào)用dtc使用make dtbs命令即可編譯所有配置的dts文件。常見編譯錯誤Syntax error: 語法錯誤檢查括號、分號、節(jié)點(diǎn)格式。Undefined label: 使用了未定義的節(jié)點(diǎn)標(biāo)簽xxx檢查標(biāo)簽名是否正確或?qū)?yīng)的節(jié)點(diǎn)是否被禁用status “disabled”的節(jié)點(diǎn)標(biāo)簽可能無法被引用。Duplicate node name: 重復(fù)的節(jié)點(diǎn)名確保同一父節(jié)點(diǎn)下子節(jié)點(diǎn)名含地址唯一。scripts/dtc/dtc: No such file or directory: 這通常是在內(nèi)核源碼外單獨(dú)使用dtc命令時dtc工具未安裝。需要安裝device-tree-compiler包Ubuntu/Debian或從內(nèi)核scripts/dtc/目錄下編譯生成。3.3 調(diào)試技巧如何查看與驗證設(shè)備樹設(shè)備樹出了問題驅(qū)動無法加載如何排查以下是一些必備的調(diào)試手段內(nèi)核啟動日志內(nèi)核在解析DTB時會打印大量信息。使用dmesg | grep -i device或dmesg | grep -i dts查看。重點(diǎn)關(guān)注錯誤和警告信息。查看/proc/device-tree這是一個神奇的目錄。系統(tǒng)啟動后內(nèi)核會將解析后的設(shè)備樹以目錄和文件的形式映射到這里。你可以用ls和cat命令直接查看節(jié)點(diǎn)的屬性和結(jié)構(gòu)。ls /proc/device-tree/ cat /proc/device-tree/model cat /proc/device-tree/soc/i2cfe001000/status注意這里顯示的是二進(jìn)制屬性對于reg、interrupts等非文本屬性cat出來是亂碼需要用hexdump查看。使用fdtdump工具這個工具可以直觀地以十六進(jìn)制和部分解析的形式查看DTB文件內(nèi)容比直接反編譯的dts更緊湊。fdtdump my-board.dtb | less驅(qū)動中的OFOpen FirmwareAPI在驅(qū)動代碼中可以使用內(nèi)核提供的OF API來讀取設(shè)備樹中的屬性這是驅(qū)動獲取硬件配置信息的標(biāo)準(zhǔn)方式。在驅(qū)動probe函數(shù)中添加打印可以確認(rèn)是否成功讀取到預(yù)期值。// 示例在驅(qū)動中讀取 compatible 和 reg 屬性 pr_info(“Device compatible: %s\n”, of_device_get_match_data(pdev-dev)-compatible); struct resource *res platform_get_resource(pdev, IORESOURCE_MEM, 0); pr_info(“Registers at %pa, size %pa\n”, res-start, res-end);實操心得調(diào)試設(shè)備樹相關(guān)問題時一個非常有效的思路是“對比法”。找一份能正常工作的、相近板卡的DTS文件與你正在編寫的文件進(jìn)行逐行對比尤其是compatible字符串、reg地址、中斷號、pinctrl配置等關(guān)鍵屬性。90%的問題都出在這些細(xì)節(jié)的差異上。4. 典型外設(shè)節(jié)點(diǎn)配置實例解析理論說再多不如看幾個實實在在的例子。我們以最常見的幾種外設(shè)為例拆解其DTS節(jié)點(diǎn)的標(biāo)準(zhǔn)寫法。4.1 UART串口控制器串口是調(diào)試和輸出的生命線其配置相對標(biāo)準(zhǔn)。uart1 { // 引用SoC dtsi中定義的uart1 status “okay”; pinctrl-names “default”; pinctrl-0 pinctrl_uart1; // 引用pinctrl節(jié)點(diǎn)配置TX、RX等引腳功能 // 通常不需要指定波特率波特率由用戶態(tài)程序設(shè)置 };關(guān)鍵點(diǎn)pinctrl-0引用的pinctrl_uart1必須在pinctrl子系統(tǒng)中正確定義它描述了引腳復(fù)用和電氣特性。這是設(shè)備樹中最容易出錯的地方之一必須與硬件原理圖嚴(yán)格對應(yīng)。dma相關(guān)屬性如dmas,dma-names在需要DMA傳輸時才配置。4.2 I2C控制器及從設(shè)備I2C總線可以掛載多個設(shè)備設(shè)備樹需要描述總線和從設(shè)備。i2c1 { status “okay”; clock-frequency 400000; // 設(shè)置I2C總線頻率400kHz pinctrl-names “default”; pinctrl-0 pinctrl_i2c1; // 板載EEPROM eeprom50 { compatible “microchip,24lc02”, “atmel,24c02”; reg 0x50; // 7位I2C地址 pagesize 16; }; // 觸摸屏控制器 touchscreen38 { compatible “edt,edt-ft5x06”; reg 0x38; interrupt-parent gpio1; // 觸摸中斷引腳連接到的GPIO控制器 interrupts 9 IRQ_TYPE_EDGE_FALLING; // GPIO1_9下降沿觸發(fā) reset-gpios gpio1 8 GPIO_ACTIVE_LOW; // 復(fù)位引腳 }; };關(guān)鍵點(diǎn)I2C從設(shè)備節(jié)點(diǎn)必須位于I2C控制器節(jié)點(diǎn)之下。reg屬性是設(shè)備的7位I2C地址通常左移一位后的值即硬件地址本身。對于需要中斷或GPIO控制的從設(shè)備如觸摸屏需要在節(jié)點(diǎn)內(nèi)配置interrupts和xxx-gpios屬性。4.3 以太網(wǎng)控制器與PHY以太網(wǎng)配置涉及MAC控制器和外部PHY芯片兩者都需要描述。fec1 { // 以太網(wǎng)MAC控制器 status “okay”; pinctrl-names “default”; pinctrl-0 pinctrl_enet1; phy-mode “rmii”; // 指定PHY接口模式如 rmii, rgmii phy-handle ephy0; // 指向PHY設(shè)備節(jié)點(diǎn) phy-reset-gpios gpio5 9 GPIO_ACTIVE_LOW; // PHY復(fù)位引腳 phy-reset-duration 100; // 復(fù)位時間單位ms mdio { // MDIO總線用于控制PHY #address-cells 1; #size-cells 0; ethphy0: ethernet-phy0 { // PHY設(shè)備 reg 0; // PHY在MDIO總線上的地址 max-speed 100; // 最大速率 // 可能還有PHY特定的屬性如LED配置等 }; }; };關(guān)鍵點(diǎn)phy-mode必須與硬件連接方式一致否則無法通信。phy-handle建立了MAC控制器和PHY設(shè)備的關(guān)聯(lián)。PHY的reg地址由硬件設(shè)計決定通過MDC/MDIO引腳的上拉下拉電阻配置。4.4 使用GPIO控制LED與按鍵對于簡單的板載設(shè)備可以直接在DTS中描述。/ { leds { // 可以創(chuàng)建一個自定義的父節(jié)點(diǎn)來組織LED compatible “gpio-leds”; led-0 { label “heartbeat”; gpios gpio1 0 GPIO_ACTIVE_HIGH; // 連接到GPIO1_0高電平點(diǎn)亮 linux,default-trigger “heartbeat”; // 內(nèi)核內(nèi)置的觸發(fā)器模式 }; led-1 { label “mmc0”; gpios gpio1 1 GPIO_ACTIVE_HIGH; linux,default-trigger “mmc0”; default-state “off”; }; }; gpio-keys { compatible “gpio-keys”; button-0 { label “Boot Button”; gpios gpio1 18 GPIO_ACTIVE_LOW; // 按鍵按下時GPIO為低電平 linux,code KEY_POWER; // 模擬的按鍵鍵值對應(yīng) /dev/input/eventX }; }; };關(guān)鍵點(diǎn)使用compatible “gpio-leds”和compatible “gpio-keys”可以讓內(nèi)核的對應(yīng)子系統(tǒng)自動創(chuàng)建設(shè)備無需編寫專用驅(qū)動。linux,code指定了按鍵映射到輸入子系統(tǒng)的哪個鍵值可以在linux/input-event-codes.h中找到定義。5. 進(jìn)階技巧與常見“坑點(diǎn)”避雷指南當(dāng)你掌握了基礎(chǔ)語法后下面這些進(jìn)階知識和“坑點(diǎn)”能讓你在實戰(zhàn)中更加游刃有余。5.1 屬性覆蓋與合并規(guī)則設(shè)備樹的一個強(qiáng)大特性是“覆蓋”。當(dāng).dts文件通過label引用.dtsi中的節(jié)點(diǎn)并添加新屬性時其規(guī)則是標(biāo)量屬性字符串、整數(shù)等直接覆蓋。后定義的替換先定義的。列表屬性如interrupts,reg的多組值通常也是整體覆蓋。你不能只修改列表中的某一項。子節(jié)點(diǎn)如果標(biāo)簽引用的是一個節(jié)點(diǎn)而非屬性那么在該引用塊內(nèi)定義的任何新子節(jié)點(diǎn)都會被添加到原節(jié)點(diǎn)下。如果子節(jié)點(diǎn)名含地址相同則會發(fā)生覆蓋。一個常見的“坑”試圖在板級DTS中只修改一個復(fù)合屬性的一部分。例如原DTSI中pinctrl-0 pad1 pad2 pad3;你在板級DTS中想只改成pad1 pad4你必須完整地重新定義整個列表而不能只“追加”或“修改”某一項。5.2 條件包含與預(yù)處理.dts/.dtsi文件在編譯前會被C預(yù)處理器cpp處理。這意味著你可以使用#ifdef,#if,#define等宏來進(jìn)行條件編譯。這在區(qū)分硬件版本、配置可選功能時非常有用。// 在 dtsi 文件中 #ifdef CONFIG_HAVE_ETH1 fec2 { status “okay”; // ... 其他配置 }; #endif // 在板級 dts 文件中可以通過 /include/ 來包含一個定義了宏的文件 /include/ “my-board-config.dtsi” // 這個文件里可能定義了 #define CONFIG_HAVE_ETH1注意這里的CONFIG_HAVE_ETH1是DTS編譯環(huán)境的宏與內(nèi)核的Kconfig宏是兩套獨(dú)立系統(tǒng)雖然名字可以相同。通常通過Makefile或dtc的-D參數(shù)傳遞。5.3 調(diào)試與排查實戰(zhàn)記錄問題一驅(qū)動 probe 函數(shù)不執(zhí)行排查步驟查compatible首先確認(rèn)DTS中的compatible字符串與驅(qū)動中of_device_id表里的字符串完全一致包括大小寫和逗號。查status確認(rèn)節(jié)點(diǎn)狀態(tài)是“okay”而不是“disabled”或被注釋掉。查父節(jié)點(diǎn)狀態(tài)如果該設(shè)備掛載在某個總線如I2C、SPI下確??偩€控制器的status也是“okay”。查內(nèi)核日志dmesg | grep -E “of|device|probe”看是否有相關(guān)錯誤或跳過信息。查/proc/device-tree確認(rèn)節(jié)點(diǎn)是否存在屬性是否正確。問題二外設(shè)寄存器訪問失敗返回 -EBUSY 或 -ENXIO排查步驟查reg屬性確認(rèn)地址和長度是否正確。與芯片數(shù)據(jù)手冊的存儲器映射表核對。查pinctrl配置這是最最最常見的坑引腳復(fù)用配置錯誤會導(dǎo)致引腳功能不是你所期望的外設(shè)功能從而無法訪問。仔細(xì)核對原理圖和pinctrl配置。查時鐘和復(fù)位有些外設(shè)需要額外的時鐘和復(fù)位控制。檢查DTS中是否有clocks和resets屬性并確認(rèn)引用的時鐘和復(fù)位控制器節(jié)點(diǎn)已使能。問題三中斷無法觸發(fā)排查步驟查interrupt-parent指向的中斷控制器節(jié)點(diǎn)是否正確。查interrupts屬性中斷號和觸發(fā)類型是否正確。需要查閱SoC數(shù)據(jù)手冊中關(guān)于中斷控制器的章節(jié)明確每個外設(shè)的中斷映射關(guān)系。查共享中斷如果中斷是共享的驅(qū)動中需要正確實現(xiàn)IRQF_SHARED標(biāo)志。用cat /proc/interrupts命令查看你的設(shè)備中斷號是否被注冊以及中斷計數(shù)是否在增加。問題四設(shè)備樹編譯錯誤Undefined label原因你引用了一個標(biāo)簽如uart1但DTC編譯器在上下文中找不到這個標(biāo)簽的定義。解決檢查標(biāo)簽名是否拼寫錯誤。檢查該標(biāo)簽對應(yīng)的節(jié)點(diǎn)是否被條件編譯#ifdef排除在外。重要檢查該節(jié)點(diǎn)是否被設(shè)置為status “disabled”。在某些舊版本或特定處理中被禁用的節(jié)點(diǎn)的標(biāo)簽可能無法被引用。一個變通方法是不要禁用整個父節(jié)點(diǎn)而是只禁用你需要的那部分。5.4 從零開始為一塊新板卡編寫DTS假設(shè)你要為一塊基于NXP i.MX6ULL芯片的自制板卡編寫DTS。尋找參考在內(nèi)核源碼的arch/arm/boot/dts/32位或arch/arm64/boot/dts/64位目錄下找到你的SoC型號對應(yīng)的.dtsi文件如imx6ull.dtsi和官方評估板.dts文件如imx6ull-14x14-evk.dts。以官方EVK的DTS為模板是最快的方式。建立骨架創(chuàng)建你的板卡DTS文件如my-custom-board.dts首先包含SoC的dtsi文件。// SPDX-License-Identifier: GPL-2.0 #include “imx6ull.dtsi” / { model “My Custom i.MX6ULL Board”; compatible “my,custom-board”, “fsl,imx6ull”; // 內(nèi)存配置 memory80000000 { device_type “memory”; reg 0x80000000 0x20000000; // 512MB RAM }; // 其他根節(jié)點(diǎn)屬性如 chosen, aliases };配置系統(tǒng)時鐘檢查并確認(rèn)clocks節(jié)點(diǎn)下的振蕩器頻率是否正確根據(jù)你的板載晶振修改。使能外設(shè)根據(jù)你的板卡原理圖通過label引用SoC dtsi中的外設(shè)節(jié)點(diǎn)如uart1,i2c1,usdhc1將其status改為“okay”并配置正確的pinctrl。配置引腳復(fù)用這是最繁瑣但最關(guān)鍵的一步。你需要為每個使能的外設(shè)創(chuàng)建一個pinctrl_xxx節(jié)點(diǎn)通常在iomuxc節(jié)點(diǎn)下根據(jù)數(shù)據(jù)手冊的IOMUXC章節(jié)為每個用到的引腳設(shè)置正確的復(fù)用模式MX6UL_PAD_XXX_XXX__XXX、上下拉、驅(qū)動強(qiáng)度等。務(wù)必與原理圖一一對應(yīng)。添加板載設(shè)備在對應(yīng)的總線節(jié)點(diǎn)下如i2c1添加你的外部設(shè)備節(jié)點(diǎn)如EEPROM、傳感器等。編譯測試使用make dtbs編譯將生成的.dtb用Bootloader加載啟動。通過查看/proc/device-tree和內(nèi)核日志逐步調(diào)試直到所有硬件被正確識別。設(shè)備樹的學(xué)習(xí)是一個“先模仿后理解再創(chuàng)造”的過程。開始時多參考成熟平臺的代碼遇到問題時善用調(diào)試手段逐步積累經(jīng)驗。當(dāng)你能夠獨(dú)立為一塊新板卡配通所有基礎(chǔ)外設(shè)時你對Linux底層系統(tǒng)的理解就已經(jīng)遠(yuǎn)超大多數(shù)應(yīng)用開發(fā)者了。這份能力將成為你深入嵌入式世界的堅實基石。
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
经典丝袜一区| 久久超碰亚洲人| 久久久久久中文| 啊啊啊啊嗯嗯嗯用力好爽| 黄片com.| 丝袜美腿制服人妻二区中文字幕| 狠狠操狠狠操操| 青青欧洲黑| 欧美亚州手机在线| 欧亚乱色熟一区二区三四区| 五月天婷婷久久| 精品成人动漫一区二区| 精品九九| 免费观看一区| 欧美春色| 亚洲成人AB| 色网1| 精品999日本| 嫩草伊人久久精品| 91在线限制级| 大屁股国产在线视频| 18一区二区三区| 91日韩在线| 国产欧美一区激情交| 亚洲AV无线| 思思热在线视频在线| 精品午夜福利| 国产一级内射高清视频| 亚洲日韩电影| 亚洲天天操| 欧美性色网| 天天干夜夜鈤| 婷婷超| 亚洲天天操| 香蕉欧美| 亚洲黄色网址视频| 日韩国产中文字幕| 久久久久9999| 婷婷成人五月天| 日韩操人| 人妻在线中出视频| 亚洲自拍小说| 欧洲综合色图| 亚洲av噜噜噜噜噜噜| 久久亚洲AV无码白度| 久久日本熟妇熟色一区| 97精品久久| 欧美一区二区三区不卡高清视频| 黄色操人| 日韩AV熟女乱伦| 色婷婷视频| 天天日老熟妇| 色综合99999| 天堂亚洲精品久久老牛| 日日躁夜夜躁狠狠躁超爽| 青娱乐妇女性生活| 亚洲AV成人精品网站在AV| 精品性爱| 男男H黄动漫啪啪无遮挡网站| 久久精品国产72国产精品福利| 国产激情综合五月久久| 天天摸夜夜摸| 大香蕉伊人75| 日韩无码黄色片| 国产AV高清AV无码| 中文字幕久久亚州无码| 精品国产乱码久久久久久久久久毛片| 熟女少妇视频| 亚洲精品一区二区精品| 国产版a级片直播在线| 色婷婷电影网| 天天看人人操屄犊摸阴| 大香蕉99999| 亚洲在线网站| 久久久9视频| 夜夜人妻爽| 欧美热图99| 性久久| 色99在线| 97欧美久久久久久久| 精品欧美乱码久| 思思热免费在线视频| 亚洲精品丝袜-不卡成人免费……| 日本三级小说中文字幕| 91丝袜| 草莓精品视频| 日韩视频小说在线观看| 91精品国产91久久青草| 天综合网| 18精品一二区| 一级黄色性爱A级片| av资源在线播放天堂| 爱干爱射网啊啊啊| 欧美天堂在线| 婷婷色综合| 综合久久99亚洲人妻中文在线| 亚洲天堂男| 中日亚韩免费视频| 欧美精品丝袜久久久中文字幕| 久久久三区二区一区| 国产特级毛片AAAAAA高潮流水 | 99久久精品无码一区二区| 五月激情在线| 一区二区播放| 国产精品宅男免费| 伊人伊人LD| 国产精品视频91久久| 91碰碰碰| 永久电影三级在线观看| 一区二区日韩欧美久久| 欧美性夜| 五月花婷婷| 国内毛片四区| 亚洲色图殴美色图激情乱伦| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 麻豆美女丝袜人妻中文| 日韩乱码Av| 东京热av影院| 婷婷伊人一区| 无码区蜜乳| 亚州操操穴网| 91高清无码下载| 亚爽爽爽爽爽爽爽爽| 国产精品亚洲色婷婷久久久| 加勒比综合九九99视频在线播放| 国产精品不卡一区二区电影| 精品人妻一区春色| 女人午夜视频777| 人妻熟女一区二区| 亚洲国产高清福利视频| 0755午夜福利视频| 欧美.亚洲.另类.丝袜.制服.诱惑| 欧美97免费| 一级A啪啪啪啪| 九九五月天| 91色久| 91国模| 国产伦精品免编号公布| 日韩人妻有码免费视频| 夜夜欧美| 超碰97资源中文字幕| 20cm女自慰在线日韩欧美| 精品一久久久| 精品性爱一区二区| 国产视频第二页| 91 国产丝袜在线放观看| 男女激烈网站最新| 91老妇女| AND人妻系列| 99老司机精品视频在线观看| 91美女高潮| 九九综合色| 91丨人妻丨国产丨丝袜| 天天舔天天日天天射| 国产尤物AV尤物在线观看不卡| 欧美高清在线| 锕锕好爽 死我在线观看| 欧洲色色| 亚洲国产高清福利视频| 国产女人视频三四五区| 熟妇人妻一区二区三在线| 一区二区三区 日韩欧美| 天天夜夜rb| 中文字幕精品人妻丝袜| 亚洲中文国际强奸字幕| 国产午夜精品理论片a大结局| 伊人操操| 亚洲色欲一区二区三区| 超碰免费在线| 成年人黄色小视频网站| 乱操乱伦AV| 亚洲日韩狠狠撸视频| 久久国产对白激情浪潮| 亚洲一区二区麻豆影院| 日本精品不卡一二三区| 久久久久久久伊人精品| 九九久久久| 射丝袜大香蕉| 国产精品午夜成人福利| 国产极品999| 九九无码视频| 五月天色色色| 蜜桃久久综合视频| 欧美日韩丝袜| 欧美精品999| 黄色激情电影在线观看| 亚洲码在线中文在线观看| 无码二级三级| 亚洲色人| 国产久久久久久| 91模特在线观看| 久久久久78| 亚洲欧美爆| 一区二区三区 丝袜 高跟 美腿| 五月丁香啪啪网| 国产极品美女高潮无套在线观看| 亚洲乱码国产乱码精网站| 免费人成在线观看网站品爱网| 国产久久久久久| 精品人妻一区二区蜜桃视频| 五十路熟女,国产欧美精品区一区二区三区 | 亚洲综合影片| 综合久欧洲| 色情亚洲日本成人| 神马久久69| 人人妻人人色| 麻豆一区二区AV天美| 精品九九淫乱男| 久草男人天堂| 久日综合网| 欧洲小说色图视频另类| 91美女色视频亚洲| 亚洲欧美在线综合| 激情婷婷丁香网| 99久在线精品99re8| 91 亚洲情侣偷拍 久久| 怡红院亚洲怡春院av| 久久后入制服| 久久超碰97| 精品无码久久久久久久久果冻糖心 | 久久夜黄色无码A级大片| 人人摸.人人色| 另类小说综合网| 色欲无码人妻日韩欧美精品| 日韩欧美aⅴ综合网站发布| 探花一区二区三| 尤物一级在线免费观看| 亚洲成人免费电影| 久久精品亚洲婷婷| 国产诱惑| 日本一区不卡| 可能人人看人人摸| 婷婷六月天| 校园春色综合色| 亚洲日韩久久精品一区| 麻豆成人影音在线| 高潮毛片无遮挡高清免费| 欧美极品性爱天天射| 国产精品午夜高潮呻吟久久av| 国产 v乱码一区二| 久操99| 九九热精彩视频| 久久久久婷婷精品av电影| 欧美偷拍| 久久成人午夜精品影院| 九九亚洲| 欧美骚少妇| 69麻豆天美| 福利视频一区二区微拍| 天天干一区二区| 97精选久久| 蜜臀久久99精品久久久| 免费簧片在线观看| 精品久久久久瑟瑟| 91天美免费| 男人的天堂午夜av| 精品久久久中文字幕不| 超碰综合97在线| 国产精品精品系列在线观看| 午夜免费福利视频一区| 一本大道综合伊人精品热热| 啊啊嗯嗯好爽| 爽 好舒服 无码刺激久久| 久久国产精品91| 嫩呦国产一区二区三区AV| 强免费黄色网址| 国产精品久久久久久夜夜夜| 精品传媒在线一区| 在线精品福利免费播放| 搞中出视频在线观看| 天天综合网在线观看| 亚洲美女自拍偷拍视频| 熟妇人妻一区二区三在线| 超碰九7| 成人性爱电影网| 99久在线精品99re8a| 三久久久四久久久久| 全球成人中文在线| 呻吟 欧美 日本 中出| 亚洲影院无码在线| 国产精品久久发布| 91欧洲国产成人久久精品网站| 曰韩无码777| 97超级色碰碰| 欧美久久伊人| a网站免费观看| 91一区二区| 日韩无码服务区| A 在线网址| 78p欧美| 不卡日本一区二区| 亚洲天堂,男人| 中日992视频| 福利伊人玖玖国产| 91亚洲最新在线| 亚洲天堂无码| 黑人性欧美| 色婷婷基地| 久久蜜桃一区二区| 亚洲 欧美 中文 日韩超碰| 99精品九九九九九九| 五月丁香影视| 啊啊啊想要| 久久五月份| 精品传媒在线一区| 天操天操夜操夜月操月年年操| 色欧美亚洲| 久悠悠av| 综合在线导航一区| 91欧美少妇| 五月天久久久| 一级做a爰片性色毛片久久| 亚洲成人一二三区| 亚洲人妻在线一区| 无码精品啪啪啪一区二区三区三州| 黄页视频网站野外| 久久系列| 大香蕉啪啪啪啪在线| 久久美女国产| 欧美宗合色| 不卡超碰护士AV在线免费播放| www.亚洲成人一区| 久草久日| 超碰 另类 欧美 | 97干在线| 天天做天天爱夜夜爽毛片试看| 在线亚洲精品久久久| 亚洲一本色道中文无码aV天美| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 人妻久久| 青青青青草av在线观看| 亚欧高清在线| 操逼逼一区视频| 日本免费二区三区| 清清草影| 久久久不能久久久久| 芊芊操逼视频无码| 91色综合| 国产精品夜夜夜| 91人妻人人妻| 激情啪啪拍91| 色欲无码人妻日韩欧美精品| 97视频在线播放| 久久精品人妻一区二区| 欧美性爱97超碰| 日韩 欧美 另类 人妻| 国产精品电影大全| 91中文字幕在线观看| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 少妇色欲综合网2| 免费网色网站| 久热伊人99re| 狠狠爱综合网| 亚洲一区二区三区四区视频| 国产高清免费不卡av| 中文视频在线观看| 欧美天天干| 欧洲亚洲人人爽爽视频| 中文字幕88av在线| 精品人人| 69超碰综合| 天美麻花大全视频| 福利在线观看一区二区| 丁香六月激情| 亚洲性爱成人| 性色AV蜜色av色欲av| 成人性交午夜免费片| 91精品久久久久久久久久| 欧美一级欧美三级在线观看| 中文无码一二三区| 大香蕉123| 天天射影院| 久久婷色| 婷婷五月天成人网| 日韩成人午夜精品久久高潮| 国产熟女少妇一区| 一道本久久棕合爱| 992这里有精品| 99色天堂| 亚洲激情网一二三四区| 亚洲……91| 国产91美女高潮| 国内外色色色色色成人视频| AV九九| 亚洲综合色婷婷| 大香蕉黄色一区| 亚洲成人美女无吗| 免费看久久久性性| 丁香六月激情综合| 9久综合网| 78综合网| 欧美性爱一区| 日韩一级二级三级免费看完整版国语版 | 欧美色图下一页| 欧美曰韩国产精品| 免费超碰97久久| 蜜桃臀一区二区aV| 天天天干977| 成人怡红院| 尤物视频视频官网| 日逼视频日本| 啊视频在线| 女优免费一区二区永久| 人妻久热在线| 日本久久综合| 欧美图片校园春色| A级片一区| 强奸乱伦亚洲第一页| 白嫩国模丰满一二三区| 亚洲丝袜色| 五月天伊人| 欧美日本不卡| 91美女在线观看| 久久精品国产亚洲妲己影视| 国产精选三级在线观看| 67914在线精品观看| 久久久久久波多野吉衣高潮| 久久老熟女| 日本国产亚洲一区在线观看| 亚洲无码?第一页| 亚洲成人免费电影| 美女主播色欲91抠b在线播放| 精品美女人人干| 色欧洲| 波多野结衣先锋影音| 91狠狠色丁香婷婷综合久久精品| 中文字暮97| 午夜综合在线| 丰满人妻被猛烈进入中| 丁香六月婷婷| 夜夜夜夜爽| 色色色日本| 欧美顶级黄片AAAAA在线免费看| 久妇网| 在线综合 亚洲 欧美中文字幕| 色综合天天| 青青爽| 99re黄| 日本午夜操逼| 国产精品suv一区| 五月天伊人网| 97任你吞精| 欧美一区二区传媒| www.av家庭乱伦| 狠狠爱综合网| 99re这里只有精品2| 综合激情二| 水澄无码AV| 色97欧美| 国产精品亚洲美女久久久久| 97伪v| 少妇厨房愉情理伦片bd在线观看| 色欧美天天| 亚洲色棕合| 国产福利在线视频网站| 超碰欧美在线欧美| 欧美日韩在线国产在线| 欧美一区二区成人一卡| 老熟女乱伦一区| 久热69九色熟妇97| 草草草视频在线免费看| 日韩无码嘿咻黑热久| 亚洲情色 自拍| 伊人影院综合是一个与深夜成人在线| 夜草欧美| 国产偷拍自拍在线视频| 国产AV线| 免费看久久久性性| 欧美自拍网| 大香蕉av在线| 欧美国产婷婷久久| 久久久久9久久久久| 日韩欧美性吧婷婷乱伦大香蕉 | 老熟女网站| 人妻久久久久久久久久久久久久久| 亚洲少妇综合| av天天在线观看| 97色碰| 午夜天堂网| 日本色色视频网站| 天堂综合| 丁香六月婷| 97干色| 欧美熟妇精品黑人巨大一二三区| 欧洲综合无码| 国产少妇内射| 性爱动态120秒| 国产黄色视频久久| 欧美在线第五页| 色播综合| 亚洲无码太久| av草草在线电影| 99操视频| 久久久久久久久久久免费精品| 亚洲和欧美裸体美女双飞视频| 人人操人人uiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii | 老司机香蕉| 校园春色制服丝袜中文字亚洲| 3PAV乱伦视频| 麻豆久久一区二区三区| 欧美中文字幕一区 | 婷婷在线精品| 日韩三级在线观看网站| 欧美激情精品久久久| www.久久99| 天天干干天天干干| 特色a在线上| 欧亚日韩三区| 五月丁香六月激情| 亚洲av无码国产精品字幕| 天天爱综合网| 另类亚洲图色| 超碰狠狠操| 亚洲成人在线高清| 色欲久久99精品久久| 精品一区96| 亚洲一区二区性爱电影| AV天堂国产| 91亚洲黄色网| 啊啊啊啊啊啊啊在线| 丝袜 亚洲 偷拍| 亚洲日韩美国人妻| 91久久久亚洲| 怡红院久久老司机| 天天超级碰碰碰| 人妻精品4K4K4K4K4| 在线观看日韩av不卡| 亚洲网站一区二区在线| 奶水 人妻 哺乳 在线| 欧美少妇性乱| 日本97久久久精品| 欧美嫩性色| · —级AA伦aa坐爱午夜极速ⅴA一区天天噪天天噪天天噪 | 午夜免费福利视频一区| 精品久久久高清无码| 亚洲情色综合| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 一区二区日韩欧美久久| 郑州宾馆老熟女露脸啪啪| A级在线视频| 欧美精品黑人猛交高潮| 国产一区二区在线看| 久久动漫精品视频这里只有精品| JULIA人妻风俗店中出电影| 五月香婷婷| 黄片在线免费在线观看| 欧美日本国产日韩激情视频| 久久国产免费激情视频| 18啪啪手机免费性爱| 欧州一区二区三区四区| 九九九久久久| 麻豆美女丝袜人妻中文| 综合网91| 九九九精品| 中文字幕一区二区视频在线观看| 91 欧美| 黑人综合网| 97天堂| 色吧 综合| 免费A片三p视频| AAAA级日本片免费视频| 我要去看2个日本美女.com曹逼| 男人天堂网址| 美日韩男女操屄视频| 日韩免费中文字幕视频| 浓厚中出中文字幕在线| 国产黄色影片在线观看| 国产福利在线视频网站| 亚洲 欧美 手机在线观看| 日本一级二级三级网站| 九九热精品| 欧美在线官网| 求求你操操我| 色97国产69香蕉| 日本在线伊人啪啪| 国产精品人妻无码久久久互動交流| 日韩电影在线观看网址| 久久综合国产精品国产| 国产激情av女片自拍| www.色操逼| 深夜操逼网| 99www.bibizy香蕉资源国产一区二区三区高清 | 足交视频老司机| 欧美图片校园春色| 另类图片综合| 欧美十八禁导航成人| 日本3级一区二区免费| 操操AV电影| 无码视频一区二区| 欧美日韩亚洲少妇寂寞影院正在播放 | 亚洲欧美日韩精品久| 家庭乱伦网站国产| 操人妻少妇中文| 爱啪精品一区| 清纯唯美综合| 91午夜无码| 人人操AV| 中文字幕神马久久| 97视频免费播放| 国产特级毛片AAAAAA高潮流水 | 亚热日本熟女| 91人人| JIZZJIZZ国产精品喷水| 黄色乱论网站| 青青操日韩| 正在播放国产精品一区| 亚洲欧洲偷拍一区| 蜜臀无码一区二区| 人人操,人人插| 九九亚洲视频| 超碰97亚洲区| 国产精品无码成人精品| 亚洲男人的天堂亚洲| 亚州色图欧美| 天天日天天操天天射河南省| 成人综合久久精品色婷婷| 欧美老妇综合网| 校园春色五月天| 国产成人无码高清| 亚洲成人色情五月天丁香花| 亚洲天堂男人天堂| 色五月婷婷中文字幕| 91丝袜美腿片| 欧美成人A√在线一区二区| 天天综合精品| 欧美色蜜桃97| 立川理惠加勒比无码| 中文字幕AV片| 国产一级内射无挡观看| 亚洲不卡av在线| 九九九九热| 色色99| 98超碰欧美| 国产成人精品亚洲日本| 丰满人妻一区| 狠狠色狠狠色狠狠五月| 婷婷15月天青娱乐| 国产一级特黄大片处女| 欧美激情片一区二区| 国产在线视频午夜精华在| 亚洲色图激情小说| 91n欧美| 99热精品在线观看| 麻豆AV一区二区天美传媒| 911粉嫩人妻| 99精品无码| 超碰AV在线| 91在线观看,天天综合| 国产精品一区二区黄片| 久久黄黄黄| 激情综合色| 亚洲丝袜诱惑| 久久久久密| 日韩强奸av| 国产乱码精品久久久久久| 国产91会所女技师在线观看| 免费网站观看www在线观| 日韩免费高清大片在线| 麻豆 亚洲 97| 国产精品成人无码av无码免费| 97资源站久久| 五月丁香六月激情| V A在线| 色大师网站www永久网站视频| 中文字幕AV乱伦| 91AV天美在线视频| 91狠狠综合久久| 亚洲在线欧美| 亚洲揄拍网| 国产粉嫩出水在线播放| 91丝袜美女视频| 91新在线欧美| 亚洲精品aa久久伊人| 激情婷婷黑人91| 久久久工口| 中日亚韩免费视频| 亚91网| 天天弄欧美| 乱伦Av网| 国产老女人久久毛| 久热久| 天天插天天射| 日小BB小视频| 强乱老妇中文字幕| 中文字幕人妻色偷偷久久皮| 久久精品国产96精品亚洲拳交| 国产欧美另类久久久精品课程| 亚洲91亚洲| 久久久成人国产精品无码| 天天综合中文字幕 91| 日日夜夜青青草母狗| 久操不卡视频| 97人人夜夜精品视频| 中文字幕欧美精品亚洲日韩蜜臀| 美日韩一卡二卡三卡免费人妻精品| 亚洲国产精品无码AV在线| 男人天堂新| 亚洲素人网| 五月天丁香欧洲日韩| 免费在线黄片视频| 成人性爱免费播放| 成人一二三区| 98福利在线视频| 自拍盗摄一区| 丁香六月激情| 国产亚洲精品第一最新| 操人人| 天堂男人网| 941超碰| 啊啊啊在线观看免费视频| 超碰av在线| 国产精品极品美女视频| av网站免费看| 日本大香蕉综合网红本杳社区| 日韩欧美偷拍美女视频| 色女网日韩| 精品一区二区三区蜜桃臀赵总| 日韩卡一卡二卡三在线| 无码动漫av中文字幕| 国产精品久久久久久久久久久久久久吹 | 天天舔九色婷婷| 啊啊啊不要好疼视频| 成人性爱电影一区二区| 377p欧洲日本亚洲大胆| 国产丝袜欧美在线视频| 亚洲色综合| 国产精品乱码久久久久| 久久老熟女| 久久九九热| 校园春色家庭伦理欧美激情| 精品无码久久久久| 日韩精品操少妇| 国产欧美日韩臀| 日韩久久超碰色| 快点操死我| 欧美日韩黄色片一区二区三区四区人与兽做爱| 午夜免费视频1000| 熟女人妻av在线资源,黄色的资源| 色狠狠综合| 人妻精品视频一区二区| 天天看,天天做| 92午夜免费福利视频| 午夜电影在线观看无码专区| 免费观看国产小粉嫩喷水精品午| 国产JDAV无码视频在线观看| 亚洲性爱成人| 少妇一区二区三区精选| 91丨九色丨国产丨人妻在线| 一级特黄aaa大片在线观看成人一级片在线观看 | 人妻激情在线视频| 久久久久婷婷精品av电影| 久久久少妇诱惑精品视频| 久久风骚城市| 色九久| 国产乱子伦一区二区三区在线观看| 欧美亚洲特P| 97 色综合| 97超碰人人操人人操| 亚洲日韩视频二区| 亚洲五码一区二区三区| 在线看免费无码AV天堂的| 乱伦图一区| 欧美韩日精品资源| 绯色一区二区三区不卡少妇 | 青娱乐福利99| 先锋色眉乱伦资源| 久久性爱城| 少妇高潮99p| wwe 天天干.com| 人妻超碰青青草98| 国产白丝AV| 日本精品中文字幕视频| 中日亚韩免费视频| 在线不卡视频| 国产自产91区13区| 中文字幕欧美日本乱码一线二线| 欧美高清16| 亚洲 小说 欧美 激情 另类| 欧美视频一区二区在线| 大奶啊啊好爽| 久草精品一区| 午夜爽爽爽| 二男一女成人A片| 久久婷婷五月天| 久久精品国产99国产精品亚洲| 久久久91福利姬| 好爽视频在线观看视频| 欧美日韩日产免费网站看| 久久久久久久久久8888| 第二页中文字幕| 2017天天操天天日| 美国精品国产精品| 天天摸,夜夜摸| 91无码人妻| 超碰在线人人射| 黄片www.| 日韩AV一区二区三区三州三州| 中文字幕精品三级久久久| 97在线免费视频| 精品婷婷| 丝袜亚洲91| 国产一区二区二区按摩精品啪视频| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 久久久三区二区一区| 国产一区二区成人av在线播放| 青草av在线| 欧美激情久| 国产综合色精品在线观看| 国产无套粉嫩白浆在| 伊人久久大香线蕉亚洲五月天,青草青草欧美日本一区二区,欧美日产欧美日产国产 | 日韩激情电影中文字幕| 亚洲色五月| 亚洲精品蜜桃久久久| 中国大陆国产高清AⅤ毛片| 91 丝袜在线| 欧美 亚洲 第一页| 9久久精品| 国产热av| 一区二区三区免费岛国片| 国产肏屁眼视频| 日产操逼| 一区黄二区黄| 91美女视频| 看日韩美女二区三区免费操逼视频| 亚洲男人天堂2| 色嗨嗨在线| 9999九九九久久久| 精品九九国产无码| 久久超碰98| 蜜乳Av成人片网站| 久久久久78| 亚洲囯产精品女人久久久| 欧美久久婷婷| 人人玩人人添人人澡免费| 性欧美体内射精| 国产操逼网站亚洲一级黄色| 成人在线视频二区| 日本影视久久免费| 天天摸夜夜摸| 1级黄色夫妻对换性交免费看| 天天摸夜夜摸| 丁香九月 婷婷| 久草在| 免费簧片在线观看| 91欧美少妇| 丁香五月天啪啪| 美女91| 偷拍欧美激情| 一二三四视频中文字幕在线看| 操b网站亚洲无码| yellow网站免费观看日韩高清无码| 学生妹天天看| 在线播放成人网站| 日韩9区| 中文字幕乱碼在线| 丰满人妻一区二区三区四区| 91 国产丝袜在线播放-百度| 欧美十八禁在线看| 久久人| 自拍视频大全亚洲专媒视频/一区二区三区| 秋霞一级鲁丝片A片| 蜜臀亚洲综合一二三四区| 日本国产欧美高清在线| 欧美性爱一区二区三区| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 99999无码| 二男一女成人A片| 啊啊啊轻点在线观看| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 99re在线观看| 网站A V在线| 91视频综合在线| 日本超碰在线国产一区| 无码免费在线观看黄色片| 超碰在线1234区| 99热超碰| 3p国产色噜噜一区| 麻豆国产97在线| 男人天堂最新手机版在线青青草| 蜜臀av在线播放一区二区三区| 日韩精品在线放| 亚洲蜜臀精品视频久久| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 美女网站黄页| 又大又长又爽| 黄aaaaaaaaaaaaaaaaaa色网站| 国产激情视频一区区三区| 97超碰免费生活| 欧美人妻精品| 国产精品免费美女视频| 欧美巨大性舒爽顶到了| 99热线麻豆| 国内操逼视频二区| 日韩精品区二区三区不卡| 亚洲欧美在线观看免费| 国产强奸无码乱伦| 骚熟女AV网| 二级久久网| AV天堂丝袜| 秋霞视频一区二区| 成人av影院在线观看| 蜜臀久久99精品久久久| 日韩专区久久久| 磁力99AV| 人妻夜夜爽天天爽麻豆三区网站| 91粉嫩萝控精品福利网站_精品影音先锋国| 日本成熟少妇A∨网站| 精产品久久| 99久在线精品99re8| 欧美日本天堂| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 欧美草草高清日韩视频| 亚州男人的天堂| 超碰精品| 欧美久久毛片基地| 校园春色综合| 亚洲欧美精品91| 中文字幕在线高清男人的天堂 | 中国黄色特级精品一区二区三区片| 亚洲成人一二三区| 蜜桃色色网站视频三区| 99日韩| 操逼网站地址| 黄片直播三级黄片两女一男| 秋霞久久亚洲精品成人| 91丨九色丨国产丨人妻在线| 91视频精品| 中文字幕在线免费观看2| 日韩情色一区二区| 蜜臀久久99精品久久久久久酒店| 大茄子熟女AV导航| 九九热精品视频六| 不卡视频一区蜜桃视频| 99久久99九九99九九九| 天天欧美| 夜夜嗨视频| 91情色| 国产又粗又大硬免费色网视频| 日韩肏逼视频| 精品人妻一区二区三区四区石在线| 97久久精品| 白丝被操91| 中文人妻av高清一区| 天天艹天天日| 亚洲中文国际强奸字幕| 黄片aaaaa一区| 国模精品娜娜一二三区| 99久久婷婷| 97超碰69| 精品无码一二三四区| 成人一区二区三区四区| 视频二区熟女人妻| 麻豆一区二区三区在线看| 欧美熟妇色| 又粗又长又大国产不卡| 男女做爰猛烈动高潮A片免费应用 少妇厨房愉情理伦片bd在线观看 不卡中文字幕aⅴ在线 | 亚洲在高跟鞋自慰久久在色线| 国产一区二区久久| 后入式999| 人妻欧美| 韩三级a视频在线观看| 国产亚洲精品美女久久久久久2021| 在线精品福利免费播放| 激情五月激情综合网| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 色偷偷2020免费视频播放| 色97干| 91av一区二区在线观看| 人、人、摸,人、人、草| 日韩欧美视频青青| 男人的天堂VA在线| 97 国产精品| 大香蕉伊人网| 91爆操视频| 大胆91| 亚洲色丰满少妇高潮| 五月天久久人妻| 国产福利电影| 国产日比| 秋霞午夜视频一区二区| 精品十八在线观看| 乱抡国产91| 日韩一级欧美一级在线观看| 欧洲无码一区二区| 69丨亚洲丨精品丨入口免费播放| 亚洲欧美91| 亚州免费啪啪视频| 丝袜AV一二三区| 丝袜色综合| 男女啪啪网站免费视频| 囯产乱伦一区二区三女| 亚洲中文字幕乱码无码一区二区 | 亚洲综合在线视频| 乱久久久| 热99这里有精品综合久久| 九九探花视频在线观看| 青青草视频久久久久| 91n处女在线观看| 日日夜夜精品| 欧美亚洲激情小说| 97亚洲综合在线| 国产人妖视频一区在线观看| 成人五月香网在线| 啊啊啊轻点在线观看| av网站在线看| 色综合天天| 久久成人精品| 亚洲精品xxx| 9999伦理视频| 亚洲情欲| 狠狠色综合网| 欧美在线|亚洲| 日韩精品一区二区日韩| 黑丝91视频| 一区二区影视| 色999亚洲人成色| 熟女91网| 一区二区三区免费岛国片| 亚洲天堂情色| 国产传媒午夜理伦精品| 91人人看| 成·人免费午夜在线观看| 视频二区美腿丝袜制服人妻欧美| 日韩欧美麻豆 | 九X超碰| 1769一区| 欧美综合第一| 69视频入口| 射丝袜高跟鞋99| 欧美色亚洲| 神马视频久久久久久| 中文字幕一二三| 亚洲色图久久成人| 欧美少妇人妻| 91女网站| 不卡中文字幕aⅴ在线| 超碰 另类 欧美| 国产精品视频91久久| 久久精品一区| 亚洲综合另类小说色区亚洲成av人片在www| 黑丝91视频| 91伊人久| 男人的天堂2000| 玖玖资源综合在线视频| 91亚洲欧美综合高清在线| 久久精视频美日韩在线视频| 日韩熟女视频二区| 国产精品免费视频不卡| 91制服丝袜| 熟女人妻av在线资源,黄色的资源| 久久 精品| 欧美激情视频一区二区三区不卡| 亚洲**2021在线观看| 国产丰满少妇久久久精品影院| 国产Aα| 青青草导航在线视频| 99爱在线视频| 在线αⅴ| 一本久久精品中文字| 黄色毛片A片| 精品国产乱子伦一区二区三区,精品一| 99色在线| 日韩免费av片高清无码| 亚洲熟久久| 五月天综合在线| 欧洲在线性爱视频| 色香伊人| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 91丝袜在线观看| 欧美精品 - 91爱爱| 国产精品久久久久久片| 日本熟妇人妻一区二区三区| 69AV女优男人的天堂| 口爆吞精在线观看| 葡萄牙性视频一二区| AV丝袜少妇| www.色综合| 国产精品久久久久无码Av网曝门| 东京热99999| 国产在线76页| 欧美一级国产一级| 人妻天堂三区| 久久日本熟女精品一区| 色色五月天激情| 中国AV美女| 亚洲毛片久久| 天堂射| 天天干2019| 日本黄 R色 成 人网站| 久久国产在线一区二区| 久久精品国产97欧美精品亚洲| 日本1区2区不卡视频| 亚洲天堂男人天堂网| 丝袜美女诱惑 91 视频| 极品色社| 亚洲 国产 精品一区| 免费岛国一级片| 少妇九九九九| 爱爱久久| 宅男午夜在线视频| 在线播放成人网站| 美女极品一区二区三区| 韩国一级做a久久久久| 国产日韩中文字幕欧美| 97精品视频免费| 韩国久久97| 一区二区三区精品视频| 久久欲| 91麻豆天美| 国产精品农村妇女精品| 97精品国产精品免费观看| 国产精品一区二区在钱播放| 日本在线不卡一二区| www.黄色在线| 成人无码在线视频网站| 亚洲日韩天堂| 在线天堂资源亚洲| 人人九九精| 99热18这里只有精品| 超碰 av 女人天堂| 麻豆AV一区二区| 97资源制服丝袜| 综合色播| 动漫爆乳3D奶水一区在线观看| 亚欧无码在线| 91艹B视频| 人妻81p| 亚洲精品xxx| 国产高清无码一区三区二区| 日韩免费av片高清无码| 张柏芝国产一区在线观看| 92久久| 69精品| 日本韩高清无砖码22o| 97综合国产| 日本久久超碰| 97在线视频网站| 在线不欧美| 欧美爱爱97| dy888午夜老子影视达达兔| 久久这里只有精品9| 综合色一区三区二区| 欧美综合网A| 97欧美| 成人a v在线播放免费| 性色AV蜜色av色欲av| 超碰精品日韩欧美国产| www久久国产精品| 中文字幕日韩电影人妻| 成人无码在线视频网站| 日韩无码操逼片| 国产亚洲精品av一区| 99久久久er直播网址| 亚洲日韩美女中文字幕乱| 无码高清专| 久草大| 男人的天堂2010| 91在线视频免费中出| 久久久中文版| 天天爱综合网|