亚洲有码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
返回資訊列表
A片 AV一级在线播放观看免费 | 精品国产乱码久久久| 国产剧情一区在线观看| 亚洲国产欧美一区二区潘金莲| 久久一二三四五六七八九区区| 免费人成?大片在线播放| 久久精品国产亚洲5555| 99久久婷婷丁香| 免费A片三p视频| 亚洲蜜臀精品视频久久| 五十路熟女工口 | 啊啊啊啊,啊啊好多水| 蜜桃色色网站视频三区| 日韩欧美午夜视频在线| 探花一区二区三| 亚洲国产精品无石码久久| 九九综合网| 天天天肏屄欧美| 无码又爽又硬又激情免费视频| 人妻一二三区| www.亚洲黄色| 欧美日韩色综合网| 懂色av色欲av蜜臀av| 97天天摸天天爽| 午夜久久久| 蜜桃久久久久久久久久久久| 成人十八禁日韩欧美一二三| 亚洲天堂另类小说男人| 国产成人 综合亚洲 天堂| 日本不卡五区| 午夜精品久久99蜜桃的功能章节| 亚91网| 九一综合网| 97天天弄| 国产情色在线| 日韩欧美麻豆 | 亚洲欧美高清无码| 国产精品久久久鸭无码的功能| 日韩性爱视频在线免费观看| 黄色电影观看久久9| 一本大道不卡一二三区| 伊人91| 俺也射| 色悠久久久av| 色五月AV在线| 又黄又硬又粗又长国产视频| 亚洲资源站| 青草精品视频一日本久久久久网站| 欧美大片天天看| 欧美午夜视频| 91亚.色| 自拍六区| 免费观看性欧美一级| 黑人精品XXX一区一二区| 一级毛片电影免费看| 襙一襙| 男人的天堂午夜av| 欧美碰碰综合色| 熟妇人妻精品一区二区| 呦呦一区| 欧美综合娱乐久久| 熟女突然公开看18禁影片| 国产午夜无码片在线观看影视| 久久久免费一级黄片| 国产亚洲精品美女久久久m| 久久性爱免费送| 婷婷五月av| 东京太热久久久| 97国产亚洲中文在线| 天天射夜夜| 亚洲一区中文字幕| 成年人网站在线免费观看| 黑人美精品 A片| 久久国产视频性吧 | 亚洲丝袜诱惑| 91人妻超碰| 亚洲 图片 欧美 色图| 十八禁一区二区无码观看| 国产一级αv免费看片| 人人人人人人少妇| #NAME?| 亚洲情色 无码专区| 久久久偷拍| 久久久精品91八戒| 精品无码一区二区| 超碰97极品9| 日韩无码人妻| 国产免费永久精品无码| 清纯唯美综合亚洲| 亚洲成人在线播放| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 2020视频1区2区3区| 亚洲日产专区婷婷| WWW.操逼.COM| 一区二区激情国产熟女| 99后入| 欧美久久草熟女| oumeizonghese,www| 中文久久久| 精品成人动漫一区二区| 欧洲中文字幕| 日夜伊人网| 国产精选三级在线观看| 精品国产乱码久久久| a一区二区三区乱码在线| 亭亭丁香激情| 激情五月天中文字幕色| 日本在线一二 | PMv在线观看| 久久久久9999| 精品一区二区三区免费古装毛片香港三级日本三级人妇 | 久久夜黄色无码A级大片| 亚洲av热热色| 欧洲综合无码| 美熟女逼导航AV操逼| 97香焦色区| 9久9久9久9久视频网站| 国产亚洲禁久一区二区 | 无码直播久久久| 看看小穴| 久久这里只精品免费福利| 天天射影院| 少妇高潮九九九九九九九| 免费观看的黄色的网站| 中文字幕伊人| 日韩黄色成人性爱| 青青在线视频免费| 91大学精品激情戏| 午夜性生活av免费在线看| 99精品在线| 91老司机精品| 亚洲……91| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 色哟哟 日韩精品| 麻豆区99999| 男人的天堂2018东京热啪啪啪| 蜜桃午夜视频一区二区| 午夜高清成人在线视频| 亚洲综合色图欧美| 色婷婷六月| 日韩小电影| 精品少妇后入一区二区三区四区人妻巨乳| 激情小说亚洲色图| 久久綜合很很很| AV污污污污| 久久久性少妇| 精品久久久久久亚洲| 婷婷操视频| AV天堂男人的天堂| 成人性爱美曰韩| 91天天美女| 麻豆天美国美国产| 高清成年美女黄网站免费大全| 啊啊啊97视频| www.狠狠干.coom| 大香蕉专区| 国产农村妇女毛片精品久久| 亚洲中文字幕妇伦久久| 欧美成人色| 五月丁香社区婷婷日韩欧美精品影院 | 加勒比少妇AV婷婷六月天超碰超碰| 性爱乱伦一区| 久久精品一区二区一8| 97超碰无码网| 久久亚洲不卡| 亚洲欧美日韩精品久久久一区二区 | 久久亚洲AV无码白度| 日日黄色三级网站| 91操碰| 奇米狠999| 啊啊啊啊好爽好舒服一区二区易域| 黄色小说亚洲| 九九综合| 亚洲最新中文字幕免费| 免费久久一级毛片大黄| 色噜噜日韩精品| 极品粉嫩少妇视频| 极品内射| 91啪9色| 福利操逼| 亚洲精品1区| 96精品在线| 日本国产高清色www视频在线| 清纯唯美亚洲综合| 亚洲精品国产拍免费91在线| 精品999日本| 日韩成人色图| 欧美综合自拍成人自拍第二十页| 国产理论视频在线播放| 国产中出内射一区二区| 色欲久久99国产精品久久久久久| 呻吟 欧美 日本 中出| 中文字幕少妇色| 色婷婷狠狠| 亚洲免费成人精品电影| 久久久久久69国产一区二区| 天天色天天干天天爱| 91亚洲人| 精品午夜福利| 九九碰九九爱97超| 秋霞网—男女啪啪亚洲免费体验区| 玖玖综合网| hd成人一区二区在线| 亚洲无码视频免费在线观看网址!| 亚洲精品97p| 夜草欧美| 美女诱惑在线一区| 婷婷激情丁香| 无码二级三级| 日日摸天天爽夜夜欢| 黑人性欧美| 蜜桃臀av一区二区| 日韩电影中文字幕| 综合亚洲欧美精品日韩?v| 97超碰精品图片| aV中文麻| 久久啊啊啊| 激情在线青青操| 亚洲图片欧美色| 69一区二区三区| 久久这里只有精品9| 一本色道人妻久久| 天天综合欧美| 亚洲欧洲综合成人av一区| 天天激情综合站| 精品高清一区二区三区三州| 97久久超碰国产网站| 国产60区。| 国产美女精品| 丰满丝袜少妇AV| 后入综合久久| 国产美女裸体秘 永久无遮挡| 国产高清26uuu| 亚洲乱码尤物193YW| 丝袜熟女一区二区三区| 996热| 一品道视频一区二区三区| 色性综合| 尤物视频偷拍免费| 久久精品国产欧美日韩亚洲欧美日韩中文久久国产一区 | 免费一级特黄特色大片在线观看看| 1769国内精品视频| 亚洲成a人在线观看久| 日韩欧美国产高清视频| 青青草在线视频人人想人人上| 国产美脚女优尤物在线观看| 青青伊人久久| 欧美劲爆第一页| 97色伦97色伦国产欧美| 日韩999| 天美传媒av 在线| 精品人妻视频一区二区三区蜜桃视频| 国产精品一区二区麻豆| 亚洲福利影院一区久久| 亚洲天堂区| 伊人精品视频| 神马九九| 精品久久久亚洲AV成人网站| 蜜臀在线免费观看在线免费观看| 激情小说亚洲视频| 青娱乐福利99| 亚洲色五月| 自拍视频大全亚洲专媒视频/一区二区三区| 亚洲精品 欧美精品| 欧美日韩制服| 中文字幕性感少妇av| 久久久工口| 日日干夜夜骑| 久久免费99精品久久久久久| 五月天开心网| 在线播放欧洲免费av| 日韩无码操逼片| 99综合网| 激情婷婷黑人91| 国产一级内射无挡观看| 久热69九色熟妇97| 少妇淫妇久久久久久久| 亚洲无吗在线视频| 午夜精品久久久久久久99热影院| 日韩激情电影中文字幕| 狠狠操天天干| 97在线日韩中文字幕| 久久中文字幕一区不卡| 精品久久久无码| 夜夜国自区| 精品中文字幕第一页| 免费的av网| 欧美激情 一区| 美女写真| 久久网亚洲| 日韩国产不卡在线视频| 超碰碰激情97+久| 国产成人超碰在线| 超碰97资源中文字幕| 性一级黄色录像片网站导航| www.天天干| www.久久超碰| 91美女中出| JuliaAnnXXX888| 九热视频| 久久69| 按摩中文字幕| 男女做爰猛烈动高潮A片免费应用| 99免费在线视频| 美女91在线| 五月天激情网图片| 精品国产三级av韩国在线| 日本91白丝| 国产精品久久久久婷婷二区次| 国产99 中文字幕日韩小视频| 91在线丝袜| 99精品久久久久久久婷婷蜜桃| 黄页网站成人免费| 久久男人的天堂国产| 嗯嗯啊啊操我| 国产精品。| 国产91啪| 中文字幕欧美精品亚洲日韩蜜臀| 农村妇女一级二级三级视频| 99re免费| 久久久久无码一妻区| 日韩激情中文字幕有码| 男人的天堂VA| 蜜桃久久久久久| 自拍偷拍第26| 日本高清熟女久久一区| 日本黄 R色 成 人网站| 欧美亚洲综合高清在线| 久久日本熟女精品一区| 不卡免费av在线播放| 久9精品| 欧美性,色九九| 性爱精品一区| 性爱乱伦视频免费| 天天天干977| oumeisetupian| 日本免费专区| 日韩性爱一级片| SUV一区二区在线看| 欧美日韩国内不卡| 日韩欧美亚欧在线视频| 夜夜夜夜爽| 啊啊啊啊一区| 26uuu国产日韩综合在线观看| 美女黄页网站| 蘋果手機免費看成人Av| AV天堂丝袜| 91在线视频观看国产| 极品少妇久久久| 国产精品第二页| 久久激情网| 日韩偷拍一区二区三区| 超碰久超碰久| 精品人妻久久久久一区二区三区| 99re99视频在线免费观看| 久热99| 波多野结衣被操50分钟免费视频| 一区二区三| 欧美日韩97在线| 激情文学欧美| 啊啊啊啊啊在线观看网址| 操逼逼中文字幕| 国产成年女黄特黄| 日韩无限资源| 高清无码91| 91视频综合在线| 动漫片子网站3黄| 婷婷五月丁香五月| 天堂种子在线www网资源| 中文AV制服乱伦| 色九久| 亚洲精品97久久中文字幕| 淫骚熟女一区二区三区| 日韩电影天堂视频一区二区| 久操操| 伊人97色天使| 亚洲熟妇丝袜在线观看| 99热这里只有精| 五月丁香社区婷婷日韩欧美精品影院| 伊人久久大香线蕉无码| 18禁免费视频| 国产欧美日韩精品中文| 中国东北熟女老太婆内谢| 国产91会所女技师在线观看| 免费AV中文网在线观看| 91人人| 大象AV在线| 超碰97护士| 91欧美综合| 日本色日夜干| 日产欧美电影一区二区三区| 国产精品不卡av免费在线观看| 偷拍综合网| 91精品老女人| 啪啪啪精品| 亚洲国产精品99久久久| 福利操逼| 日本福利二区视频| 依人大香蕉| 亚洲国产精品久久久久久久久久| 国产视频三区四区| 超碰1997| 国产熟女一区二区| 人妻偷拍一区二区三区| 人人人人插| 操高情无码| 婷婷综合网| 91狠婷| 人人摸人人干| 天美传媒av一区二区| 人人妻天天做天天爽| 日韩天天综合| 一级性爱视频免费观看 | 中文字幕美女91| 亚洲国产奇米影视久久| 99ri在线视频| 国产久久久9999| 日韩精品第3页| 乱操9999| 丰满人妻aA一区二区三区| 7777奇米影视久久| 97人人射| oumeisetupian| 亚洲中亚日激情视频| 亚洲天堂另类| 内射老妇BBWX0C0CK| 嫩草影院在线观看精品| 亚洲男人天堂2019| 无码人妻精品一区二区三区九九| 欧美激情亚洲| 久操com| 黑丝内射一区二区三区| 亚洲色悠悠久久88| 屁股久久久久久久久久| 久草国产在线视频| 四虎影库国产精品免费| 日韩青久久| 99久久无码| 久久精品色欧美aⅴ一区二区| 99re6国产精品99re在线| 亚洲情色一区二区三区| 亚洲国产精品无石码久久 | 美女的肌被草喷水视频| 日韩欧美女求操每天更新| 色翁荡息又大又硬又粗又爽| 天美av在线观看| 色哟哟AV| 亚洲成?V人片在线观看福利| 日本裸体久久色噜噜| 久久久涩| 欧美日韩操逼动图| 人妻 欧美 中文| 人妻-91porn| 国产盗摄美女如厕大神作品在线观看 | 国产中出内射一区二区| 男人的天堂啪啪| 欧美色图小说综合| 亚洲欧洲精品视频发布| 97欧美| 午夜色婷婷| 蜜臀久久精品久久久久视频| 婷婷丁香九月| 午夜欧美神马久久久久| 操操操五月天婷婷丁香影院| 内射日韩大臀美女| 成人毛片免费| 快点操死我| 久久久久夜夜夜夜| 啪啪视频mP4| 96一区二区| 天天干天天拍| 99热这里只有精品18| 午夜色婷婷| #NAME?| 岛园激情| 国产综合久| 五月丁香婷婷色| 亚洲毛片基地专区| 亚洲 中文 女同| 东京热大香蕉| 亚洲91亚洲| 亚洲国产av中文字幕久久| 日本熟人妻中文字幕在线|...久久国产精品-国产精品_日本一区二区三区中文字幕 | 亚洲精品久久久久毛片A片拉屎 | 人人爱操| 国产97免费视频| 91黑丝露脚| 亚洲人天堂| 久久不卡一区二区| 欧美偷拍区| 91天天爱| 强奸xx国产| 亚洲开心网| 日本天堂网| 一二三四视频中文字幕在线看| 伊人丝袜美腿高跟在线观看高清 | 欧美人妻中出| 精品久久久亚洲AV成人网站| 国产精品诱惑| 上床不卡网站| 曰韩无码777| 欧美色图色综合| 久久av色| 五月丁香啪| 一区二区三区免费视频入口| 中文字幕诱惑制服人妻丝袜美丝袜美 | 五码视频在线观看| 天天综合站| 插入综合网| 亚洲国产一区二区日韩专区| 天天干夜夜| 久久久久久夜夜夜夜夜| 国内毛片婷婷六月色| 超碰色大香蕉| 熟女天天干| 午夜色婷婷| 日韩精品色呦呦| 四虎av在线| 国模不卡一本二本三电影| www.人人cao| 在线毛片片免费观看| av橘色网站| 欧洲乱码一区二区| 亚洲综合激情五月久久| 久久久亚洲Av| 大香蕉99999| 99精品久久久久久| 少妇被玩视频二三区| 欧美日韩岛国大片在线观看| 国产无码精品成人| 亚洲男人天堂手机版| 97免费视频在线观看| 成人免费在线网站| 乱伦熟女专区| 中文字幕在线免费观看 | 日韩亚洲欧美中文字幕| 97操碰| 大香网伊人久久综合网eew| 中文字幕永久在线| 激情接吻视频久久久久久| 日韩欧美大片免费高清啪啪| juliaann欧美丝袜办公室| 欧洲精品一二三在线| 青青青国产| 99热网站| 亚洲va综合va国产va中文| 大香蕉久| 久久久无码av精| 国产精品4p在线观看| 午夜精品久久久| 97碰碰色| 综合久久中文字幕综合日韩精品| a一区二区三区乱码在线| 91亚洲在线| 大香蕉中文在线| 婷婷性网| 精品传媒在线一区| 欧美精品一二三| 综合欧美色图| 精品人妻一区二区三区视频在线| 亚洲人精品久久久| 亚洲不卡一| 免费精品AB| 人妻蜜桃臀| 欧美综合色图网| 久久99九九九九6666免费观看软件| 久热这里| 一区二区影视| 亚洲情色综合| 伊人操你| 都市激情人妻一区二区青青操视频 | www.狠狠干.coom| 91neishe| av麻豆啪啪| 精品中文日韩字幕视频| 亚洲高清男人天堂| 97操碰| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区 | 色综合尤物| 久9热| 久久久精品国产亚洲伊人| 熟女人妻av在线资源,黄色的资源| 久久久久96| AV久日| 欧美色性情| 伊人网免费视频| www.黄色在线| 国产日比| 久久九七| 揉揉揉夜夜| 欧美乱伦专区| 激情综合二| 九九这里只有精品| 欧美亚洲情色| 五月天啪啪| 大香蕉宗合网在线| 99热这里只有精| 久热精品在线| 0755午夜福利视频| 大胆91| 国产精品懂色tv影视免费观看| 成人综合色网| 麻豆视频国产一区二区| 吉川爱美亚洲二区在线 | 国产999精品久久久| 大香蕉AV在线| 欧美色综合| 97久久精品亚洲中六字幕| 成人av在线播放| 中出后入| 狠狠干狠狠干| 国产精品久久久久久久久久梁医生| 老女人碰碰在线碰碰视频| 午夜福利免费精品视频| 另类欧美色| 男人的天堂2018.| 99精品欧美一区二区三区桃色| julia ann久久| 天天做天天爱天天爽| 2024黄色视频| 成人天天爽| 伊人激情| 天天躁日日躁成人字幕aⅴ| 91九九九吃| 极品色社| 午夜理论片在线观看免费| 97精品在线视频| 淫乱图区| 亚洲综合色男人网| 日韩国产成人自拍视频| 丰满人妻一区二区三区免费 | 二三四区精品| 99精品网| 国产操逼逼网| 亚洲av噜噜噜噜噜噜| 亚州高清av| 国产精品乱人伊人网| 黄片无码在线制服| 国产肏逼网站| 51一区二区三区| 中文字幕88av在线| h在线看免费版在线看| 黄色av网站在线播放| 欧美日韩色| 欧美在线 亚洲| 综精品久久久aaaa| 岛国成人av在线播放网址| 亚洲第一页第二页激情| 青青草公开在线免费不卡视频| 久久久中文版| 性色avv| 在线只有精品| 操我无码| 大黄片做爱的大的| 囯产精品久久久久久久久久梁医生| 亚洲人精品久久久| 粉嫩久久久久| 国产农村妇女精品1区二区| 亚洲婷婷五月天| 日韩中文字幕视频在线观看| 青娱乐亚洲自拍| 白丝被操91| 加勒比综合| www.91视频网| 亚洲综合色图欧美| 超碰在线1234区| 日韩图区| 久久亚码| 色阁阁AV综合网| 操死我了嗯嗯嗯| 91新在线欧美| 久草视频制服诱惑| 真实高潮91| 小草精彩毛片| 日韩乱码Av| 91久久精品蜜臀| 99热| 日韩有码免费视频| 亚洲.欧美.丝袜.中文.综合| 99无码视频| 婷婷丁香久久| 色色五月丁香| 婷婷五月天综合网| 日韩免费人妻色情网站| 久久久一级| 亚洲日韩AV视色| 久操九九九九| 日韩精彩免费| 国产成人AV麻豆| 操B久久| 九九热精彩视频| 校园春色宗合网| 综合网97| 欧美在线亚洲| 久久久四区| 亚洲不卡三级手机播放| 亚洲人成网站7777| 一级@啪啪视频| 国产91精品福利在线| 欧美亚洲日本视频久久久| 囯产操逼片| 九九久久99| 婷婷日韩一区二区三区中文字幕在线| 精品视频123区小说区| 91网亚洲| 丰满人妻一区二区中文| 麻豆天天躁天天揉揉AV| 91亚洲综合在线| 亚州熟女乱伦| 综合操逼| 欧美后进式| 国产精品色哟哟| 久久精品中文字幕女同| 97se亚洲| 91丨国产丨白浆秘 洗澡动漫| 日韩高清黄片| 久久精品性| 91 国产丝袜在线放观看| 久久久久元码视频| 91无码人妻精品一区二区三区蜜桃| 后入国产| 操逼不卡中文字幕| 发朗少妇买婬全视频中文| 乱理日韩中文| 韩日自拍| www国产无码| 八人操人人摸人人看| 亚洲午夜免费狠狠干| 久插不卡| 亚洲精品国产拍免费91在线| yaouchengrenav| 人人操人人大香蕉| 日韩一级二级在线| 精品久久久一本一道| 成人一二| 色情五月综合婷婷| 欧美在线啊啊啊 | 啊啊啊啊啊啊啊网址在线观看| 熟女少妇视频| 999亚洲国产视频| 天堂蜜桃无码视频一区二区| 日本久久999| 国产强奸乱伦第1页| 97人人操人人摸人人爱| 天天淫人人妻日日色| 破处bbq| 岛国福利在线精品播放| 亚洲人妻av| 欧美在线色| 一级黄色性爱裸体视频| 色狠狠色| 男女性扦B| 无码操逼视频一下| 日本特黄f c2| 蜜桃久久一区| 秋霞蝌科网日本一区| 亚洲一区二区三区麻豆传媒| 97中文字幕九区| 国产精品视频一区二区三区八戒| 久久夜色一区二区| 天天噜| 九九碰九九爱97| 最新9久久久9免费视频| 日韩av电影成人在线| 最新AVzaixian| 久夜操| 熟女被操视频网址| 99热日| 操高情无码| 久久久久ab| 中文字幕精品一区欧美| 一道本东京热加勒比一区二区三区| 欧美se综合| 无码自拍SM| 欧美综合自拍亚洲综合图| 国产一进一出视频网站| 欧美另类自拍| 亚洲国产91精品一区二区久久| 九九玖玖精品| 粉嫩av在线| 国产极品999| 2024年最新色情网站在线观看 | 青娱乐久久艹| 99re6在线视频精品免费完整版安卓版| 黄片视频,下载| 韩国女主播青草在线| 影音先锋日本乱伦| 亚洲欧美日韩有码| 久久综合国产精品国产| 人妻社区男人天堂| 人妻啪| 中文字幕诱惑制服人妻丝袜美丝袜美 | 熟妇人妻一二三区免费| 99久久久久| 久操国产在线| 色穴精品| 亚洲国产欧美一区二区潘金莲| 美性中文综合网| 欧美色性爱| 亚洲综合色图欧美| 发朗少妇买婬全视频中文| 久久春色| 欧美黄色图片| 欧洲成人性爱视频| 黄久久| 亚洲成人碰碰| 狠狠色伊人亚洲综合网站色| 免费看污网址| 竹菊影视国产一区二区| 成人青青草原伊人| 91人妻视频在线| 一本色道久久天天射天天干| 综合久久99亚洲人妻中文在线| 国产激情av女片自拍| 这里都是精品| 蜜桃精品一区二区三区ww| 亚洲色图尤物视频 | 欧美性,亚州色| 国产亚洲中文不卡二区| 99视频自拍区| 欧美色九九九| 中国探花熟女| 91美女视频| 久久视频,这里只有精品| 操操碰| 91在线秘 男同| 日本幼女18+| 欧洲中文字幕| 免费人成?大片在线播放| 欧美亚洲图片| 九九国产| 人妻天堂综合网| 亚洲熟女精品| 玖玖久久久| 久久久久亚洲一区女同性恋中文字幕| 操逼操操操91| 一本色道无码DVD中文字幕| 五月天亚洲网| 国产夜夜艹| 爽 好舒服 无码刺激久久| 国产强奸无码乱伦| 97 国产精品| 精品国产一区二区三区久久久蜜臀| 中国国国产一级特黄毛片| 日韩视频中文字幕| 国产日韩中文字幕欧美| 日韩天堂av电影在线观看| 玖玖玖玖精品国产剧情| 永久电影三级在线观看| 2020天天色综合| 日本啊啊啊啊啊视频| 五月天综合| 3d成人精品一区二区| 五月丁香激情四射| 毛片99-全集电影手机免费观看完整-B029AV| 俺去久久| 99色视频| 日本人人操人人操| 伊人丁香五月婷婷| 九九九九热| 欲综合网| 最新9久久久9免费视频| 亚洲欧美九九九| 色欧美天天| 午夜免费福利视频一区| 色网在线视频观看免费| 美国日韩黄片| 欧美成人性活片| 欧美色图片色哟哟| 久久一区二区加油站| 青青草视频久久久久| 夜夜中出国产| www.五月天| 日韩性爱播放| 亚洲午夜福利在线影院| 国产一区二区三三视频| 一级性爱视频免费观看 | 97碰久久| 网友自拍第1页| 国产丝袜啪啪| 東南亚性呦成人伦理资源在线视频| 嫩草 我啊~嗯~在线| 天堂伊人久久| 级品肉射| 秋霞鲁丝午夜无码一区二区三| 欧美A√综合网| 欧美日韩少妇色情| 亚洲男人天堂2016| 国产精品久久久久久久久久久久久久久 | 日韩操人| 99操| 熟女丝袜视频| 九九久久久九九| 午夜精品久久久99| 丰满精品人妻少妇久久字幕| 最新av在线| Aa东京男人的天堂| 偷拍新久久| 蜜桃天美传媒AV一区二区三区| 欧美日韩制服| 欧美亚洲小说| 亚洲AV无码乱码| 日韩图区 偷拍| 婷婷丁香五月天综合东京热| 国产一级做a爰大片免费久久| 91精品伊人久久久大香线蕉91| 亚洲 欧美日韩 另类| 欧美刺激色黄片免费看| 婷婷色色网| 亚洲日本韩国极品一区二区| 久久色激情一区二区三区| 9超碰免费| 欧美激色| 欧美熟妇精品黑人巨大91| 蜜臀久久99精品久久久| av网站国产主播在线| 国产精品熟女九色九色蜜臀| 人人操人人摸人| 色婷五月天| 色五月第四色| 中日韩久久久免费看| 女生91网站| 精品国产一区二区三区在线播出| 成年人性爱日韩| 色婷婷五月天| 操操操操网黑人| 欧美图片色五月天| 福利视频香蕉免费一区二区在线| 国产av强奸美女| 99在线精品观看99| 日本精品国产视频| 国产久9| 思思热在线视频在线| 久久人人爽爽人人爽人人片αV| 免费综合亚洲中文| 嗯嗯,啊啊,国产精品| 日日妻色网| 97在线免费观看| 人妻人人做人人澡人人爽欧美一区| 久久大香蕉| 欧美色图 人妻| 91亚洲人| 秋霞影音一区二区三区| 中文字暮97| 超碰碰小说97| 欧美中文字幕日韩在线| 动漫爆乳3D奶水一区在线观看| 青青草在线视频人人想人人上| 色老久久| 亚洲国产一级黄色视频| 人人扣人人操| 97爱b| 一级性爱网| 亚洲高清无码免费观看视频| 一区二区三区蜜桃成人撸久久东京热| 国产蜜臀精品一区二区尤物| .精品人妻一区二区三| 五月丁香综合网| 四虎在线观看网站| 亚洲一区日韩精品| 裸体美女免费看网站青草| 中文字幕伊人| 国产又猛又粗又爽又黄| 95人妻爽爽人人做人人澡| 成人乱人伦一区二区| 久热9| 91 丝袜在线观看| 超碰78| 人人爱人人操人人性| 国产农村妇女精品一| 久久久久久九九九九九| 精品人体无圣光凹凸| 极品粉嫩一区二区| 国产精品夜夜| 亚洲脚交| 国产精品久久99日日| 青苹果影院男人的天堂| 国产精品久久久久9999小说| 高跟丝袜AV专区国产| 91熟女综合| 国产h小视频在线观看免费| 天天日夜夜| 免费视频观看60秒| 欧美日韩操操操| 嗯嗯啊啊好大好爽| 波多野结衣一级视频| 日韩精彩免费| 加勒比综合| 91色艳| 蜜臀AV一区二区三区| 亚洲精品日韩国产欧美| 久久久精品中文字幕麻豆| 免费久久一级毛片大黄| 97色爱| 在线中文字幕| 91精品人妻一区二区三区蜜桃臀| 91天天综合网| 91国产精品熟女| 999久久久九九九九| 久久黄黄| 思思热一热婷婷热一热| 九区国产| 亚洲免费成人在线高清无码视频| 国产熟妇一区二区| 性爱综合一区二区| 国产SV一线| 国产一区二区三区久久久精品| 丝袜无码a片| 午夜乱轮操逼视频免费看| 日韩午夜国产| 黄色AAAAA欧美| 青青草成人视频在线观看二区| 国产日产精品久久快鸭的功能介绍| 精品一久久久| 天天摸夜夜添无码小视频| 九七毛片九九毛片| 福利在线黄片| 欧美少妇高潮视频| A V少妇特黄三级| 日本影视久久免费| 日日日啊啊啊| 免费公开人人操| 色69大色97香蕉| 色婷婷激情| 中文字幕丰满子伦无码专区在线视频最新| 欧洲免费一区二| 影音先锋乱伦资源| 日本一久是| 91久热| 国产品精品自在在线午夜免费| 韩日男人的天堂| 欧美一级特黄淫片在线观看| 九九九热精品| www.婷婷六月天| 91国产操逼视频| 欧洲与亚洲欧美精品中文字幕| 成人免费在线网站| 欧洲精品一级二级精品综合视频综合| 人人色人人射人人妻| 国产精品盗摄 偷窥盗摄| 999九九九九国产动| 天天综合91在线| 欧洲综合无码| 国产蜜臀精品一区二区尤物| 伊人大香蕉在线| 久久久久久电影| 久操国产在线| 色九九九综合| 五月天久久久| 国产精品网址| 午夜欧美精品久久久| 精品国产一区二区三区久久久蜜臀| 首页中文字幕中文字幕免费| 美女黄网| 中文日韩欧美熟| 亚洲春色激情小说| 欧亚乱色熟女一区二区| 亚洲丝袜诱惑| 日韩欧美天天爽爽爽天天爽爽| 日本三级韩三级99久久| 日本精品无码三级网站| 久久精品操| 天天日天天屌天天操| 97久久精品亚洲| 人妻日日干| 丰满人妻aA一区二区三区| rivers-china.com| 久久久久亚洲精品| 能看的AV| 日韩性爱电影一区| 国产黄色在线播放观看| 猛猛干| 五十路人妻在线| 男人的天堂色偷偷青青草视频婷婷网| 五月天激情四射| 强奸乱伦AV网站| 国产在线综合福利网站| 91热热色| 色鬼在线综合| 国产欧美第五页| 激情综合婷婷| 51一区二区三区| 亚洲无码偷拍| 日夜伊人网| 性欧美999| 亚洲色图综合网| 亚熟在线| 操我啊啊啊啊啊| 亚洲人成网www| 免费综合亚洲中文| 家庭乱伦网站国产| 国产日韩欧美中文在线播放| 在线日韩精品一区二区三区| 婷婷探花久久精品一区| 91nbbbbbb| 成人久久精品| 中文字幕亚洲欧美在线不卡| 天天摸天天插天天日| 1024香蕉视频| 99色综合| 综合色色网| 亚洲夜夜欢无码一区二区| 懂色AV蜜臀无码精品APP | 亚洲天堂久久久久久粉红视频| 欧美色97| 9精品久久久久| 综合欧美色图| 风间由美日韩欧美久久| 日本精品久久久久久久| 亚州欧美一区| 国产后入清纯| 99在线观看无大码| 蜜臀精品1区2区| 激情图片伦理国产一区二区日韩| 青娱乐av在线| 久久理论字幕视频| 日本午夜福利视频| 久久天天躁日日躁狠狠躁 | 啪啪啪大香蕉| 日韩人妻精品久久久久| 亚洲第一页色| 91国产精品在线看| 欧美第一页性| 亚洲 se图 欧美电影| 精品乱子一区二区三区99| 歐美一級亂黃99在綫精品| 日本一区99| 国产一区二区久久| 少妇特黄一区二区三区| 亚州精品人妻一二三区| 97久久超碰日韩精品| 亚洲欧美伦综合| 欧美少妇色图| 综合av社区| 男人a天堂手机在线版| 美女黄频a美女大全免费皮| 日本精品不卡一二三区| 九月婷婷久久| 九九热精品在线| 亚洲美女 晚间男人天堂| 91爱欧美| 欧美日韩久久精品爱爱| 日本中文字幕不卡视频| 26UUU欧美激情一区二区| 欧美日本国产日韩激情视频| 日本女人操逼| 日本天天人人狠狠在线日美女| 爱啪精品一区| 久久人妻无码毛片A片麻豆| 久久久999国产精品| 中文字幕丰满子伦无码专区在线视频最新| 日韩欧美大片免费高清啪啪| 蜜乳AV.COM| 中文字幕日本久久| 99re6久热只有精品6在线直播 | 日本三级韩三级99久久| 色悠久| 精品日韩产品在线,日韩在线不卡视频,欧美日韩免费专区/久, | 美骚妇av高清在线| 精品国产乱码久久久久久日本公司|