日韩精品一区二区三区在线视频放-无码中文字幕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
返回資訊列表
91黑丝美女| 亚洲成人在线乱码色午夜| 欧美一级黄色免费专区| 综合色好色| 91麻豆天美国产| 18禁中文字幕| 成人怡红院| 亚洲综合骚逼| 亚洲骚女一区二区三区| 精品人体无圣光凹凸| 亚洲清纯综合| 国产传媒一区日韩| 香蕉热人人精品| 乱子伦一区二区三区国产精品| 欧美一区二区亚洲天堂| 丰满岳乱妇一区二区三区| 啊啊啊轻点在线观看| 神马视频久久久久久| 人人妻人人狠人人| 又粗又长又爽在线观看| 放黄片放3级黄片没穿衣服| ss久久| 狠狠色狠狠色狠狠五月| 白丝AV| 无码人妻毛片丰满熟妇精品区| 亚洲中文字幕乱码无码一区二区| 九九久久综合| 亚洲毛片一级带毛片基地| 手机在线大香蕉| 久久精品国产精品| 久久9 9 9精品| 91精品黄在线观看| 午夜色婷婷| 有码人妻系列| 久久东京热久久| 亚洲成人激情小说视频| 青青草久草| 丝袜美腿操av| av日韩中文字幕| 人人妻人人色一区二区三区| 黄片在线免费在线观看| 久污| 狠狠2050在线观看| 美女啊啊啊啊啊| 人人人摸人人| 久久夜精品一区二区三区| 国产精品久久久视频| 亚洲无码 国产无码| 国产精品成久久久久午夜午夜| 超碰 国产熟女精品一区| 午夜天天碰综合视频| 五月丁香综合啪啪| 97碰在线视频| 日韩欧美亚洲一区二区三区影院 | 91高清欧美| 久久偷偷色综合蜜桃| 欧美 青青草| 日韩一区二区三区四区五区| 日本高清久久| 亚洲人在线成线成人| 九色97| 九九这里只有精品| 青草青青久久久久久国产| 国产精品天干天干综合网麻豆 | 78精品| 大香蕉伊然在亚洲91| 亚州中文字幕超碰97| 欧美熟妇操操视频| 屌妞视频久久久久久久久久久久| 嗯嗯嗯不要不要免费视频| 国产性刺激| 久久綜合很很很| 欧美九9 9 9| 欧美亚男人的天堂| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 97Ai亚洲| 精品人妻1区| 国产绿奴视频在线观看| 久久天天摸| 亚洲色图 欧美热图 清纯唯美 另类自拍| 伊人网av| 精品乱码在线观看| 日本视频在线中文字幕| 老司机天天操| 日韩另类色图| 亚洲色图欧美另类在线| 插入粉嫩少妇视频| 黄片免费日韩| 五月色网| 亚洲狼狼干综合1| 天海翼久久| 天天天干977| www.男人的天堂| 九九九九热| 黄片免费看的| 久久久久免费少妇| 无码操逼天堂| 欧美传媒| 欧美有码激情视频一区二区三区| 试看福利| 91视频综合| 国产熟女免费观看久久| 国精品一区二区三| 夜夜嗨TV| 隔壁邻居波多野结衣中文字幕| 996热| 宅男91视频在线播放| 中文字幕av丝袜| 97aiaiai| 久久精品国产亚洲AV片多多| 青青草十区九区爱夜| 久操电影网| 不卡中文字幕aⅴ在线| 大香交伊人网| 中文字幕乱妇免费视频| 九九视频黄色片| 成人AV在线电影| 超碰在线一区| 五月婷婷久久综合| 粉嫩久久久极品| 色屁屁影院www国产| 啊啊啊啊一区| 日韩在线欧美精品一区二区| 久久天天性久久伊人| Julia Annxxxxx| 91人妻少妇| 精品色色| 后入国产| 久久久久久性爱片| 亚洲女人91| 亚洲AV无码乱码在线观看性色| 粉嫩少妇自慰在线| av无线看| 91欧美性| 91精品大奶人妻| 蜜桃臀久久| 99久久无码| 一区二区日韩欧美久久| 欧美日韩中文视频播放| 蜜色网色哟哟| 97精品网| av久日| 日本操逼aaaaa| 国产精品 午夜福利| 青娱乐福利99| 操逼999| 国产性爱强奸乱伦大全| 91色五月俺来也| 久久国产熟女影院| 中文字幕免费看| 三级三级三级a级全黄三| 日韩人妻精品中文字幕| 青娱乐国产剧情av一区| 国产精品第一页国产大屁股视频免费区i| 日韩中文字幕人妻视频| 少妇激情一区二区三区视频| 青青草中文-久久青草精品一区二区三 | 伦理日韩国产久久| 亚洲欧美中文日韩视频中国语 | 91久久九九精品国产综合| 成人国产视频在线观看| 第四色奇米影视777| av无码精品久久久久| 性无码专区2020| 精品人妻一区二区三区-国产| 激情视频网址| 91丨人妻丨国产丨丝袜| 国产AV天美| 成人熟女区| 欧美18 在线观看| 色五月婷婷久久| 久久久精品视频免费观看| 超碰99热中文字幕| 成人夜夜爽| 国产精品无码论坛| 国产精品原创巨作?v网站| 91殴美大片| 国产精品岛国片在线观看| 中文字幕无码不卡啪啪| 在线啊啊啊啊| 亚洲强奸乱伦影视网| 亚洲欧美洲综合| 亚洲另类久操网| 夜夜天天噜狠狠爱2021| 黄久在线| 97干天天| 欧美大香蕉卡久久| 婷婷五月丁香五月| 日韩国产不卡在线视频| 91天天综合日韩欧美| 美女露胸露奶头| 日韩AV电影网站| 免费av在线播放二区| 色悠久久久av| 欧美激情欧美精品| 夜夜嗨AV一区天天| 日韩不卡av一二三| 91搡老女人老妇女老熟女歌词翻译| 中文幕97| 欧美一二三区四五区| 日本在线不卡一二区| 伦激情人妻另类人妻| 国产av色网| 男人久久精品| 伊蕉97蜜桃97狠狠综合干| 超碰在线成人| 去干网最新版| 无码抄逼网| 1769国内精品视频| 麻豆熟妇乱妇熟色A片在线看| 亚洲精品天天影视综合网| 亚洲色啪| 强奸a片网| 午夜视频好爽啊| 最新无码国产| 人妻另类 专区 欧美 制服| 精品美女少妇一区二区| 高潮9999外国| 国产精品乱码久久| 思思热国产高清| 久啪视频| 91老司机精品| 成人性交午夜免费片| 午夜久久久| 后入日本1234| 欧美性夜| 亚洲学生妹高清av| 久久久神马影院| 综合av影片| 风月影院男女十八禁| 91/欧美| 久久久久久久久九九久孕交| 四虎视频在线观看| 330dv亚洲成年视频网| 精品国产国产AV| 日韩三级在线观看mp4| 强上我不卡卡| 久久久九97| 九九九九久久久| 理论久久婷婷网 8| 欧美熟女激情| 国偷自 一区二区| 欧美亚洲厕所精品偷拍91| 欧美色图人妻| 精品亚州18| 久久久久亚洲一区女同性恋中文字幕| 亚洲熟女一区| 五月天亚洲网| 久久久久夜夜夜夜| 精品中文字幕第一页| 加勒比久久综合网高清| 婷婷大香蕉| 国产精选三级在线观看| 日韩一区二区精品视频| 91亚州欧美| 欧美色自拍| 久久亚洲色图中文字幕| 91日韩| 亚洲国产精品V?在线播放| 日韩精品碰碰| 日本国产欧美高清在线| 宅男91视频在线播放| 欧美91精彩| 加勒比色99999| 日本阿v天堂在线观看| 免费自拍三级综合| 99热在线播放| 老汉网| av橘色网站| 99久久无色码| 熟女六十路| 视频在线观看一二三区| 色亚州人久干视频在线观看免费版| 欧美亚洲韩国视频十五区| 天天综合中文字幕 91| 国产AAAAAABBBBB| 91强奸乱轮| 无码欧美有限公司| 东北女人性交| 国产精品久久久久久亚洲色欲| 日韩在线一区二区| 美女尤物福利视频| 亚洲脚交| 蜜乳av一区二区| 国产 码在线成人网站| 综合干干干av久久久综合网| 青草一区二区| 人妻22p| 熟女一区二区三区| 91美女视频直播| 亚洲国产成人福利在线观看| 四月丁香婷婷| 啪啪啪综合| 亚洲av无线观看| 久久免费精品视频免一| 白嫩嫩一区| 久久女女| 日韩性爱再线视频| 不卡六六在线91| 十八禁av无码免费网站APP| 婷婷香蕉欧美在线一区二区三区| 丝袜视频网国产90| 午夜视频久久久久一区| 淫骚熟女一区二区三区| 韩美日操逼| 97天天搞在线| 啪啪啪综合网| 精品v1区| av亚欧| 天堂中文日本在线观看| 97免费视频在线观看视频| 日日操免费视频| 国产有码一区| 视频一区二区三区精品| 国内操逼视频二区| 婷婷干黄色| 91日韩在线| 亚洲风情综合网| 99精品久久久久久久婷婷| 啊啊啊啊操死我了| 大黄片做爱的大的| 国产精品亚洲日韩骚欢乐谷最新地址发布页huanieguty性屋娱乐妖精视频 | 久久色一区二区| 欧美性生活免费网| 91女优在线观看 | 2017人人操,人人摸| 大香蕉欧美日韩| 天天躁日日躁AAAAXXXX国产 | 久久久亚洲精品电影免费看| 国产精品点击进入在线影院高清| 精久久久91| 日韩中文字幕视频| 嗯,啊。舔我逼| 91人妻中文| 中文乱码99| 亚洲性爱免费电影| 色五月激情AV在线| 丁香六月婷婷综合| 殴美性天天| 欧美亚洲玖玖玖| 欧美性爱精品七区| 久久99国产综合精品女同| 性爱综合一区二区| 欧亚三区动漫| 一区二区三区蜜桃成人撸久久东京热 | 日韩啪啪啪啪啪| 欧美91在线| 亚av顶级裸体一区二区三区四区五区 | 激情开心五月天| 情色图区| 操b网站亚洲无码| 日韩人成网站在线播放| 91综合色| 九九综合网| 综合熟女| 日韩三级伦理中文字幕| 久久华人网| 少妇一线天久久久久久| 亚洲AV秘 精品久久老牛影视| 97操碰| 亚洲欧美综合色| 最新中文字幕在线亚洲| 91日韩| 日韩精品国模| 欧美天堂超碰97| 视频在线观看免费一区二区三区| 69一区二区| 亚洲污污网站| 亚洲五月天激情| 不卡日本一区二区| 欧美,亚洲,日韩,v,天堂,手机在线观看 | 天堂中文资源在线bt| 性色综合网| ...日韩成人一区二区三区字幕| 69人妻精品一区二区绯色| 国产av强奸美女| 91这里只有精品| 超碰97最新人妻| 狠狠躁AV| 亚洲 综合 欧美| 日韩一性一交一A片俄罗斯| 懂色aV一区二区天美传媒| 日本一级不卡一二区| 天天干天天日天天射黄色大片| 欧美婷婷五月天| 欧美成人四级在线播放| 黄色片,com| 秋霞一级鲁丝片A片| 91男人天堂网| 午夜福利在线合集| 91欧美性| 久久久久久久久国产| 91撸色网 玖玖网 欧美| 中文字幕黑人大片| 欧美日韩999| 国产一区二区三区导航| 欧美日韩在线国产在线| 亚欧性爱无码| 色天使亚洲综合在线观看| 欧美v日韩v亚洲v最新在线| 99青青草国产视频| 怡春苑东京热| 啊啊啊啊啊啊啊啊要喷了| 精品人妻一区二区乱码一区二区| 天天日日本| 蜜伊人色综合97| 日本 欧美 亚中文字幕| 97蜜桃综合| 久久极品一区二区| 玖玖97综合 | 国产精品久久久久久久久久久久久久吹 | 易易A毛视频| 亚州九九九精品视频| 97视频900| 色男人色天堂东京热| 1204金沙人妻懂旧版免费| 伊人精品视频| 色偷偷超碰亚洲| 久草电影网| 亚洲资源吧| 99激情视频| 性开放中文AV高清无码免费看| 免费观看有码高清视频| 乱抡国产91| 国产一区二区在线播放量| 一卡二卡三卡| 性欧美另类高清| 视频国产欧美在线播放| 免费看黄片现成| 性色av蜜臀av色欲aV| 成人福利视频网| 激情综合亚洲| 一区二区不卡| 色色九区| 999精品国产高清一区二区| 国产一区二区a毛片| 国产伦乱91| 麻花豆传媒剧国产MV出差| 国产精品成人蜜臀AV在线| 狠狠狠狠狠干| 99色日| 国际精品久久久| 欧美一区二区三区不卡高清视频| 777琪琪午夜免费A片| 久操精品网| 日韩紧密久久| 亚洲综合色图欧美| 亚洲熟女精品| 天天综合,91综合永久| 免费久久9999| 又大又大又大又粗爽高潮观看 | 久久久精品中文字幕麻豆| 淫淫综合网| 亚洲自拍天堂| 久久久工口| 蜜臀99久久精品| 国产女s强制榨精视频| 99久久婷婷丁香| 久jiu久神马影院| 91久久18禁| 老妇女91| 999岛国大片| 刺激精品视频| 九九九九精品九九九九| 日韩av乱伦| 97在线青| 人人做,人人操,人人摸| 91久久久久久久久18| 青青国产在线拍揄自揄拍| 欧美 日韩 亚洲 春色| 亚洲丝袜色| 中文字幕午夜精品久久久| 国产av强奸美女| 九九久久一区二区三区| 欧美色图亚洲色| 狠狠色综合网| 丝袜美腿校园春色| 久久久久亚洲| 欧美综合站| 欧美91网| 欧美日韩999| 97精品视频在线| 看免费的黄片| 啊啊啊97视频| 少妇无码999| 色综合久| 97chaopengongkai| 情侣开房子拍 日韩无码 女的很漂亮| 91色亚洲| 人妻夜夜爽天天爽麻豆三区网站 | 四虎免费在线观看| 天美国产三级传媒| 亚洲国产精品无码AV久久| 懂色天天爱天天日天天射天天澡| 九九九九九九成人| 国产黄片在线免费观看| 欧洲精品久久| 曰韩av中文字幕专区| 5252色欧美在线男人的天堂| 色999五月色| 不卡码视频| 男女国产精品| 久久超碰亚洲人| 国产在线综合福利网站| 一区二区三区 丝袜高跟| 国产精品爱欲| 日韩有码回春沙龙第一页| 国产女性无套 免费观看| 女人天堂网| 国产精品大香蕉| 97超碰人妻| 精品久久久久黄少妇| 黄色电影在线播放综合网站| 在线一区| 色婷五月天| 97亚洲自在精品在线观看| 成人网址在线观看| 欧美巨大性舒爽顶到了| 超碰97欧美日韩| 国产农村一一级特黄毛片| 欧美 色 亚洲| 麻豆福利视频导航| 婷婷中文网| 亚洲综人| 久久夜嗨| 操逼日韩无码 | 国产AV无码AV| 色网色网色网色网色网色| 四虎视频在线观看| 五月天婷婷久久| 18禁无码永久免费无限制| 中文字幕伊人| 国产欧美一区二区| 久久鲁干| 97久久国产精品女不卡| 久久久久久9999| 这里只有精品视频在线| 人人操肉肉| 天天日天天干天天摸天天操| 中文97国产| 日韩乱伦影音先锋| 人妻另类 专区 欧美 制服| 激情久久日韩精品中文字幕麻豆| 午夜福利久久久噜久噜久久综合 | 久久久久精| 操逼逼无码| 日韩欧美福利视频看看| 免费国产| 欧美少妇性乱| 九九久久久九九| 五月婷婷久久综合| 性在久久久久久| 免费人成毛片乱码| 国产精品视频在线观看| 国产精品69久久久久孕妇欧美| 日韩在线97| 欧美性猛交美女自慰91| 精品人人插人人操| 亚洲古典另类欧美在线| www.99中文字幕| yw尤物av无码点击进入麻豆| 亚洲天堂男| 少妇人妻在线| 超碰日韩美妻| 2026国产精品视频| 麻豆区99999| 丁香五月婷婷色| 欧美性爱另类综合| 日韩激情啪啪| 日本高清有码网址视频| 精品中文字幕一区二区| 自拍偷拍国产欧美日韩韩| 97免费视频在线观看| 久久久91| 欧美 亚洲| 97超碰精品图片| 欧美日韩亚洲少妇寂寞影院正在播放| 97日视频| 91爱做| 亚州综合图片| 蜜臀无码一区二区| 997色在线| 久久久青草青青国产亚洲免观精品高清完整版_97久久综合区小说区图片区,国精品 | 天天摸夜夜操视频| 麻豆精品三区视频| 亚洲国产中文字幕| 久久久九| 五月天伊人网| 啊啊啊啊啊啊好多水| 亚洲高清自拍| 老外又粗又长一晚做五次| 伊人一区二区在线播放| 国产精品国产自产高清AV| 强奸乱伦Av网| 激情五月综合| xxx亚洲午夜天堂| 日本97久久久精品| 国产中文日韩欧美一区二区三区人妻丝袜美腿 | 亚洲中文字幕网| 亚洲性爱高潮影院| 国产农村妇女精品1区二区| 色大香蕉97N| 久久机热| 人人妻人人爱人人玩| 无码动漫av中文字幕| 伊人精品久久网站| 精品成人av一区二区三区在线| 色色丁香| 熟女丰满人妻一区| 日本男人插女人的逼黄色| 欧美天堂亚洲电影院一区在线播放| 日日干夜夜欢| 国内外内射高清视频| 天天cao在线| www.久久制服糖| 中文字幕日本久久| 欧美在线伊人色| 国产精品粉嫩福利在线| 少妇色| 色色色天美视频| 伊人天堂在线| 少妇丝袜在线观看AV| 熟女人妻一区二区三区| 日韩一级成人毛片免费观看| 久久五月视频| 亚洲视频小说| 999999精品| 91老熟妇| 天天天天天干夜夜夜夜夜操| 精品十三区| 久久女人| 亚洲精品啪视频| 艳美熟妇先锋一二三区| 久久9999| 亚洲国产一区二区日韩专区| 色婷婷电影网| 941超碰| 奇米四色网| 日本91白丝| 久久人妻一区二区三区高清| 日本精品一级二级三级| 99热18| 国产精品视频电影| 日韩综合97p| 无色无码| 亚洲AO在线| 欧美乱欲| 四色永久成人网站| 精人妻无码一区二区三区伊人直播| 亚洲av噜噜噜噜噜噜| 國產尤物AV尤物在線觀看| 伊人网在线观看| 97久久精品| 天天干天天爽| 精产品久久| 亚洲最大网站av| 91欧美综合在线| 免费观看国产小粉嫩喷水精品午| 91黑丝少妇| 91啪啪| 欧美一区91大爱| 亚洲区 欧美区| 成人在线视频网| 视频在线观看青青99国产| 国产精品婬乱一级毛片彝族| 六月婷婷一区二区三区| 天天爽夜夜爽夜夜爽精| 五十路熟女工口 | 九九九九精品一区| 搡老女人老妇女AAA一VU麻豆| 你草精品在线视频| 人人看人人插| 婷婷精品国产一区二区三区日韩| 中文字幕美女91| 二区熟妇韩日| 2025年A片视频精品| 99啪啪视频| 99人妻碰碰碰久久久久禁片| 日产中文字幕2020| 乱伦a片视频| 欧美色自拍| 精品在线观看视频在线| 国产乱码久久久| 久插综合| 99久久e免费热视| 男人的天堂亚洲| 亚洲综合另类| 91久久婷婷| 在线97视频| 国产欧美黑人丰满在线| 一本色道无码DVD中文字幕| 国产三级资源在线观看| 97色五月天完| 情色五月天就去干| 色婷婷视频| 超碰97爽| 亚洲精品久| WWW操逼| 狠狠2050在线观看| 午夜黄色免费在线观看| 亚洲欧美清纯| 强奸少妇AV导航网| 欧美成人性爱视频免费观看| 亚洲乱色熟女一区| 国产精品播放| 91黄站| 一区二区三区成人| 久久久久久久六六| 亚洲欧美中日韩| 日本超碰在线国产一区| 91人妻爽爽人人做人人澡| 五月天色图影视| 婷婷五月天av| 精品熟女一区=区三区| 日韩一999精品| 中文字幕精品丝袜| 久久鲁夜| 亚洲天堂资源| 国产精品禁久久久精品| 青青青在线高清视频在线一二三四区| 日本媚薬中文字幕在线| 久久久9999| 日韩精品-原创伙伴| 啊啊啊久久| 中国韩国明星一极片一区乱码毛片人妻熟女一区二区三区 | 国产精品人妻无码久久久互動交流| 蜜臀久久久99久久久久 | 欧美亚男人的天堂| 97日视频| 美女网站黄页| 熟妇人妻精品一区二区| 粉嫩av在线| 影音先锋新男人| 国产福利电影| 激情干在线| 资源在线观一 二| 麻豆福利视频导航| 久久久91福利姬| 日本色日夜干| 日韩三A大片在线观看| 强奸乱伦麻豆| 情侣开房子拍 日韩无码 女的很漂亮| 欧美色66| 啊啊在线| 色色九区| 激情国产乱伦Av| 婷婷激情啪啪| 青娱乐手机日韩在线视频| 最新精品久久蜜桃 | 三级AV入口| 爆操无码| 99re9这里只有精品| 久久噜噜噜精品国产亚洲综合| 777超碰| 91少妇| 亚洲精品成人激情在线| 91+欧美| 午夜福利合集| 国产精品一区午夜福利| 99久久精品国产高潮| 国产一区二区三区不卡手机在线| 天天干夜夜操一区二区| 99在线免费公开视频| 99在线精品视频| 亚洲天堂人人妻| 精品午夜福利| 无码抄逼网| 久久蜜色情在线视频xxx免费观看| 午夜视频久久久| 91丨九色丨国产丨人妻在线| 激情六月婷婷| 一区二区亚州激情久婷婷欧美| 精品三级在线专区| 大奶啊啊好爽 | 97超碰超| 中文自拍欧美影视| 999综合色| 97亚洲在线| 99热在线观看| 色九九九综合| 日本成人免费一区二区三区| 亚州国产精品乱| 国产乱不卡| 午夜无码精品免费看性色| 97 超碰 人人做 人人爱| 中国熟妇| 浪人综合网| 一区二区三区成人 | 五月天精品| 亚洲情色 无码专区| 18禁在线视频| 国产专区路线| 视频不卡中文字幕| 女人的久久久| 国产乱伦视频污| 亚洲另类久操网| 天堂v无码免费视频| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 黄色小说亚洲| 亚洲国产一级黄色视频| 91大神电影天堂| 久久久久久性爱免费视频| 亚洲AV成人在线| 久草看看看| 色情乱伦AV| 人妻美腿丝袜日韩| 97国产成人精品免费视频| 日本一久是| 中国东北熟女老太婆内谢| 1.igao73.com 加入收藏 免费专区 国产精品 中文字幕 日韩精品 欧美精品 精彩 | 青青青在线高清视频在线一二三四区| 亚洲经典啪啪| 超碰色97| 久久最新免费视频23| 狠狠色五月亚洲91| 日日夜夜天天| 91色色网站| 欧美性,亚州色| 国产成人精品必看 | 精品日韩人妻精品一二三区| 青青操少妇| www.伪伪| 1024精品在线| 亚洲人在线| 91爆操视频| 久久系列| 国产精品久久久久久久久久久久久久久久| 日韩人成网站在线播放| 色欧美亚洲| 久久久久ab| 久草五月| 欧美 日韩 亚洲 春色| 97在线观看免费| 亚洲伊人久久精品狠狠在线| 浪人综合网| 超碰78| 国产欧洲精品亚洲午夜拍精品| 99re在线观看| 欧美激情性爱视频网站| 蜜桃久久一区| 国产精品高潮久久AV| av大香蕉| 国产区91柔拿会所技师| 2020中文字幕在线观看| 欧色性第一页| 91啪9色| 日韩精品中文字幕二区| 中文字幕精品一区欧美| 九热久| 夜夜免费视频| 国产高清不卡视频| 五月天婷婷综合网| 日韩欧美国产一区二区三区四区| 久久久久久久久久8888| 国产精品白丝在线播放| 欧美亚洲首页| 国产97综合| 一区二区 电影 亚洲| 亚洲色吧网| 动漫爆乳3D奶水一区在线观看| 日韩字幕一区| 91成人18| 亚洲成人在线乱码色午夜| 欧美亚洲se91| 国产精品久久久蜜臀| 一二三区在线| 亚洲AV永久无码一区仙野| av天堂精品久久| 国产午夜精品理论片一二三区区 | 嗯~啊~快点 死我视频| 九九热最新| A 天堂在线观看视频| 天天懆天天日| 人妻9117c| 天天综合~91| 亚洲人妻爽爽爽| 国产国产亚洲一二三久久| 国产第二页| 另类图片亚洲加勒比另类图片亚洲加勒比另类图片亚洲加勒比 | 日韩肏逼视频| 91美女小视频| 欧美九九九九九| 久久亚洲一区二区色婷婷| 天操天操夜操夜月操月年年操操| 天堂伊人久久| 黑人与人妻| 亚洲第一二区另类图| 丝袜综合| 蜜桃久久久久久久| 亚洲最大的黄色电影网站。| 亚洲 欧美 中文 日韩超碰| 色色色综合网| 日本三级中国三级99人妇网站| 日韩免费性爱视频在线观看| 日韩AV熟女乱伦| 一区二区三区精品视频| 色牛牛AV| 久99久视频| 国产无马av| 五月色综合| 亚洲男人天堂2019| 色五91| 强上我不卡卡| 五十路熟女工口 | 日日干夜夜干| 熟妇熟女亚洲天堂网| 91原创在线观看| 91丝袜美女| 久久精品免视看国产成人﹣蜜臀av一区. 久久精品免视看国产成人,蜜臀av一区 | 乱性AV| 亚洲图片婷婷五月天| 国产精品欧美日韩久久| 丁香五月综合| 色优久久| 99999精品成人| 久久综合超碰| 人妻少妇久久| 大奶的诱惑| 我要去看2个日本美女.com曹逼| 永久免费av无码网站国产app| 国产精品点击进入在线影院| 强歼乱伦资源网| 中文字幕jul-617人妻熟女| 亚洲精品 大香蕉| 精产国品一区二三产品| 亚洲天堂美臀在线| 青青在线视频免费| 无遮挡男女激烈动态图| 亚洲成人日韩小说| 综合激情五月丁香| 中文字幕制服欧美久久一区| 成人黄页| 东京热综合久久一区二区| 亚洲欧洲成人在线电影| 亚洲第一黄色av网站| 东京热免费视频| 熟妇艹鸡八| 久久9免费视频| 明星性猛交ⅹxxx乱大交| 午夜男人av| 熟妇在线视频一区二区| 欧美久久久15P| 欧美激情 亚洲色图| 性色AV蜜色av色欲av| 日本一区二区三区四区免费观看| 小少妇| 亚洲国产丝袜在线观看| 天天欧美| 岛国大片在线观看网站入口| 99热啪啪| 青青草玖玖爱| 久久久亚洲熟妇熟女| 日韩人妻 中文字幕| 性感女人网页在线观看视频| 九九人妻| 久操91视频| 丁香六月综合激情| 日韩资源网| 秋霞怕怕片| 久久曰曰| 久久原创中文| 国产黄色小视频网站| 大香蕉婷婷| 啊啊啊啊啊啊啊在线| 日韩三级伦理中文字幕| 亚洲精品三| 骚人妻少妇视频| 大学生美女口爆| 91九色首页| 香伊人在线| 五月丁香色色网| 国产十八禁视频| 一级性爱视频免费观看| 激情综合五月丁香| 97超碰欧美手机在线| www.91人妻.com| 久久久久密| 欧美 亚洲 在线| 中文字幕在线高清男人的天堂| 18禁久极品美女久久哦哟呀!| 天天综合91| 亚码激情| 97鸡把在线视频| 操逼逼无码| 国产女人9999| 日韩精品国产一区二区| 亚洲乱色视频一区、二区在线| 天天cao在线| 欧美久热| 97超碰精品图片| 日韩乱伦视频| 精品视频久久区| 欧美aa一级片| 亚州色国| 一级@啪啪视频| 亚洲综合小视频小说在线观看| 国产美女高潮| 操人妻丝袜高跟| 69一区二区三区| 校园春色综合| 中文字幕一区二区三区50路| 91狠狠综合久久久| 欧美情色亚洲| 久久,精品一二三| 精品九区| 女优免费一区二区永久| 啪啪啪亚欧美视频| 91爱综合| 成人性爱免费播放| 在线视频一区二区传媒| 欧美一级美片在线观看免费| 婷婷色网| 啪啪资源网| 天天日熟妇| 免费精品福利在线观看| 综合网亚洲在线| 超碰av在线| 久久久人妻| 久久综合日韩亚洲欧美| 情趣丝袜无码操逼视频| 高跟伊人julia ann| 亚洲少妇综合在线播放| 另类图片五月天| 99综合网| 呦呦一区| 美女91在线观看| 亚洲日韩美女中文字幕乱| 久久精品日韩专区免费观看| 大香蕉九九| 男女无套 免费网站| 狠狠夜色午夜久久综合在线| h4610国产人妻| 999国产精品999久久久久久| 国产在线76页| 看免费的黄片| 春色综合免费| av天堂影视中文在字幕在线中文| 欧美一级在线观看成人| 97超碰亚洲| 亚洲国产欧美中文永久| 亚洲色图欧美| 日韩丝袜高跟制服在线观看| 色婷婷网| 小说区 图片区色 综合区| 日本男人插女人的逼黄色| 91精品丝袜在线观看| 欧美不卡五十路| 激情文学 亚洲图片| 亚洲综合色网| 日本色色视频网站| 成人情色综合网| 一区二区三区四区五区高清无码永久视频 | 狠插 制服 自拍| 国产 丝袜 欧美中文 另类| 97色亚洲| 日韩 女同 综合| 日韩免费人妻色情网站| 亚洲熟女性高潮久久久| 变态综合色| 性性久久| 人妻嗯啊啊在线播放| 亚洲国产av中文字幕久久 | 狠狠躁AV| 最新国产亚洲精品精品国产亚洲综合| av影片在线观看不卡| 精彩久久中文| 久久综合日韩亚洲欧美| 日本精品一区二区中文字幕| 伊人一区二区在线播放| 色淫网站优优视频| 色老牛| 97 亚洲 日韩 欧美 在线| 日本精品第一视频在'| 永久免费av无码网站国产app | 金典av| 亚洲精品久久久久久久久豆丁网| 无码在线亚洲| 国产不良强奸视频免费看| 午夜九九九九九九| 蜜臀av网址| 无码视频一区二区| 97久久资源| 久热9| 女人午夜视频777| 国产高清免费不卡av| 91福利网在线观看| 99热在线播放| 青青草原香蕉日本Ap| 久久久久久久六六| 精品96久久| 青青草吊丝| Av色五月| 九九综合| 免费一级视频特黄色大片| 日操粉逼逼| 亚洲国产尤物yw在线观看| 国产免费黄色一级大片| 91丝袜| 亚洲资源一区| 亚洲天天自拍| AV天黑人| 久久 久久国内精品亚洲| 欧美 牲| 成人一区二区三区四区| 99热精品国产| 欧美午夜色妇色鬼| 精品久久久av| 蜜色网色哟哟| 欧美精品在线观看| 激情四射婷婷四五月天| 美女超碰978| 免费观看欧美日韩操逼视频| 丁香五月天堂| 日本色婷婷| 天天综合精品| 最新欧洲欧美日本激情网站| 97天堂| 大香樵伊人网| 欧美日韩国产中文超碰| 青青草九九九九九| 射丝袜高跟鞋99| 欧美久久婷婷| 天天综合网1| 97网址97| 91久久精品美女高潮喷水| 欧美偷| 欧美色图电影| 校园春色五月天| 久久久久亚洲Av无码专区老牛影视| 国产老女人久久毛| 婷婷色色五月天福利| 精品久久久久久中文字幕三区| av天堂精品久久| 亚洲操逼无码| 99热这里只有精品8| 鲁鲁色综合网| 男人的天堂色偷偷青青草视频婷婷网| 好好的日:com久久九九| 亚洲天堂美臀在线| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美性高潮| 中文?日韩?免费?精品| 国产日韩精品人妻久久久久色欲网站 | 激情熟女12P| 操操逼操操逼操操逼逼| 蜜乳av首页| 黄页18禁| 330dv亚洲成年视频网| 国产日韩中文字幕欧美| 密臀视频三区免费网站| 色视频蜜乳| 欧美日韩精品一区二区三区高清| 蜜乳av首页| 久久久不能久久久久| 国产精品久久久九九九| 四虎在线视频| 人妻一区二区三区视频| 中文字幕成人理论在线| 天无日色综合| 人妻少妇精品久久久|