日韩精品一区二区三区在线视频放-无码中文字幕V?一区二区-成年片免费观看视频-国内少妇人妻丰满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
返回資訊列表
久久久一区二区三区麻豆| 一摸二插三插| 在线视频资源| AV免费在线播放一区| 国产嫩草精品A88AV在线| 中文字幕人妻丝袜乱一区三区| 乱伦图一区| 一色网男人的天堂| 久午视频| 亚洲女毛多水多21P| 亚州综合AⅤ| 日韩欧美性爱电影在线观看| 涩五月婷婷| 亚洲色图欧美另类在线| 精品成人无码| 91第一页| 一级做a爰片久久毛片图片| 在线国产一区二区av| 久久超碰98| 日韩成人无码| 91丝袜激情在线| 91P0RNY大屁股人妻| 成人片在线播放| 久久人妻无码毛片A片麻豆| 国产黄色在线播放观看| 久久爱超碰网| 操逼日韩无码 | 欧美综合色图网| 久9热| caopeng97人妻| 亚洲日韩av专区无码| 成片免费播放| 天天干天天舔| 大香蕉99热| 欧美欧美啪啪视频| 欧美97在线观看| 日本一级特级毛片视频| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 久久久久久亚洲Av无码精| 久操高青| 91精品久久久久五月天精品| 午夜精品人妻二区三区| 婷婷亚洲五月***久久| 国产少妇内射| 大干人妻| 丁香五月激情网| 91熟女丨91老女人| 亚洲成人妻日韩在线| 日韩在线观看字幕精品| 日韩欧美传媒一区国产| 色诱avtt| 久久婷婷热| 91老司机在线| 男人的天堂com| 久久亚洲不卡| 一级久久性爱视频| 美女黄网| 操死我了啊啊啊| 五月天激情国产综合婷婷婷| 啪啪免费| 熟女人妻精品一区二区视频| 日本久久综合| 天天日天天舔东京热| 强奸乱伦大香蕉网| 日本欧美中文字幕| 美国三级日本三级久久99| 综合伊人网12色| 欧美人妻一区| 亚洲码专区| aⅴ日韩成人电影av在线免费看av大全| 久操热| 精品国产片亚洲一区| 精品中文字幕一区二区l - 百度| 色呦色呦色精品| 秋霞曰韩R级| 亚洲欧美精品一区天堂久久 | 偷拍亚洲情色| 97精品久久| 午夜理论片在线观看免费| 久久久婷婷| 91最新综合| 久久久国产护士丝袜美腿一| 午夜.DJ高清在线观看免费7| 天天操综合网| 伊人aaa| 国产91久久九九免费精品无码| 久夜操| 人妻在线中出视频| 久久99久久99精品天美传媒棢·纸:. | 加勒比色99999| 天天草天天日| 99综合视频| 色女99一级片在线观看| 欧美96在线|欧| 69XX一中文字幕人妻91| 综合熟女| 99国内熟女露脸视频| 久操视频这里只有精品| 欧美精品日韩久久久九| 九九玖玖精品| 伊人九九九| 国产Aα| 久久久一热在线播放| 91劲爆| 亚洲 中文字幕 精品| 久久久九九网站| 成熟熟女国产精品一区二区| 亚洲**2021在线观看| 九九碰九九爱97| 天天躁狠狠躁av| 日韩人妻一区二区| 日本一区三级韩国| 97干在线| 98色网| AV色女综合| 欧美一级做a爰片免费视频| 亚洲综合113页| 蜜臀久久99精品久久久久久无删减 | 国产99999| www色色com| 亚洲操操操无码| 99爱精品| 91Chinese在线| 欧美人人天天网| 日韩簧片免费看| 91蜜臀在线久久久久| 国产一二三福利视频网| 欧美精品四区| 日韩极品无码B| 91无人区卡一卡二卡三乱码入口最新版:能让用户有更多选择的选择-经典说说-爱 | 久久久久97| 粉嫩国产精品久久粉嫩| 嗯嗯啊啊操我| 又黄又粗又硬又长又大| 狠狠色狠狠色狠狠五月| 神马九九九| A片 AV一级在线播放观看免费| 懂色天天爱天天日天天射天天澡| 97香蕉网| 91精品人妻一品二品三品| 精产国品一区二三产品| 精品9999| 国产原创自拍| 国产毛片片精品天天看视频| 久久超碰日韩精品| 日本爽爽爽爽爽爽免费视频| 成人久久精品| 全球成人中文在线| 色婷婷六月| 国产h小视频在线观看免费| 色呦呦、国产精品| 青青草在线视频欧美| 殴美牲| 极品尤物在线观看| 搞中出视频在线观看| 天堂中文日本在线观看| 91精品久久久久久77777| 天天综合网日韩7799| 亚洲综合射| 91在线无码精品秘 软件| 精品一区二区三区麻豆| 91男人天堂网| 啪啪综合网| 偷拍精品一区二区三区| 蜜屁Av| 国产成人bd在线观看| 丝袜 中出 制服 人妻 美腿 中文字幕| 五月婷婷深深爱| 日本操逼视频在线| 自拍亚洲综合| 欧美久久婷婷| 久久久久久夜夜夜夜夜| 精品少妇后入一区二区三区四区人妻巨乳 | 亚洲精品美女操逼| 嗯嗯嗯好爽| 国产一区二区a毛片| 后入式福利| 久久天天躁日日躁狠狠躁 | 五月丁香综合啪啪| 色色色综合| 亚洲成人在线高清| 亚洲日韩天堂| 欧美后入式| 91在线丝袜视频| 亚洲第一在线视频| 国产黄片精品在线| 亚洲97在线观看| 伊人午夜福利视频| 不卡一区视频| 青草影院内射高潮| 日韩激情视频| 黑丝少妇麻豆| 久久鲁夜| 99re这里只有精品3| 91GD.COM| 熟女六十路| 手机在线中文字幕国产| 精品亚洲成人免费在线| 久久AV无码AV| 成人免费性爱视视| 啊啊啊啊啊在线| 91熟女视频网| 无人区高清电影免费观看一区二区三 www.qmcai2.com | 99re公开精品免费视频| 1级黄色夫妻对换性交免费看| 五月丁香六月婷综合成人综合| 日韩综合色网| 欧美三级免费伊人| 97久久超碰| 欧美人妻精品一区二区| 天天日天天搞天天干| 探花精品 一区二区| 久久成人东京热人妻| 国产久久久久影院老熟女| 国产精品久久久777| 少妇免费视频| 老熟女91av| 色色色综合| 五月丁香婷婷啪啪| 日韩美脚一区二区网站| 蜜色网色哟哟| 欧美中文字幕男人天堂久久精品| 99re只有精品| 99热这里只有是精品10| 久久精品99久久久久久| 天天天操天天天爱| 超碰人人干天天射| 99999re| 日韩综合色图| 人人操我人人干| 青娱乐欧美激情一区二区| 久久亚洲中文字幕视频| 国产热RE99久久6国产精品首| 91成人久久 | 国产精品白丝在线播放| 国内毛片婷婷六月色| a天堂视频| 国产日韩在线播放| 中文字幕日韩综合| 亚洲永久AV无码精品秋霞| 91N综合在线| 蜜臀va69| 毛片久久| 日韩在线观看中文字幕视频| 国产不卡精品91| 精品网站9999| 日韩A优精品在线观看| 日韩在线一区高清在线| 亚洲天堂99| 天天操夜夜操狠很操| 女人双腿搬开让男人桶| dy888午夜老子影视达达兔| 丰满人妻区一区二区三| 人妻熟女av国产网站| 日逼视频日本| 日逼国产| 午夜天天碰综合视频| A 天堂| 亚洲国产高清福利视频| 97香蕉网| 久久‘黄片视频| 丝袜AV一二三区| TS人妖另类精品视频系列| 日日日日日| 午夜天堂网| 性欧美| 免费A片三p视频| 日韩人妻中文视频| 人妻插插人妻人| 一区二区三区男人的天堂| www久久国产精品| 美國A片| 黑丝91视频| 欧美激情黑人| 可能人人看人人摸| 久久嫩草国产成人一区| 99re这里只有精品9| 曰本人妻人人澡人人夹| 99re6国产精品99re在线| 亚欧美无遮挡| 成人性爱av.com| 啊啊啊用力在线观看| 国产精品97超碰| 97超碰天天爱天天爱| 五月天丁香网| a级理论午夜日本| 在线综合 亚洲 欧美中文字幕| 美女天天干| 蜜乳av一区二区| 淫色网综合| 亚洲欧洲日韩中文字幕一区| 精品国产久热在线观看| 日韩淫色网| 成人精品久久久午夜福利| 婷婷九月色| 欧美啪啪啪91| 国产成人+综合亚洲+天堂| 国产精品久久久久久久久久久久久久久久 | 日韩欧美大力操| 色九月综合| 屁股久久久久久久| 人妻在线中出视频| 日韩欧美成人午夜福利| 美女91在线观看| 亚洲欧洲中文日韩女优乱码| 国产成人主播| 黄片免费看的| 日日干夜夜欢| 免费啪啪啪网站18岁| 久久九九热| 丝袜熟女一区二区三区| 97色操| 99色热| 色妇综合网| 性欧美另类高清| 国产在线视频午夜精华在| 天操天操夜操夜月操月年年操| 亚洲精品国产精品成人| 高跟伊人julia ann| 国产精品无套内谢| 亚洲欧美高清| 热热色国产一二区AV| 国产AV无码AV| 美女性91| 色眯眯射| 2020国产精品| 欧美色www亚洲国产阿娇要播| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 青青草操逼逼视频| 两女互慰AV高潮喷水在线观看| 久久天天摸| 久操影视| 狠狠干综合| 色婷婷一区二区三区久久| 日本不卡高清免v欧美日韩在线观看| 乱伦一二三| 美日韩男女操屄视频| 99热精品青草在线 | 亚洲欧美首页| 亚洲伊人久久精品影院| 丁香六月婷婷久久综合| 亚洲精品国产专区在线观看| 欧中美三级一区二区三区| 亚洲中文字幕妇伦久久| av婷婷色婷婷色六月| 免费操逼91| 亚洲AV成人无码一区二区三区在线观看 | 久区视频| 西西美女视频网| 性爱av在线免费观看| 家庭乱伦麻豆| com 首页 18岁 禁区 女优 免费 精选 同城 | 日本 色 导航| 中文字幕丰满人妻日本| 人妻无码一区二区三区久久99| 啊啊啊操一区| 伊人女女资源在线观看| 免费的黄片有限公司| 97久久久久| 熟女网站最新| 乱理日韩中文| 国产高清1234区| 国产18精品亚洲精品| 亚洲第一页第二页激情| 91性色| 久久久91福利姬| 欧美天天谢综合网| 私色综合网| 黄色av一区二区在线| 色色网91| 波多野结衣一级视频| 亚洲爽图| 亚洲人久久久久日| a啊啊啊啊啊啊啊啊一区二区| 神马久久69| 成人色女网| 四虎永久在线精品免费网址 | 亚洲97成人在线观看| 啊啊啊啊啊啊在线| 老熟乱一区二区三区四区| 久久久久日本视| 91亚州日韩高清| 俞拍久久国应视频| 中文字幕第页| 开心激情站| 欧美一级色| 性爱乱伦网址| 日本在线播放不卡一区| 国产激情在线观看| 91粉嫩萝控精品福利网站_精品影音先锋国| 日韩性爱视频在线免费观看 | 再深点灬舒服灬太大了添视频| 毛片久久| 国产精品爆乳懂色蜜乳| 囯戸精品高潮呻吟旡码| 高清国产性猛交xxxx乱大交| 熟女人妇一区二区三区| 亚洲欧洲综合视频在线| 99久久久99久久91熟女| 精品一区二区3区| 夜色五月天| 精品美女少妇一区二区三区| 精品人妻1区| 51久久夜色精品国产麻豆| 国产色综合亚洲色综合吹潮| 中文字幕AV乱伦| 欧美国产欧美在线观看| 日韩黄色电影网站| 美国美女AV在线| 97青娱乐超碰久久| 色婷婷综合久久中文字幕雪峰| 国产丝袜欧美在线视频| 粉嫩av平台| 成人av影院在线观看| 欧美大香蕉久| 国产激情av女片自拍| 无码国产精品午夜不卡(| 色色色热| 久草资源在线视频官方总站日韩丝袜美腿| 亚洲免费97免费| 青青草日韩免费观看高清在线| 羞答答AV中文字| 久久系列| 亚洲欧美日韩精品久久久一区二区| 九热视频| 97超碰热线| 九久久精品| 人人妻人人玩人人澡人人爽| 中文字幕丝袜美腿| 91色伦综合| 欧美92| 久久黄片国产一区二区| 五月色网| 黄色av播放免不| 日韩成人精品| 99九九久久| 少妇与黑人高潮在线| 嗯~啊~轻一点 视频| 亚洲av噜噜噜噜噜噜| 一本一道vs波多野结衣| 日韩熟女精品无码专区一区二区| 久久综合久色欧美综合狠狠| 97无码视频在线播放| 黄aaaaaaaaaaaaaaaaaa色网站| 男女打扑克高清网站| 欧美,亚洲,日韩,v,天堂,手机在线观看| 久 久无码人妻AV| 久久av成人无码免费| 日本淫色网| 成人情色综合网| 午夜亚洲国产理论秋霞| 青青草亚洲一区 | 久久一二三四不卡| 国产免费黄色一级大片| 久久女婷| 无码精品啪啪啪一区二区三区三州| 香蕉欧美| 欧美v日韩欧亚洲电影天堂色诱,国产传媒| 桑老女人九区| 91成人在线免费视频| 久久国产精品,久久国产| 麻豆尤物视频网| 家庭乱伦性爱av| 啊啊啊啊啊操我视频| 性欧美999| 日本视频在线观看污污污| 欧美亚洲影视| 襙一襙| 亚洲男人bt天堂| 91美女国产在线| 黄色大片免费在线| 东北女人| 色视频蜜乳| 夜夜操av亚洲一区二区| 国产内射爽爽大片| 欧美综合网1| 久久久久久性爱视频| 久久久精精精| 婷婷丁香六月| 一起草视频在线| 95人妻爽爽人人做人人澡| 婷婷五月天色网| 女人双腿搬开让男人桶| 一摸二插三插| 97色色婷婷| 人妻精品一区二区| 又黄又爽在线观看视频| 97免费在线视频| 97精品一二区| 亚洲无线码欧洲精品区别| 久久111| 久久伊人亚洲AV无码网站| 欧美72网页| 99老司机精品视频在线观看| 99久在线精品99re8热视频在线| 国产亚洲日韩在线三区黑人| 啊啊啊操死我了| 9999久久久久| 夜夜草天天| 啊啊啊啊在线观看网址| 波多野结衣先锋影音| 精品人妻视频一区二区在线播放| 九九99久久| 午夜国产成人精品视频| 国产亚洲精品美女| 人妻精品视频一区二区| 我要色综合网| 青女在线| 五月婷婷无码| 亚洲熟女乱色一区二区三区| 天堂涩涩| 欧美美女自慰一区二区三区| 手机在线播放国产福利| 91性片| 亚洲免费97免费| 亚洲鸥美色图| 久久婷五月| 妇女性内射冈站HDWWWCOM| 综合网亚洲1| 毛片视频白嫩| 亚洲欧美日韩综合在线尤物 | 91原创在线观看| 亚洲av综合色区无码一| 亚洲色图欧洲| 欧美性天天影院| 午夜免费视频1000| 国产 热久久久久国产精品| 1240青青草一区二区三区视频天爱| 99热导航| 亚洲天堂7777| 日本 免费 一区二区三区 久久香蕉| 久久国产精品一区二区| 俄罗斯及免费在线看| 凸凹视频在线观看| 级做a爱无码性色永久免费| 婷婷五月天色网| 人妻在线臀日韩| 99热在线观看| 最好看的中文字幕在线2018| 精品久久久av无码免费| 91亚洲欧美激情| 久久久精品一区二区| 欧美色图片91| 超踫中文字幕| 亚洲精品毛片在线观看| 九九无码视频| 国产白丝网站| 打av高清| 久久久无码精品人妻二区| 午夜一级免费毛片| 国产极品粉嫩馒头一线天av| 国产精品蜜臀久久久久无码AV| 国产高清自拍| 亚洲中文字幕乱码无码一区二区| 97免费在线观看| 精品成人久久久人人亚洲| 夜夜国产一区| 久操九九九九九九九九九九九九九九九九九九九九九九九九九九九九 | 麻豆60秒| 亚洲 日韩 欧美 国产综合体| 亚洲制服欧美另类内射| 亚州人妻| 四虎影库国产精品免费| 超碰 97国产熟女| 99国内精品| 欧美在线官网| 亚洲综合码| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 青草视频在线看看看看看看看看看| 欧美精品日韩一区二区| 亚洲欧洲另类| 天天添天天干电影| 久久久久国产亚洲一区欧美色图日韩| 久久大香蕉手机高清| 天堂资源欧美| 丝袜无码a片| 日日做夜狠狠爱欧美黑人| 91久久99久久91熟女精品| 男女无套 免费网站| 男同专区一区二区三区在线| 97chaopengongkai| 大香蕉伊人网| 免费日韩黄片| 亚洲 国产 精品一区| 欧美精品1区2区3区| 久久99视频| 久久超碰久| 91视频成人福利网站在线一区| 午夜性| 亚洲91网站| 亚洲91射| 男人的天堂 在线一区| 免费国产电影一区二区| 亚洲囯产精品女人久久久| 日本高清_区二区三区| AV综合中文字幕干| 97久精品| 天堂亚洲精品久久老牛| 加勒比海人人操超碰在线| 亚洲人妻在线精品| 视频在线观看免费一区二区三区| www色婷婷| 亚洲色图 欧美热图 清纯唯美 另类自拍 | 婷婷综合| 东北女人的毛片| 亚州精品人妻一二三区| 婷婷五月天补不补| 亚洲人在线| 国产精品高朝久久久久久久| 日本不卡一区二区| 日韩av影片在线观看| 超碰人人乐97| 啊啊啊啊啊好舒服视频| 精品人妻一区二区免费蜜桃视频| 操逼国产免费| 久久国产三区| 91天堂丝袜美腿| 欧美不卡在线一区二区| 色噜噜狠狠色综合日日| 天天天天天超碰| 国产熟女精品一区二区| 久久精视频美日韩在线视频| 欧美综合第一| 欧美91变态| 在线综合 亚洲 欧美中文字幕| 色综合一区二区三区| 久久久亚洲欧美综合| 91九久| 丝袜视频网国产90| 国产性爱在线视频一区二区| 内射白嫩美女| 欧美伊人电影| 国内毛片国产专区二| 另类小说五月天| 激情小说激情视频| 亚洲欧美一区二区三区在钱蜜桃| 久久精品国产精品| 欧美成人A√在线一区二区| 97色在线| 97国产精品在线观看| 欧美成人A天堂片在线观看| 青青草视频爽一爽| 先锋女优在线观看视频| 黄网在线播放| 亚洲在钱| 人人操人人叉人人插人人| 亚洲AV不卡在线观看尤物| 97精品一区二区视频| 蜜臀国产AV中文字幕| 91精品婷婷国产综合久久| 综合操逼| 日本天堂在线播放| 伊人久操| 91精品少妇搡搡搡| 日本在线不卡v二区| 天天射夜夜| 家庭乱伦国产| 中文字幕神马久久| 操逼无码一区| 欧洲性人爱视频| 日韩成人大片一区二区| 超碰在线成人电影| 精品制服美女中文一区二区三区| 九九综合久久中文字幕| 欧美久久久| 国产综合网站在线播放 | 一区二区蜜臀| 久久直播国产| 国偷自 一区| 国产超碰| 超碰在线91| 久久久亚洲精品电影免费看| 操操操五月天婷婷丁香影院| 欧美伦乱爱| 逼逼逼逼操操操操操操操操操午夜剧场| 偷拍色图| 精品久热| 精品一区二区三区国产| 成人三级片无码| 免费在线观看AV无码网站| 91xingse| 97激情97激情| 日韩有码回春沙龙第一页| s片在线观看| 夜夜嗨老熟女AV一区二区三区| 艹少妇网站| 天堂中文日本在线观看| 中文字幕人妻丝袜| 国产精品久久天天干| 91黑丝美女| 国产精品无码论坛| 亚洲91网| 加勒比伊人影院| 9久热| 十八禁视频一区二区| 丝袜高跟澳门91视频| www.夜夜| 日韩人妻制服丝袜av| 亚洲色图欧美色18直播在线| 精品一区96| 五月天黄色激情视频| 欧美97在线欧| wuyechaopeng| 中文字幕丝袜人妻| av国产无码| 中国操逼无码| 天天欲望网| 欲射影视| 最新AVzaixian| 性爱边摸边日免费AV| 少妇久久久久| 97chaopenrihan| 男插女青青影院| 丝袜美腿诱惑亚洲欧美视频在线观看| 久久国产乱子伦精品免费女人| 亚洲精品人体| 亚洲欧美激情小说| 色九九九综合| 欧洲综合视频| 五月色丁香| 午夜无码精品免费看性色| 亚洲成a人v欧美综合天堂下载| 欧美体内射精| 大香蕉99热| 人妻偷拍一区二区三区| 91色人妻| 高颜值美女口爆高潮浪叫| 密臀AV在线| 精品人人| 久久人妻丝袜一区二区三| 午夜久久无码1000合集| 综合av社区| 亚洲色图欧美一区二区不卡| 骚货操死你| 中出人妻中文字幕91在线| 天美传媒在线一区| 欧美亚洲第1页| 久久国产三区| 蜜臀久久99精品久久综合| 久久 国产精品 一区| 成人八戒网站| 本道在线| 久99| 91美女在线观看| 乱伦系列一区二区| 成视频在线观看免费看| 中文字幕精品三级久久久| 嫩草伊人久久精品| 亚洲射综合网| 91亚洲影院综合| 欧美在线色图| 久久欧洲| 亚洲青色欧美| 蜜桃一区二区三区| 99久在线精品99re8a| 嗯嗯啊啊好疼| 亚欧美综合网。| 啊嗯嗯啊好大好爽| 久久久九九| 快播久久人人aV| 南澳成人一级片在线播放| 五月天久久人妻| 蜜臀网 一区| 一区二区乱码福利| 爱妃国产亚洲视频中文字幕| 亚洲色图尤物视频 | 亚洲天堂中文字| 福利在线黄片| 一区二区三区四区色图| 九九久久首页| 人人妻人人色| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 狠狠躁久久躁| 久久人妻| 91人妻精华帖| www超碰| 久久久999网站| 一本一首道人妻少妇免费久久| 九一性生活免费视频| 热G综合热G中文| 超碰91在线| 综合 欧美 亚洲 日本| 欧美十八禁在线看| 91视频观看网站| 亚洲精品三区在线观看| 四虎影视永久在线免费| 亚洲aV性爱| 你懂的在线观看区国产| 免费综合亚洲中文| 最新av中文字幕高清| 国产 热久久久久国产精品| 国产精品不卡一区二区三区av| 日产成人久久| 俄罗斯一区二区视频在线观看| 亚洲国产精品久久久久久久久久| 亚洲性少妇| 国产操逼视频在线观看| 色999;丁香五月| 99熟女| 亚洲在钱| 亚洲欧美第一页| 日韩性爱毛片操骚逼| www.婷婷六月天| 欧美熟女妇同| 欧美精品庄| 久久国产热视频97电影| 人人色97| 久久久少妇诱惑精品视频| 免费观看成人www精品视频| 玖玖玖玖精品国产剧情| 嗯嗯啊啊亚欧精品| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 色欲三区| 欧美毛片在线网| 麻豆一区在线| 内射黑人| 欧亚久久偷拍视频| 久久午夜色播影院免费高清| 一区二区三区精品久久| 久9久9精品| 碰碰97| 日韩精品一区二区三区色欲| 97伪v| 少妇高潮流水av免费| 亚洲熟妇自偷自拍另欧美| 国偷自 一区| 国产专区第一页| 91国产大片| 秋霞色色影院| 日本人体九九九九九九| 72av视频| 97综合在线| 日本久久久精品电影| 欧美黄片免费在线观看视频| 精品国产乱码久久| 探花激情视频| 九九九九一区| av片在线观看免费播放| 久久视频,这里只有精品| 黑人白女精品一区| 99RE在线视频精品,这里只有精品| 91色色网站| 国产精品情侣啪啪| 色吧5亚洲| ,国产乱人伦精品一区二区三区| 嗯嗯不要视频| 超碰79人人乐| av三级电影在线播放| 97天天摸天天碰| 欧洲精品一级二级精品综合视频综合 | 国产精品久久久久久久久久久久久久| 婷婷丁香成人| 老熟妇91| 97亚洲国产影视| 在线αⅴ| 国产真实野战在线视频| 熟女精品va中文字幕| 成人短视频在线观看| 超碰久久中文| 狠狠躁天天躁日日躁| 国产综合久久久麻桃个| 亚洲另类久操网| 一级AV性爱| 91丝袜美女视频| 婷婷色婷婷| 9久9久9久9久视频网站| 五月综合视频| 国产无码久久高清| 2017大香蕉国产精品久久| h4610国产人妻| 激情文学小说一区二区| 人人摸人人干| 日本黄大片在线观看视频| 精品一二三区四视频| 一区二区三区精品视频| 超碰99re| 嗯嗯啊好大| 九九aV| 国产成年女黄特黄| 久久婷婷欧美| 国产这里只有精品| 欧美一区二区三区互相| 综合情欲网| ′ !γ}丶。。久久精品欧美一区二区三区 | 欧美综合天堂| 亚洲精品欧美专业| 看日韩操逼| 人妻铁牛TV| 无码久| 婷婷爱五月| 亚洲成人性爱网站在线播放| 91视频女生| 日韩久久超碰色| 在线国产一区二区av| 97超碰欧美| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 亚洲最新a在线观看| 亚洲黄网在哪免费看| 色路综合| 骚熟女吞| 日韩pv中文| 久久精品亚洲成a人天堂| www国产无码| 国产精品3| 少妇一区二区三区在线观看| 我要看免费韩日黄片| 日韩中文字幕国产| 神马午夜久久| 久久久草草精品| AND人妻系列| 五月香婷婷| 97爱亚洲| xxxx网站亚洲精品| 欧美极品女人的天堂| 久久蜜色情在线视频xxx免费观看| 搡老熟女免费视频| 成人AV素股で擦久久| 久久精视频美日韩在线视频| 久久午夜鲁丝片| 97亚洲中文| 亚洲欧美内射| 人妻免费观看| 亚州色图狠狠干| 亚洲天堂电影精品一区| 人人妻人人狠人人| 久久黄色视频一区二区三区| 亚洲色婷婷久久久综合日本| 天天久久久久久| 丝袜狂射91| 久久大陆| 神马久久久久久久久久久久| 色综合一区二区三巨| 丁香六月综合激情| 日韩中文字幕视频在线观看| 奇米狠999| 日韩av不卡在线看| 色综合V| 日韩精品字幕| 永久电影三级在线观看| 国产精品99999| 日韩大香蕉| 蜜臀AV秘一区翔田千里| 97在线观看视频| 性欧美天天| 精品久久久久瑟瑟| www.四虎在线| 九九毛片这里只有精品| 人妻天天夜夜爽一区二区| 色婷婷av在线观看| 久久久久久久人妻| 五月天开心网| 口爆综合网| 狂操嫩妻视频一区二区三区| 亚洲少妇色| 男人兔费天堂| 99久久这里只有精品| 日韩三级网址| 秋霞男人网| 久草毛片电影怡| 成人热久久精品| 日韩 欧美 国产 麻豆| 熟女久久久| 97久操| 2017天天插| 91精品国产91久久青草 | 日韩欧美传媒一区国产| 久久精品熟妇丰满人妻99| 日韩在线国产字幕| AV一区观看| 国产午夜激片Av毛片不卡| 中文字幕性感少妇av| 午夜精品久久久久久久男人的天堂 | 中出在线视频| 99re这里只有| 色呦呦国产精品免费看| 午夜啪啪片| 六月丁香久久| 亚洲AV资源| 久久久精品一区二区| 999九九九九国产动| 色欲天香天天综合网-成年人三级片网站-欧美乱妇狂野-日韩国产专区-久久久久久 | 欧美综合色站| 日韩电影免费网站麻豆视频| 亚洲天堂区| 日本女厕偷拍| 欧美激情亚洲情色| 国产路线专区| 成人资源中文字幕在线观看| 精品9999| 久久久久国产精品久久久| 强奸乱伦AV网址| 色色五月丁香| 欧美色图下一页| 国产久久天堂资源| 欧 美 自 拍 偷 拍| 超碰免费人人| 亚熟hd视频在线| 亚洲欧美伦综合| 免费黄色片。| 青娱乐啪啪视频| 欧美日韩国产另类综合| 一区二区三区欧美激情| 丝袜喷水在线| 欧美丝袜91| 狠狠中文字幕| 看看小穴| 老鸭窝在线视频播放| 无码不卡八戒| 99热精品在线观看| 97超碰这里只有精品| 97综合| AV综合中文字幕干| 欧美 亚洲 另类 综合| 91日韩| www.yw尤物| 精吧天堂| 午夜亚洲国产理论秋霞| 欧美老熟另类| 人人妻人人澡人人爽人人精品浪潮| 免费亚洲黄色视频在线观看| 日韩三级网址| 我想要 啊 啊 啊| 国产乱伦一二三区| 日韩中文字幕宗合在线| 摸奶性爱视频网站在线免费播放| 欧美另类色图片| 日韩精品人妻中文字幕不卡乱码| 欧洲成人性爱视频| 好好的日:com久久九九| a'v在线资源| 国产免费一区二区三区最新不卡 | 啊啊啊啊嗯嗯在线久久久| 国产精品一区二区三区,亚洲综合 性开放中文AV高清无码免费看 | 淫荡少妇免费| 国产福利夜| 久久狠狠色噜噜狠狠狠狠97| 日韩啪啪啪啪啪| 亚洲综合有码| 婷婷色播婷婷| K8久久久久| 成人综合久久精品色婷婷| 久草线上视频免费看| 国产精品久久久久中文字幕| 欧美色图 人妻| 久久久久免费看少妇A片特黄| 懂色AV中文| 亚洲国产欧美一区二区潘金莲| 91美女视频在线| 强奸乱伦AV网址| 久久久久亚洲精品| 日韩av不卡在线看| 久日综合网| 十八禁的黄污污免费网站| 91成人久久| 91呆哥人妻| 精品人妻一区二区三区免费视频| 狠狠色婷婷| 啊啊啊爽爽| 精品免费一区二区三区在线亚洲人成| 探花视频免费观看国产专区| 青青草视频爽一爽| 九九精品无码专区免费| 精品无码久久久久| 1024人妻熟女一区二区三区| 人人妻人人色一区二区三区| 五月激情影院| 91综合在线| 白天啪啪晚上啪啪视频| 97 亚洲 日韩 欧美 在线| 26UUU欧美日本| 超碰中文字幕人妻草一区| 操操逼操操逼操操逼逼| 久草成人影片| 国产欧美伊人| 日本三级A片网站com| 亚洲九九视频在线观看| 丁香五月激情综合| 国产精品久久aV| 成人天天爽| 久青草影院| 成人性爱免费播放| 久久九操在线观看| 涩涩五月天| 欧美一级AAAAAAA| 校园春色家庭伦理欧美激情| 吻戏激情性巴克| 美女视频尤物网在线看| 后入日本1234| 亚洲91av| 人人摸人人舔一区二区| 高清国产无码av| 伊人久久久日韩一区| 欧美精品自慰系列寂寞少妇| 97亚洲精品| 五月开心久久AV官网| 激情五月综合网| 免费啪啪av| 国产麻豆91欧美一区二区久久婷婷国产精品| 91粉芽高清在线一区二区| 成人AV超碰免费在线| 青青草原伊人网| 久久神马影院| 色婷婷影院| 尤物黄色在线观看网站| 丰满人妻-区二区三区免费看| 亚洲视频小说| 亚洲宅男天堂| 国产 日韩 欧美 中文 另类,国产 欧美 另类 制服 变态,高清 日韩 欧美 中文,高 | 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师 | 亚洲国产综合图区中文字幕| 亚洲第一综合| 粉嫩av久久一区二区三区| 超碰碰97资源站| 涩涩久久精品| 国产在线不卡导航| 中文字幕在线日亚州9| 国产精品无码久久久久2025| 亚洲丝袜诱惑| 亚洲性综合11| 久久伦理视频久久大香蕉视频| 青青草在线成人视频| 色区久久| 婷婷视频在线免费观看| av一区二区三区不卡| 天天亚洲| 老熟乱一区二区三区四区| 俞拍自拍| 日本欧美色| 欧美少妇一区二区三区| 99色综合| 操美女高潮抽搐白浆| 秋霞影音一区二区三区| 91丨豆花丨熟女| 亚洲A曰本VA欧美VA视频| 精品少妇999| 啊啊啊久久| 欲香欲色综合天天伊人| 97综合久第一页| 精品九九淫乱男| 欧美性爱一区二区三区四区 | 草草草视频在线免费看| 亚洲资源一区| 9美女超碰在线免费观看| 日韩综合色网| 大但人体久久久久| 精品国产综合久久福利,热99这里有精品综合久久,99热这里只有免费国产精品,精 | 美女诱惑一区| 色噜噜国产精品视频一区二区| 欧美激情内射| 欧美劲爆第一页| 伊人网高清| 国产精品久久久 | 国产精品一区二区三区在线密挑| 色婷婷基地| 欧美国产日韩清纯唯美| 99激情| 校园春色制服丝袜中文字亚洲| 五月天色图影视| 超碰亚洲欧美日韩无| 很黄很污的免费网站|