亚洲有码Av一区二区三区_国产高清啪啪免费视频_69色视频国产_国产成人人人爆出白浆_国产精品自在线拍国_一本久久伊人热热精品无码_午夜性刺激在线看免费带字幕_助力高品质欧美狂喷水_亚洲精品日韩无码_精品无码一区二区三区蜜臀_麻豆高清国产AV_熟妇人素无码中文字幕_亚洲a级片在线观看_国产欧美日韩三区_99国产成人高清在线观看

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
返回資訊列表
久久在线观看免费视频| 欧美日韩人妻精品一区二区三区| 国产精品69久久久久孕妇欧美| 日本成人免费一区二区三区| 日韩97视频!在线| 久湿久久| 一类av片在线看| 国产高清1234区| 国产亚洲日本| 噜噜噜在线视频| 欧美香蕉视xxx| 男人综合网| 日韩黄色电影网站| 色综合20p| 午夜福利国产欧美日韩夜夜| 超碰公开久久网| 久操免费电影| 天天操天天日天天干| 蜜臀AV一区二区三区| 国产69精品久久久久99尤物| 91欧美巨乳| 香蕉热人人精品| 极品内射| 乱伦一二三区| 操一区| 日韩欧美大片免费高清啪啪| 亚洲、日韩、综合、另类| 午夜毛片亚洲精品片国产久久久| 嗯嗯啊啊视频在线看| 嗯嗯啊啊啊好爽| 五月丁香色色网| 亚洲影视高清三级-草1024榴社区入口-品爱AV| 人妻加勒比东京热| 日本精品五区| 美女上床网站| 2020中文字幕| 天天弄欧美| 青娱乐淫乱1314| 熟女一区二区| 美女视频尤物网在线看| julia中文字幕在线观看| 日韩熟女乱伦中出| 欧美色图 人妻| 国产精品欧美日韩久久| julia国产在线| 色色激情| 在线亚洲 欧美 日本专区| 亚洲精品欧洲精品| 天天操天天舔| 日骚逼视频| 亚洲美乱| 强奸乱伦av电影| wwe 天天干.com| 国产一国产一级毛片古装| 亚洲图片欧美日韩| 九九探花视频在线观看| 日本不卡在线二区三区| 亚州色站 日韩电影| 牛牛操视频逼| 欧美色91| 色色99| 小情侣高清国产在线视频| 国产免费内射视频| 亚洲成人妻日韩在线| 日韩精品 视频一区二区| 成年在线视频日本亚洲在线视频区精品江靖宇公司 | 亚洲欧洲日本精品中文a∨| 大香蕉欧美国产日韩高潮| 色婷婷激一区二区三区| 少妇淫妇久久久久久久| 亚州色交| 国产一区二区视频在线播放| 极品白嫩美少妇在地板上位骑射淫水泛滥| 天天操人人操骚逼网站| 熟女自慰久久久| 黄色片大香蕉| 在线国产福利网址导航| 麻豆天美91| 99抽插| 91婷婷| 久久riav中文精品| 欧美人人曰人人操人人射射| 男人的天堂VA| 97草草| 99999无码| 丰满人妻大屁一区二区| 国产AAAAAABBBBB| 日韩欧美三级| 亚洲素人综合| 夜夜免费视频| 精品一区二区2| 操我啊啊啊啊啊| 色一情一乱一乱一区91Av| 无码久久国产 | www.色婷婷.com| 人人操人人肉久久精品| 91色婷婷综合久久中文字幕二区| 97伊人网| 日韩综合97p| 欧美第二页午夜| 色女综合| 日韩国产十八禁| 曰韩精品九九无码 | 久久久久白虎| 激情文学 亚洲图片| A啊啊在线观看| 97色碰| 精品久久久久久中文| 国产精品高潮久久久无码| 久久久久久综合久久伊人蜜月| 精品九九淫乱男| 九九热超碰97亚洲最新香蕉| 蜜桃精品一区二区三区ww| 人人透人人操| 日韩免费看黄片| 色哟哟511老熟女| 国产91会所女技师在线观看| 香港澳门日本三级网站| 人妻少妇久久中文字幕一区二区 麻豆| 日1区2区3区2020| 人妻少妇久久| 麻豆视频一区二区| 丰满人妻一区二区三区| 亚洲精品久久久久毛片A片拉屎 | 亚洲精品亚洲人成人网| 99ri精品| 天天操天天插| 午夜天天碰综合视频| 天天色香欲综合网| 四虎影库国产精品免费| 中文字幕片| 色哟哟-国产专区| 国产乱婷婷精品二区三区| 久久9 9 9精品| 嗯嗯,啊啊,国产精品| 午夜成人福利影视| av东京热男人的天堂| 亚欧美综合网。| 亚洲情色综合网| 欧美91网| 三级日韩一区二区三区| 免费精品中文字幕| 婷婷丁香五月激情啪啪| 超碰久久中文| avav青青草久久夜| 亚洲欧美国产va在线播放频| 国产成人午夜视频网址| 手机在线A片| 亚洲高清无码在线桃色| www.色99| 欧美天天谢综合网| 疯操AV| 夜夜欢天天干| 国产成人亚洲精品无码最新在线| 人人操人人大香蕉| 懂色综合久久久| 大香蕉啪啪啪啪在线| 天天摸天天舔天天操| 蜜臀99久久精品| 狠狠操,使劲操| 99久久婷婷丁香| 97综合在线| 蜜臀久久99精品久久久久免费观| 91人人| 国产家庭乱伦性爱视频| 涩五月婷婷| 中文字幕丝袜人妻| 97婷婷色| 熟女中出视频| 国产精品乱码久久久| 男女日B国产| 人摸人人操人| 九草在线大香蕉| 欧美亚洲国产日本在线,久久精品国产| 欧美激情亚洲情色| 日韩黄色片子| 熟妇熟女视频一区二区三区| 欧美日韩国产人人| 蜜乳中文字幕a在线| 人人看人人摸人人色| 天综合中文| 大香蕉青青9| 精品一级毛片在线观看| 熟女六十路| 青青欧美在线| 天堂综合网| 日韩一级成人毛片免费观看| 97天天弄| 色色色日本| 亚洲第一综合| 人人妻人人爽| 五月色网| 亚洲双插| 丁香六月激情综合| 老司机午夜精品福利视频一区二区| 91精品人| 99超碰色| 91操操操操| 成人短视频在线观看| 久久久久久久久久久久欧美日| 亚欧色图在线激情| 神马福利久草| 亚洲天堂男人天堂网| www.久久99| 大香蕉手机在线| 黑人精品成人一区二区三区| 国产中文日韩欧美一区二区三区人妻丝袜美腿| 中文字幕日韩电影人妻| 欧美少妇高潮久久91| 日韩精品在线视频在线观看| 嗯嗯啊啊视频一区二区三区| 中文字幕一区二区三区高清| 欧美中文狠| 超碰国产精品无码| 荡小穴在线观看| 亚洲丝袜综合| 天堂v无码免费视频| 天天综合网站| 97超碰人妻| 色噜噜婷婷| 亚洲深夜福利| 伊人大香蕉在线| 国产精品点击进入在线影院高清| 人妻精品综合中文字幕在线| 亚洲国产另类在线中文| 欧美熟女激情| 视频国产精品未满十八禁止在线观看| 热热色色综合| 亚洲欧美精品福利在线| 国产丁香精品露脸视频| 亚洲色图大香| 天天激情综合站| 农村妇女精品一区二区| 日本色婷婷| 天天噜| 天堂av2019| a片偷拍视频| 99国产精品久久久在线播放| 欧美一区二区三区另类精品| 久热精品在线| 肉丝网站91| 亚洲乱码国产乱码精网站| 天天日天天看| 日韩操呦呦影院在线观看| 国产高清成人传媒影视| 人妻欧美| 蜜桃久久久久久久久久久久| 破苞ⅩXXX性无码动漫无码| 亚州性色| 91欧美性| 不卡二三区人妻少妇| 99re3这里只有精品| 青娱乐亚洲自拍| 国产白丝网站| 亚洲区限制级| 嗯嗯啊中文字幕| 国产亚洲精品农村妇女| 美女久久久久久久久久久| 密臀视频一区二区三区| 中文字幕视频在线观看一区二区| 任你草| 亚洲h片在线免费观看| 校园春色亚洲色图| 天天天堂影视日韩亚洲91| 久久黄色网址| 欧美后进式| 午夜爽爽爽在线观看永久入口姬片| 高清孕妇孕交 交| 操逼无毒无码免费视频| 国产乱人妻精品入口| 精品女人999| 亚洲精品日韩国产欧美| 性爱Av免费| 一级乱伦网站| 国产高清成人免费视频| juliaann丝袜| 日本天天干天天操一区| 久久久久久综合久久伊人蜜月| 99国内熟女露脸视频| 欧美情色男人的天堂| 久久久久久亚洲精品中文字幕人妻| 最新日韩黄片| 黄色性爱网网| 久久久精品无码亚免费| 太久视频| 中国国国产一级特黄毛片| 日韩Va亚洲va欧美Ⅴa久久| 热思思免费视频| 91老熟女| 日韩成人高清一区二区| 自怕偷自怕亚洲精品| 婷婷色色五月天福利| 精品免费一区| 99久久久无码国产精品性啊聊| 91观看 国产白丝| 大香蕉草草| 日本黄色精品| 亚洲精品欧洲色| 97操b| 亚洲中文字幕av| 久久成人东京热人妻| 久久精品综合| 亚洲色电影在线| 超碰色图| 伊人热综合| 日韩免费在线视频观看| 久久久久久AⅤ无码免费肉站| 日韩一级成人毛片免费观看| 九九99久久| 人妻天堂综合网| 蜜色网色哟哟| 精品中文日韩字幕视频| 熟妇高潮二区三区| 天天日夜干| 思思热在线视频免费| 色哟哟AⅤ| 三级色综合| 强免费黄色网址| 亚洲中文字幕97久久精品少妇| 五月丁香啪| 动漫片子网站3黄| 精品一区二区麻豆| 一区超碰一区| 五十路熟女人妻一区二区三区四区五| 乱伦色图网址是多少| 国产乱码精品一区二区三区四川| 噜噜噜无码AV一级一级久久影院 | 翔田千里爆乳巨臀无码| 国产精品久久久久中文字幕| 久久伊人大香蕉| 91人妻超碰| 久久久久久久久久久久欧美日| 亚洲影视高清第一页| 人妻夜夜爽天天爽三区麻豆AV网站| 另类亚洲一区二区三区| 色综合久久88色综合久久天天| 欧美亚洲中文字幕| 亚洲成人一二三区| 日韩成人人妻网站| 无码137片内射在线影院| 久久久免费一级黄片| 懂色AV一区二区三区| 91在线丝袜视频| 狠狠爱夜夜| 色在线亚洲视频www| 精品色色| 91 国产丝袜在线播放-百度| 天天视频黄| 激情综合婷婷| 亚洲欧美日韩中文久久自慰| 精品久久久久久无码| A片 AV一级在线播放观看免费| 91在线欧色| 日韩精品系列| 乱欲一区二区| 91精品国久久久久久无码| 91老司机视频| 把腿张开老子CAO烂你| 欧美日韩222| 色天天野狼综合社区| 久久成人国产精品| 日韩欧亚太美不卡| 色香欲影| 婷婷激情四射| 激情文学小说一区二区| 日韩成人精品| 裸体女人草逼视频播放一区,二区,三区,四区,五区| 久久这里只精品| 亚洲啪啪视频一区二区| 黑人中出21连凳花野真衣| 亚洲深夜福利| 亚洲精品视频在线播放| 97九色| 久久鲁夜| 中文字幕一区电影在线观看| 又大又白奶子| 999国产精品999久久久久久| 新婚人妻扶着粗大强行坐下| 欧美91网站| 久久精品国产Aⅴ| 校园春色综合| 91综合网| 嗯……啊…嗯嗯…啊…好舒服| 91黄站| 在线播放成人网站| 黄色成年| 五月天婷婷成人网| 男人午夜天堂| 久热久一区二区三区| 日本欧美中文字幕| 欧美熟女激情| av在线播放国产一区| 亚洲91网。| 亚洲国产成人精品999| 一二三啪啪专区| 久久久久亚洲| 91麻豆天美传媒HD| www.伪伪| 久热99999| 久久精品国产亚洲AV片多多 | 日韩AV一起草| 激情婷婷黑人91| 激情专区综合| 人妻少妇精品视频一区二区三区| 亚洲综合春色| 亚洲啪啪视频免费| 欧美日韩天堂| 91超级碰碰碰| 人人妻人人玩人人澡人人爽| 久久这里都是精品| 欧美精品久久久久久久丰满| 日韩97视频| 九九aV| 91网站18禁| 日本不卡码黄色 | 三久久久四久久久久| 久久免费老司机精品| 强奸乱伦 亚洲一区| 亚洲少妇色图自慰直播| 337p大胆噜噜噜噜噜91Av| 天天日夜干| 国产一区麻豆免费观看| 日韩性爱电影一区| 98久久| 神马久久69| 爽 好舒服 无码刺激久久| 国产AV中文| 超碰97在线 欧美 国产| 久久99人妖视频国产| 欧美色性情| 色诱avtt| 色色激情五月天| 欧美日韩*字幕一区| 久久妇| 台湾佬激情综合| 中国zzijzzijzzwww精品| 久久久亚洲精品中文字幕人妻| 高清不卡国产| 国产无套粉嫩白浆在| 久久精品人妻一区| 美女91网址| 99青青草国产视频| 99热免费| 美女自卫慰黄网站免费| 黄色二级片网站| 婷婷五月天色| 亚洲中文日韩欧美大香蕉视频| 大逼色网站| 成人热久久精品| 一区二区三区精品黑丝白丝酒店对鸡 | 欧美性天天影院| 少妇二级| 久久久中文| 精品人妻一区二区视频| 午夜男女爽爽大片免费观看| 91综合天天看| 欧美天天综合站| 在线天堂999| 五月婷在线| 少妇高潮对白在线观看| 成人无码在线超碰网| 久久东京热久久| 久久精品一区一起草| 色大香蕉97N| 偷拍网站久久男女男| 亚洲九九夜夜| 99热在线观看| 色婷婷九月天天综合| 日韩中文字幕视频| 97色伦97色伦国产欧美| 丁香婷婷五月| 蜜臀在线视频| 天天色图| 亚洲aV无码成人在线观看| 一二三四视频在线社区中文字幕| 蜜臀精品1区2区| 欧美制服另类丝袜| 熟妇女人妻呻吟久久AV| 青娱乐av在线| 九九热免费国产视频婷婷伊人| 桃色五月天| 九九热AV| 男人亚洲91首页在线| 国产少妇肉丝在线观看| 噜噜在线| 中文字幕视频在线观看一区二区| 国产视频三区四区| 观看视频图片一区二区三区| 日本人妻一区二区| 麻豆影音天美视频| 久久国语| 色噜噜狠狠色综无码久久| 91社操逼| 国产www色在线观看| 一区二区影院| 国产1769在线| 丁香五月天视频| 天天添天天干电影| 亚射在线| 久久夜精品一区二区三区| 超碰久久精品| 女人香蕉久久毛毛片精品| 91 综合网| 九九久久玖玖| 在线观看无码三级少妇| 综合操逼| 蜜臀久久久久久999| 日韩精品三区四区| 亚洲成人妻日韩在线| 亚洲色图第四色| 97久久久网站| 爱妃国产亚洲视频中文字幕| 国产成人一级av88| 免费一级毛片在线视频观看| 97舔舔| 狠狠躁天天躁日日躁| 大香蕉日亚洲日本亚大| 欧州91高潮| 欧美日韩免费性爱| 久久99操天天日| 玖玖综合色| 国产第25页在线观看| 久久久久9| 成人无码专区精品视频| 天堂精品一区| 天天看精品动漫视频一区| 93人人操人人| 久超碰在| 91痴汉| 100啪啪视频大全| 8050午夜少妇无码| 亚洲色性情三级| 1204人成网站色www| 久久久性| 天天干,天天日| 久久久国产精品人妻丝袜| 国产尤物在线三区| 天天干干天天干干| 嗯嗯啊中文字幕| 国产诱惑| 亚洲成人性爱网站在线播放| 日韩精品99999| 大香蕉琪琪日本女优不卡| 99re9| 欧美日韩性爱视屏免费看了| 超碰在线人妻不卡| 欧美精品97| 欧美在线观看综合国产| 极品粉嫩少妇视频| 人人操人人摸人人骑| 久操精品网| 伊人aaa| 蜜乳AV免费观看| 婷婷五月天在线观看| 欧美极品少妇| 少妇人妻好深太紧了vr91| 射 色综合| 超碰九九| 欧美精品999| 好爽免费视频,| 91在线秘 男同| 久久色一区| 屁股久久久久久| 五月丁香综合啪啪| 欧美96交| 极品白嫩美女白浆成人福利在线看| 国厂麻豆77q4| 极品综合| 日韩99神马视频片| 亚洲欧美色图小说| 女人一区| 国产乱伦性爱区| 久久神马影院| 亚洲高清无毛一区二区| 9999伦理视频| 亚洲黄色视频在线观看视频| 亚洲av热热色| 国产精品麻豆免费视频| 九九热超碰97亚洲最新香蕉| 91性高朝久久久久久久久| 亚洲精品久久久久久久久豆丁网| 99国产精品| 天堂九九九九九九九九九| 97天天| 后X久久| 天天看天天日天天操| 91天天日| 黄视频免费| 日韩啪啪啪视频| 曰韩操B| 亚洲高清在线se| 日本一级性爱| 四虎影视欧美| 91亚洲不卡一区| 少妇熟女1区2区3区| 久草新免费| 国产高清免费不卡av| 97国产综合欧美| 熟女视频久久| 欧美日韩中文字幕人妻| 日韩伦理视频| 黄色在线网站| 3P丝袜熟女 色综合| 久久久草成人网站久久久草成人久久久草久久久 | 久久综合日韩亚洲欧美| 91丨豆花丨熟女| 久久久久96| 久久国产视频性吧| 国产日韩精品无码去免费专区国产| 丝袜视频一区二区在线播放国产中文| 人人操人人摸人人看人人干| 人妻另类| 麻豆久久久久久久久丝袜| 99久久精品无码一区二区毛片免费| 国产噜噜噜噜噜久久久久久久久| 性爱1区| 亚洲欧美日韩免费观看| 97色妞| 九九热超碰| 青青青国产手线观看视频2| 日韩一级二级三级免费看完整版国语版| 91操人| 黄片免费日韩| 国产后入清纯| 真实高潮91| 欧美人人AAA| A级片一区| 日韩成人人妻网站| 日韩传媒在线| www.夜夜操| 26uuu性| 一本久道久久综合狠狠爱一密臀精| 大吊色| 91操人视频| 自怕偷自怕亚洲精品| 韩日欧亚a级| 人妻少妇色综合| 国产乱码久久| 操逼日韩无码| 秋霞无码av鲁丝片一区| 永久免费观看的毛片的网站| 精久久久| 亚洲91网站| 国产性感骚丝袜在线| 亚洲欧洲综合视频在线| 人妻 丝袜美腿 中文字幕| 精品九九九九九九| 啊啊啊啊嗯嗯在线久久久| 精品国产国产AV| 亚洲熟妇丝袜在线观看| 天天日天天色| 亚洲福利中文字幕在线| 园内精品自拍视频在线播放| 蜜臀无码视频在线观看| 蜜臀久久99精品久久久久久| 蜜臀99久久精品| 性爱AV天堂| 综合激情97 | 中文字幕老熟妇黄色视频| 超碰人人超在线观看| 91人妻最真实刺激绿帽| 在线视频 亚洲精品| 男人的天堂一区| 久久婷婷苹果| 91激情国产| 99re在线视频国产| 色九九综合AV| 中文字幕综合人妻| 国产中文福利| 自拍视频大全亚洲专媒视频/一区二区三区 | 黄色av网站在线播放| V A在线| 国产精品com| 97亚洲综合影院| 国产强奸乱伦第1页| 青娱乐91| 东北女人无套内谢视频| 人妻少妇精品久久久久久久| 伊人超碰97| 亚洲国产熟妇综合色专区| 91久久婷婷| 一区二区影视| 加勒比伊人| 91视频精品| 国产精品嫩草影院午夜两性| 啪啪啪精品| 激情网色| 青青草天天亲夜夜操网| 久久综合激情| 中文高清一区二区的| 天天操av懂色| 夜夜操夜夜爽夜夜高潮| 欧美72网页| 久久久成人精品| 97超碰伊人| 亚洲 在线| 九九九免费视频| 欧美呦呦性爱| 亚洲精品亚洲人成在线麻豆| 天天天天天干夜夜夜夜夜操| 五月婷婷影院| 天天亚洲综合| 中文一区在线日| 欧美色爱综合| 极品另类| 成人a大片在线观看| 日韩一级欧美一级在线观看| 久久麻豆一区二区| 99re69综合| 天操天操夜操夜月月年年操操| 4tube欧美女厕所| 午夜精品久久99蜜桃的功能章节| 午夜亚洲WWW湿好大| 伊人五月天激情| 狠狠狠狠狠| 日本999精品视频| 超碰综合97在线| 久久久少妇| 成人三一级一片aaa| 免费观看的av| 青青国产在线拍揄自揄拍| 好色美女九七第一页| 国产午夜在线观看| 亚洲欧美国产成人综合不卡| 精品妇女一区二区三区| 99久热精品99re6热| 91精品人妻一品二品三品| 天天日天天干天天色| 中文字幕日本久久| 欧美色图中文字幕| 亚洲 日本 不卡| 人人摸.人人色| 欧美色图天堂在线| 热热色色综合| 一区在线精品中文字幕| 色官网在线| 欧美亚洲美少妇一区二区| 一本色道久久综合精品婷婷| 免费一级精品啪啪视频| 亚洲.欧美.丝袜.中文.综合| 青青草久久在线| 黄色无码高清黄色无码网站| 久久久成人国产精品无码| av情色影音| 超碰人妻久久| 欧美黑人精品一区二区| 97超碰色屌| 91性色| 成人片在线播放| 人妻天天爽| 国产隔壁老王影院在线| 一品道视频一区二区三区| 熟女熟妇伦久久影院毛片一区二区| 日韩有码 一区二区三区| 99在线免费视频| 婷婷探花久久精品一区| 欧美人妻久久精品二区三区| 色哟哟-国产专区| 欧美亚洲首页| 激情丁香婷婷| 成人精品水蜜桃久久久久久久| 国内精品久久人妻性色av| 久久精品人体AV| 久久内射| 丁香五月天堂网| 夜夜嗨老熟女AV一区二区三区| 可以在线观看的黄色网址| 91人妻视频在线| 欧美在线播放| 99超碰色| 男人天堂2017| 男人亚洲91首页在线| 东京热天堂网| 亚洲激情网一二三四区| 97视频免费播放| 激情第四色| 欧美激情在线观看视频| 免费观看啪视频| 亚洲成人AB| 久久婷色| 韩日欧亚a级| 加勒比大香蕉视频在线| 欧美亚洲首页| 大香蕉手机视频| 91精品人妻一区二区三区蜜桃| 五月丁香激情综合| 精品999一区二区| 一区二区三区精品黑丝白丝酒店对鸡| 91综合网在线| 亚洲图片欧美91N| 精品人妻中文字幕高清| 亚欧美天堂在线| 国产强奸乱伦xd| 亚洲综合贴图91| 五月天玖玖资源站| 91天美免费| 日日狠狠久久偷偷色综合免费| 久久精品区| 1956日韩精品| 日韩免费三级黄片电影| 超碰1997| 欧美性爱精品一区二区| 丰满人妻一区二区三区免费| 内射中出日韩在线观看视频| 亚洲性爱成人| 97超碰精品成| 97人人操人人干| 久久久999| 日韩少妇无吗| 韩国黄色片精品久久久| 亚洲欧洲自拍| 五十路熟女工口 | 天天α片| 日本在线激情一区二区三区| 好爽视频在线观看| 熟女色图在线| 国产精品久久久久无码AV会牛| 中文字幕1区2区| 男女打扑克高清网站| 无码人妻精品一区二区中文| 久久久三区二区一区| 熟女人妻av在线资源,黄色的资源| 日韩免费簧片| 久久久成人免费av电影| 偷拍网站久久男女男| 日韩亚洲中文有码视频| 亚洲熟女诱惑| 久久亚码| 91人人爽人人爽人人人,gav福利视频导航,日韩欧美亚洲国产字幕四区 | 一区二区亚州激情久婷婷欧美| www.色五月| 三级激情网站| 老司机香蕉久久久久| 国产日韩人人| 大胆91| 国产尤物AV尤物在线观看不卡| 中文字幕乱亚洲美女精品一区| 乱欲性色| 国产精品久久久视频| 黄色一级视| 久久精品国产AV一区二区三区| 欧美日韩小说| 亚洲熟久久| 116美女午夜| 综合色播| 美女午夜福利免费视频| 亚洲学生妹高清av| 超碰97久| 丝袜狠狠草尤物 91| 日韩av熟女一区二区三区成人| 黑人无码一区二区| 久久久久久亚洲Av无码精| 综合五月天| 久草久日| 综合欧美日韩在线| 国产激情视频一区区三区| 亚洲影视高清第一页| 久久綜合很很很| 青青11操操操操操操操操| 亚洲一区中文字幕一区| 亚洲一级特黄大片在线播放91| 久久精品国产亚洲5555| 中国特猛少妇色xxx| 中文字幕欧美日本乱码一线二线| 日韩国产十八禁| 日本韩国一本产品小视频日本韩国一本产品久久久产品小视频日本韩国一本产品久 | 国产精品乱码久久| yazhououmeizongya| 青青草玖玖爱| 97超碰久| 9久久美女首页| 欧美 亚洲 大香| 青青操97| 久久99国产综合精品女同| 资源在线观一 二| 99热99色| 99热这里是精品| 在线播放中文字幕| 9999免费精彩视频| 亚洲成av人片色午夜乱码| 色青青久久影视| 精品一区二区成人动漫| 最近的最新的中文字幕视频| 日本精品不卡一二三区| 国产精品色片一区二区| 三级网色| 白嫩国模丰满一二三区| 天天躁日日躁XXXXYY| 欧美久久伊人| 偷看洗澡一二三区美女| 无码少妇精品一区二区60岁老人| 性爱乱伦网址| 国产精品熟女乱伦| 婷婷久久久| 污啪啪啪视频| 啊啊啊好湿国产一二| 国产婷婷一区| 久久久久密臀视频| 蜜桃精品视频一区二区三区| 久久久少妇诱惑精品视频| 九九九久| 女人久久久| 夜夜草我| 日韩欧美aⅴ综合网站发布| 操逼操网| 五月激情在线| 97人人中文网| 中文在线视频| 久久粉色| 人人操人人色人人摸| 国产精品久久久久久久黄无码| 久久性爱大全| 91色情黑丝搞鸡在线观看一区二区三区三州| 久久99操天天日| 9 7超碰在线免费观看| 九九九精品一区二区无码| 女上位精品在线| 亚洲精品欧洲色| 亚洲一卡二卡在线免费| 欧美日韩国产高清在线一二三区| 91黑人无码激情在线| 亚洲图片 91| 亚洲男人的天堂AV| 日本精品一区二区三| 亚洲日韩电影| 亚洲精品尤物yw在线影院| 日本在线激情一区二区三区| 伊人影院中文字幕| 97超碰亚洲| 91老司机视频| 国产乱伦亚洲| 色九月| 天天干天天日天天射黄色片| 91天天综合在线观看| 久久久久亚洲Av无码专区老牛影视| 夜夜天天噜狠狠爱2021| 婷婷六月色| 成人一区二区三区四区| 国产91美女视频| 日韩综合成人免费视频| 久久婷婷伊人| 福利天堂| 屁股久久久久久| 免费精品人妻一区二区三| 婷婷导航| 久久熟女久| 亚洲无 码A片在线观看麻豆| 欧美操逼熟女| 精品夜夜澡人妻无码| 色五月AV在线| AV一区观看| 屌逼传媒| 亚洲有薄码区久久在线一区| 久久欲| 五月天开心网| 中文字幕免费看| 国产女s强制榨精视频| 99热综合| 老色鬼成人精品视频下载大在线观看| 超碰欧美| 五月天婷婷久久| 无码精品啪啪啪一区二区三区三州| yw尤物av无码点击进入麻豆| 91九色网| 色噜噜狠狠色综无码久久| 日本一区二区三区午夜观看| 天天爽爽爽爽| 无码二级三级| 久久久无码av精| 又黄又粗又硬又长又大| 欧美天天弄| 久久xx| 毛片99-全集电影手机免费观看完整-B029AV | 好吊色青靑草| 深夜激情| 伊人五月天激情| oumeizonghese,www| 在线日韩日本亚洲国产| 色色无码| 国产91 丝袜在线播放 | 天天狠操| 亚洲综合影片| 精品人妻一区二区三区四区石在线| 97人人模人人爽人人| 天天透伊人| 久久久精品网| 婷婷在线视频| 日夜精品| 成人综合色网| 超碰97丝袜| 大奶啊啊好爽| 亚洲91在线| 日韩av女优在线免费一区| 校园春色五月天| 国产成人资源| 美女黄网| 福利风月五月天影院| 国产 日韩,欧美 自拍| 精品免费一区二区三区在线亚洲人成| 色噜噜狠狠色综无码久久合欧美| 99色综合| 人妻铁牛TV| 久久大香蕉手机高清| 日本不卡二区| 色婷婷成人综合| 亚洲 小说 欧美 激情 另类| 超碰在线人妻不卡| 啪啪啪东京| 色五月激情AV在线| 爱我干综合| 性91| 综合色啪| 秋霞一级A片黄色视频| 黑人免费福利视频| 99蜜桃臀久久久欧美精品网站| 色欲av一区二区三区蜜芽| 欧洲精品一区二区三区| 岛国网址国产| 精久久久| 少妇超碰在线| 天堂69亚洲精品中文字| 9久久美女首页| 日本一区二区做爱的视频| aV中文麻| 欧美日韩99精品麻豆传媒| 伊人热综合| 欧美日韩婷婷中文| 青娱乐国产精品| 免费视频观看60秒| 久久精品免费| 无码最新| 久久有码视频| 欧美九九爱| 人妻少妇被猛烈进入中| 中文字幕国产| 精品人妻二区三区| 亚洲国产尤物yw在线观看| 久久久999国产| 91在线视频免费中出| 黄色AAAAAAAAAAA大片| 久久久啊啊啊| 91精品人妻一区二区-全集完整版免费正片国语-B02AV | 少妇干B| 欧美日韩亚洲天堂| 青青草白白色| 亚洲天堂久久| 国产中文字幕在线点播| 久久久月天| 久久久久久91香蕉国产| 大香蕉乱伦视频网| 高清国产无码av| 揉揉揉夜夜| 国产美女口爆吞精| 色色99| 综合久久六月久久婷婷| 久久这里只有精品9| 欧美日韩人妻少妇 一区二区三区| 狠狠操天天干| 亚州免费啪啪视频| 精品免费一区| 啊啊啊轻点在线观看| 国产熟女一区二区丰满| 成人在线日韩| 欧美强奸乱能| 欧美18老人禁| 欧美欧美少妇| 欧美91久久久久| GVH-003 母子姦 青木玲-麻豆视频,麻豆视传媒短视频网站入口,麻豆视传媒官网直 | 久久鲁干| 一级岛国大片| 一区二区高清视频| 久久久久久久久9| 91真人天天在线| 日本在线不卡123| 中文字幕av亚洲在线| 亚洲一区操| 偷拍 亚洲 欧美| 久草电影网| 精品一区二区三区四区外站| 日韩伦理久 久久 清纯| 五月综合视频| 视频分类 国内精品| 亚洲囯产精品女人久久久| 男女一进一出视频久久| 日韩精品午夜操呦呦不卡影院| 天美传媒av在线| 久久久久久久久久久久黄色 | 在线视频97| 色色九区| 青青草色AV| 十八禁电影伊人网| 欧美性综合| 热热热热日日漂亮永久永久国产日| 这里是精品| 亚洲AV无码天美传媒一区| 九九热精品| 91操碰| 久久99网站| 柠檬AV导航| 日韩精品一区的| 全球成人中文在线| 久久久精品无码亚免费| 美女写真| 人人人人插| 极品尤物自安慰| 久热香蕉精品在线视频| 成人三一级一片aaa| 操逼免费视频无码国产| 午夜乱轮操逼视频免费看| 囯戸精品高潮呻吟旡码| 欧美人人曰人人操人人射射| 色视频蜜乳| 无码人妻精品一区二区中文| 超碰国产精品久| 91在线视频观看国产| 美国一区二区三区视频| 无码逼| 亚洲码专区| 久久99亚洲精品久久99果| 大香蕉手机视频| 亚洲宅男天堂| 久久久久久久久久久97| 中文字幕在线观看网页| 天天享受天天看| 超碰久久精品| 人妻激情视频| 欧美96精品在线| 91精品人妻偷情| 亚洲成人日韩小说| 3p国产色噜噜一区| 日本免费中文一区二区三区四区| 日韩偷拍色图| 欧美综合色站| 色在线69堂| 哈哈操 大香蕉| 亚洲阿v天堂在线| 日韩精品国产一区二区| 天天色综亚洲91污| 一本道综合色图| 黑人天8A∨高清网站| 国产欧美后入| 天天欧美97| 国产午夜精品在线观看| 久综合国内精品自在自线| 美国日韩黄色片| 欧美午夜精品久久久久久超碰| 在线 亚洲 网爆 自拍| 囯产精品强| 欧美色性情| 国产第12页| 久久婷综合| 大香蕉国产中文自拍| 天天在线91| 99久久99久久免费精品蜜臀| 亚洲精品国产专区在线观看| 精品婷婷| 97硬碰| av2014 日韩在线中文字幕| 亚洲视频中文一区| 思思性爱|