色五月色开心色婷婷色丁香,五月婷婷丁香花综合网,婷婷丁香五月激情综合在线,五月婷婷六月丁香动漫,婷婷丁香五月激情综合在线,丁香花中文字幕在线观看,播五月色五月开心五月网,开心激情综合网,狠狠色丁香婷婷综合最新地址,丁香视频在线观看,狠狠做六月爱婷婷综合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
返回資訊列表
欧美精品宗合| 久久久麻豆精品| 国产对白刺激视频| 啊啊啊啊啊啊啊国| 国产 丝袜 欧美中文 另类| 99精品九九九九九九| 五十路熟女人妻一区二区三区四区五| 91情色在线| 最好看的中文字幕在线2018| 老子午夜伦不卡影院| 口爆综合网| 影音先锋中文字幕日本好一区二区| 久久五十路熟女人妻| 天天欧美色| 亚洲av资源| 亚洲揄拍网| 亚洲天堂第一页| 日本一级二级三级网站| 亚洲情色一区综合| 亚欧成人一级片在线播放| 黄aaaaaaaaaaaaaaaaaa色网站| 亚洲无套久久嗯嗯| 国产有码一区| www.久久制服糖| 亚码激情| 欧美91精品国产自产| 欧美日韩大黄片| 欧美天天综合网| 精品国产乱子伦一区二区三区,精品一| 竹菊影视国产一区二区| 狠操91,com| 久草精品国产蜜臀| 国产精品成久久久久午夜午夜| 日本三级大片| 午夜超碰| 欧美超碰人妻97| 伊人久久综合影院精品久久久 | 欧美熟女丝袜| 久热9| 伊人影院在线理论播放| 伊人少妇久久久| av中亚| 欧美日韩黄色片一区二区三区四区人与兽做爱| 久久偷偷色综合蜜桃| 国产日韩手机视频在线| 日韩特一级久久| 97九色| 日韩 成人 有码| 国产黄色av大片网站 | 国产美女自拍视频| 日本免费一区二区不卡| 国产精品久久久久久久久久久久久久吹| 女优免费一区二区永久| 国产精品久久9| 曰本特级特黄特色黄色A级网站高清在线免费看 | 欧美一级特黄淫片在线观看| 日韩一卡二卡三卡| 骚日日av| 免费看国产大AB| 亚洲欧美电影| 久久啊啊啊视频| 五月天婷婷欧美三区| 日本三级A片网站com| 99久在线精品99re8| 人妻日日夜夜精品| 亚洲s在线观看| 九九热精品| 操逼逼福利视频| 无码直播久久久| 91综合在线| 99色热| 校园春色家庭伦理欧美激情| 亚洲日本天堂| 淫穴高潮色图| 亚洲天天自拍| 国产高清自拍视频| 欧美特大AA级黄片| 日本性爱网址| 五月丁香综合激情| 久jiu久神马影院| 五月久久HDAV| 久啪| 综合色区偷拍| 国产精品久久天天干| 天天看精品动漫视频一区| 日夜伊人网| 色欲久久99国产精品久久久久久| 看免费的黄片| 激情99| 青青操视频在线| 神马久久啊啊| 国产精品午夜福利视频| 国产精品一区在线播放| 国产真乱mangent| 国产区性爱在线视频秋霞豆| 操逼无码操逼| 无码精品啪啪啪一区二区三区三州| 精品久久大胆人体| 婷婷五月天激情四射| 人妻一区视频| 超碰1997| 不卡av在线中文字幕| 91超碰人人操| 日日夜夜模| 欧美精品成人一区二区在线观看| 欧美精品99久久久| 婷婷丁香人妻 | 久久久久久久极品香蕉视频| 国产尤物在线三区| 亚洲精品xxx| 欧美一区二区亚洲天堂| 天天插天天操天天摸天天射天天看| 嗯嗯啊好爽| 欧美日韩中文亚洲v在线综合| 无码视频一区二区| 综合国产影视三级| 嫩草伊人久久精品| 亚洲av综合伊人久久| 亚洲AV无码| 97碰碰色| 色色色网站| 天美av在线| 国产传媒操逼视频| 青青草国产一区二区三区| 欧美大香蕉久| 熟妇一区二区三区| 国产成人午夜视频网址| 日韩亚洲97| 国产操偷| av影院十区| 插欧洲美女欧美精品| 欲综合网| 超碰导航97| 333kkkk·亚洲com久久| 啊啊啊啊好疼视频| 婷婷综合五月天| 人人搞人人插人人操| 五月婷婷六月天| 久久久久久久免费A片国产成a人亚洲精∨品无码 | 欧美日韩大陆黑人少妇99| 日韩操p| 狠综合网| 亚洲天堂东京热| 91久久九九精品国产综合| 91爰爱欧美| 亚洲自拍偷拍视频在线| 精品小视频在线| 九九99精品视频在线观看| 亚洲97精品| 一区二区三区男女操逼黄色小电影| 国产一级不卡在线观看| 亚洲欧美日韩中文播放| 国内一区二区三区| 四虎在线播放| 欧美久久人妻少妇一区二区| 开心五月婷婷| 岛国黄色大片网站| 婷婷干黄色| 92一区二区| 亚洲国产亚洲天堂| 天天日天天舔东京热| 神马久久久久眼| 色色色色网站| 国产女人成人精品视频| 国产中文大片资源中文字幕| 欧美18老人禁| 97香蕉网| 一级性爱视频免费观看| 人妻一区二区三区四区视频| 久久啊啊| 综合网91| 2023天天操夜夜操| 中文字幕乱码人妻二区三区| 成人免费毛片| 欧美精品日韩久久久九| 成人免费在线网站| 男人的天堂不卡一区二区| 国产一级做a爰大片免费久久| 亚洲电影中字一区二区| 热久久国产| WWW操逼| 校园春色宗合网| www久久久| 亚洲人妻熟妇三十三区| 婷婷综合网站| 欧美特黄视频网站| 日本视频在线观看污污污| 国产精品 午夜福利| 超碰97资源大奶| 蜜桃精品一区二区三区久在线| 国产盗摄美女如厕大神作品在线观看 | 日本五区不卡| 特色a在线上| 亚洲 欧美 制服 另类 自拍| 唯美清纯 妖精视频| 在线视频97| 欧美日韩性爱电影在线| 一本色道久久综合亚洲二区三区| 欧色网址| a片 xxxx受爽视频| 久草成人影片| 开心五月婷婷激情| 久久专区| 国产精品一区二区三区四区五区| 日本三级精品| 97这里只精品| 婷婷五月天av| 婷婷AV一区二区三区| 色九月婷婷| 一级免费精品| 欧美性爱伊人| 久久精品国产99精品亚洲蜜...| 国产精品亚洲免费| 最新中文字幕在线亚洲| h无码动漫在线观看| 蜜乳中文字幕a在线| 性久久久| 超碰人人操97碰| 98人妻精品一区二区色欲| 久久成人网站| 精品人妻视频一区二区在线播放| av东京热男人的天堂| 日韩钢筋无码高清啾啾啾| 天天综合91在线| 天天爽天天操| 人人色97| 91美腿丝袜在线观看| 高清在线偷拍自拍视频| 偷看洗澡一二三区美女| www.夜夜操| 九九久久综合| 99热精品在线| 日本亚洲vr欧美不卡高清专区| 亚洲AV免费在线| 婷婷六月色| 91在线色综合| 国内精品久久国产,www香蕉久久五月丁香,亚洲欧美日韩精品永久在线,日本精品一 | 久久久噜噜噜久久人妻| 免费精品AB| 欧美欧美啪啪视频| 亚洲精品九九九| 欧美亚洲天堂| 麻豆黄四叶草网站| 内射日韩大臀美女| 伊人久久AV诱惑悠悠| 亚洲宗合网| 91久久18禁| 日日骚av| 草草网站影院白丝内射| 人人爽人人精品乱人伦AV| 国产精品乱码久久久久| 91人人爽人人爽| 天天日天天干天天摸天天操| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 岛国小电影| 欧美美女自慰一区二区三区| 自拍视频大全亚洲专媒视频/一区二区三区 | 亚洲天堂色图| 超碰久久精品| 成人怡红院| 91精品微拍福利| 18禁在线视频| 强奸a片网| 色噜噜人妻丝袜a∨先锋影| 91精品黄在线观看| 日产狠狠干| 久久久网一区| 无码国产精品96久久久久孕妇| 18禁无码永久免费无限制| 999国产精品999| 玖玖97综合 | 美国三级日本三级久久99| 中国少妇啪啪视频| 91艹B视频| 久久久精品日本一道| 中文字幕文字幕无码一区二区三区电影99| 大香蕉78| 国产少妇与亚洲av| 大香蕉中文在线| 亚洲春色欧美激情自拍| 开心激情站| 加勒比色综合| 国产强奸乱伦第1页| 亚洲AV永久无码一区仙野| 国产精品亚洲四五区在线观看| 超碰久久网| 国产一进一出视频网站| 国产精品一区二区在钱播放| 偷拍 亚洲 欧美| 一区二区三区机械有限公司| www.男人天堂| 亚洲午夜未满十八勿入网站日本又色又爽又黄 | 人人操人人操人人人操| 超碰人人妻| 96国产精品| 国产三级多多影院2022国产AA一级毛片无码 | 96麻豆精品一区二区三区| 精品999日本| 亚洲一级黄色毛片| 久久免费中文字幕在线观看| 啊啊啊好多水| 97人亚洲综合字幕| 国产极品精品美女视频| 91国产在线精品| .精品人妻一区二区三| 麻豆 欧美 日韩| 欧洲精品一级二级精品综合视频综合| 99久久婷婷国产综合精品草原| 97综合久第一页| 再深点灬舒服灬太大了添视频 | 久久久久久久久久黄色网| 丰满人妻一区二区三区色-百度| 性爱av网站| 欧美综合网站999| 久久6热视频免费观看| 97av,com| 欧美视频中文字幕区| 综合91网| 日韩射图| 乱操乱伦AV| 都市激情人妻一区二区青青操视频| 久久精品国产免费观看99| 天天日美女的B| 欧美一区二区三区互相| 亚洲限制级在线| 粉嫩久久久极品| 午夜色婷婷| 欧美夜夜草视频| 蜜桃天美传媒AV一区二区三区| www.99热| 日日操丁香五月天| 18禁止看精品中文字幕| 夜夜騷av、一區二區| 1769一区| AV色五月| 国产熟女完整版中字 | 综合欧美日韩在线| 熟女视频久久| 国产精品黑人一区二区三区| 蜜臀AV成人精品蜜臀| 国产精品亚洲天堂网址| 午夜美女诱惑电源网| 亚洲美乱| 亚洲啪啪视频一区二区| 日韩中文字幕宗合在线| 久久久无码国精品无码三区三区| 无码人妻精品一区二区三区99不卡| 日韩成人午夜精品久久高潮| 狠狠激情综合狠狠操中文字幕| 高清无码人妻久久久一区二区三区aⅴ| 亚洲成人在线播放| 五月天我淫我色av| 大香蕉手机在线| 人人澡人人爽人人精品| 日韩欧美一级特黄大片| 囯产精品久久久久久久久久二区三区| 超碰夫妻97| 日韩在线观看中文字幕视频| 日韩免费中文字幕视频| 久9综合在线| 日本久操视频| 3PAV乱伦视频| 玖色av| 亚洲城人男人的天堂| 91 亚洲 欧美 日韩 国产 综合| 婷婷婷婷婷婷久久久久| 国产精品一区二区麻豆| 国产美女精品| 色av中文字| 色爱综合网| 色欲Av人妻精品一区二| 麻豆av一区二区| 亚洲情色一区三区| 婷婷五月天AV| 色综合网1| 黄视频免费| 俄罗斯及免费在线看| 亚洲中亚日激情视频| 久草资源在线视频官方总站日韩丝袜美腿| 99热免费| av大香蕉| 久久久久久久久久8888| 国语对白在线播放视频| 国产女s强制榨精视频| 欲香欲色| 超碰97久久| 97se亚洲综合自| 97草草| 色偷综合| 一区二区三区日韩欧美| 日本天天吊| 91黑丝在线播放| 欧美亚洲中文字幕| 亚洲日韩成人性爱视频| 色青青久久影视| 人、人、摸,人、人、草| 亚洲一区二区三区在线激情| 少妇厨房愉情理伦片bd在线观看| 少妇精品久久久| 中文字幕交换人妻| 亚洲色91C| 亚洲精品一卡二卡三卡福利视频网站 | 久久久久幕乱码| 俺也射| 色婷婷一区二区三区久久午夜成人不| 超碰午夜| 国产精品69久久久久久久| 高树玛利亚无码流出| 天天透伊人| 91xingse| 国产中文福利| 91欧美偷拍| 日韩三级在线观看mp4| 91肏屄网| 香蕉av一区二区三区| 亚洲 综合 第一页| 一二三四区操操Av| 精品日韩| 色黄污美女啪啪啪免费网站| 欧美1区二区三区公司| 91在线视频观看国产| 国产精品亚洲高清在线| 一本一道vs波多野结衣| 一级A啪啪啪啪| 蜜臀久久一区二区| 成人热久久精品| 日日碰视频网| 91bbb| 狠狠操夜夜| 干干干天天| 天天躁日日躁AAAXX| 伊人综合色网| 日产成人久久| 农村少妇久久久久久久| 欧美精品二区视频在线| A片 AV一级在线播放观看免费| 久久久九九网站| 丁香五月av| 久久中日麻豆| 欧美日韩传媒| 欧亚在线视频| 美日韩在线不卡人妻| 日韩AV噜噜噜一区二区三区四区| 日韩在线国产字幕| 爆操无码| 亚洲中文电影| 91人人操| 国产免费久久久久| 成人精品一区二区三区| 精品视频在线观看| 国产极品精品美女视频| 99国产人成精品| 国产精品爆乳懂色蜜乳| 中文字幕精品资源在线| 亚洲自拍欧美国产首页网曝| 久久αⅴ| 97干在线| 视频黄站| 欧美18 在线观看| 大香交伊人网| 亚州五月| 午夜影美女日鸡鸡天天视频国产| 日本精品88888888| 麻豆成人AV| 亚洲一区二区精品福利| 欧美亚洲日韩16色| 91搡老女人老妇女老熟女歌词翻译| 加勒比久久综合网高清| 欧美一区二区传媒| 伊人天天久久动态图| 亚洲精品久久久久久久蜜桃臀| 成人综合网 欧美| 男人天堂电影院| 99热啪啪| 天天综合欧美综合| 午夜啪| 美女啊啊啊啊啊啊啊| 综合 亚洲 欧美| 狠狠色丁香| 久欲AV| 欧洲性爱无码区| 情侣开房子拍 日韩无码 女的很漂亮| 日本不卡在线二区三区| 正在播放:深夜激情大战,自带黑丝袜全力输出骚穴 | 久热久| 97超碰磁| 百度百度日本操逼| 人妻铁牛TV| 亚洲精品三区在线观看| 久久中出在线| 操操操操网黑人| 九九九九97| 少妇99成人麻豆| 欧美最大综合网| 91国产丝袜足交精品视频| 伊人久久国产免费观看视频| 国产又粗又大硬免费色网视频| 久久色一区| aaa淫乱视频| 涩涩涩综合| 91美乳| 亚欧美色| 亚洲色堂免费视频| 超碰精品国产无码| 福利在线视频一区二区| 久久激情综合| 国产后入| 吊色| 超碰79人人乐| 中国一级αV| 伊人991| h无码动漫在线观看| 日韩97视频| 99久久久99久久91熟女| 天天视频黄| 超碰久久网| 凹凸视频特色日本特黄| 少妇久久久久久| 国产超碰在线一区| 91丨九色丨熟女高潮| 91精品国产91综合久久蜜臀| 香港日本韩国人妇99www.wccm20| 免费视频a级毛片免费视频| 欧美第二页| 亚洲 综合 第一页| 亚洲中文字幕精品久久久久久直播| 国产不卡片| 欧美另类精品xxxx| 亚洲天堂久| 91美女丝袜诱惑视频| 国产高清亚洲日韩一区| 精品天堂| 97鸡把在线视频| 亚洲欧美啪啪| 视频在线中文字幕| 99国内熟女露脸视频| 91色黑人少妇| 国产福利夜| 亚洲图片偷拍视频区| 亚洲97成人在线观看| 大香蕉中文aV在线| 不卡啪啪视频| 中文字幕一区二区三区视频播放| 青草地一本线一区二区三区| 黄色高清久久无码依人| 日韩强奸av| 草久久久| 可能人人看人人摸| 大奶啊啊好爽| 亚洲情色1区| 亚洲做性| 久草视频在线视频在线视频在线观看 | 丁香六月天| 久草成人影片| 天堂v无码免费视频| 国产黄色在线播放观看| 黄色十八禁| 偷拍亚洲高清图片| 天天干1区2区在线| 97干色天堂| 在线观看日韩av不卡| 国产成人99久久亚洲综合| 99热在线播放| 国产av美女被艹的乱叫| 欧美岛国精品在线观看| 国产成人精品午夜福利| 欧亚综合一卡二卡中文字幕| 一本色道久久综合狠狠操| 久午视频| 91天天| 色综合婷婷| 亚洲第一成人影院色播| 免费一级a毛片久久久久久鸭绿欲| 亚洲黄a三级三级三级看三级| 日韩 女同 综合| 很黄很污的免费网站| 欧美综合站| 欧美精品999| 久偷拍欧美日韩三区| 成人三级片一区二区三区视频| 亚洲色图加勒比| 欧美成人精品A片免费一区99| 国产1769在线| 日本熟女中文| 色综合色色| 五月丁香影院| 国产二区三区免费视频| 国产精品白丝www| 欧美成人一级免费电影| 91高跟美女在线播放| 欧亚日韩中文在线| 九九碰九九爱97| 青草精品视频一日本久久久久网站| 91精品国产乱码| 午夜丁香| 91色夜| 日韩人妻少妇 一区二区三区| 97伦综合| 97视频观看| 人人操人人摸avav| 久9久9精品| 亚洲少妇综合| 国产精品视频麻豆入口| 天天超级碰碰碰| 伊人久久综合精品欧美| wuyechaopeng| 人妻天天夜夜爽一区二区| 五月婷亚洲精品天堂| 天天综合网站| 精品久久无码午夜福利| 丝袜天堂网| 成人性爱全视频观看| 久久69| 久无码| 亚洲无码?第一页| 91岛国动作片| 亚洲av淫乱| 国产强奸乱伦无码视频| 欧美日韩人妻少妇 一区二区三区| 夜夜操青青草| 乱欲视频| 久久久久久久久久久精| 91逼逼女人91| 免费黄色A片| 九九九九九九九九九九九九九九九女| 九九九网站| 欧洲亚洲人妻无码中字久久三区四区 | www国产无码| 另类亚洲图色| 亚洲欧综合另类无码一区| 久久超碰国产一区二区三区| 精品人妻一区二区三区四区| 麻豆国产成人精品| 求求你操操我| 午夜AV人气不卡| 亚洲婷婷五月天| 欧美黑人与女人91| www.色吧5.com| 免费操逼视频下载| 97超碰9| 日韩精品 视频一区二区| 青青草天天亲夜夜操网| 欧美狠狠弄| 熟人人妻少妇精品久久| 阿姨一区二区免费视频-高清正片西瓜视频下载app-T450AV | 亚洲一区操| 久久风骚城市| 中欧人妻丝袜中文字幕| 艹我哪美一区无码| 日本女人操逼| 岛国色情视频在线观看| 使劲用力艹少妇视频一区二区| 上特色A在线| 国产强上视频在线观看| 欧美人人天天网| 美女在线H91| 偷拍片久久| 久久午夜神马| 91啪啪| 国产亚洲性生活视频播放| 97操在线| 久久国色天香香蕉| 夜夜骑操视频| 欧美久热| 日韩av色图综合| 国产白丝AV| 精品无av| 超碰人妻中文在线| 91色黑人少妇| 牛黄色久午久| 久久69精品久久久久久久| 国产精品午夜精品| 目产99999久久999| 亚洲s在线观看| 97日韩欧美| www.亚洲成人一区| 极品出轨视频网站| 国产福利电影| 艹比视频国产精品| 日韩视频小说在线观看| 国产性爱强奸乱伦大全| 性久久| 色偷综合| 色婷婷av在线观看| 超碰97人人乐| 天天摸天天插天天日| 日本一级真人黄色性爱视频| www鬼畜国产男人的天堂| 精品十八在线观看| 情侣开房子拍 日韩无码 女的很漂亮| 天天看天天日天天操| 成人羞羞视频国产| 一级黄碟在线观看| 国产操逼逼网| 欧美91精彩| 日韩中文字幕在线视频观看| AV天堂因数| 熟妇最新先锋一二三区| 亚洲,日韩,欧美,成人播放| 日本熟妇精品九九| 婷婷伊人綜合中文字幕| 丝袜人妻av一区二区| 蜜桃久久久久久久久久久久| 欧美性爱在线无码| 久久久久久久人妻丝袜| 亚洲综合一| 激情99| 最新av网站在线观看| 久久久久久9999| 婷婷五月综合在线| 日韩无码操逼片| 深爱伊人影院| 99热导航| 日本高清一区二区在线| 女沟厕偷窥piss小便| 中文字幕久久亚州无码| 超碰久久中文| 国产成人精品亚洲日本| 成人羞羞视频国产| 无码二级三级| 欲香欲色天天天综合和网| 五月婷婷六月色| 蜜桃色院一区久久| 亚洲天堂情色| JuliaAnn丝袜熟女系列| 一直超碰| 熟妇人妻一区二区三区| 久久性爱城| 中文字幕免费在线观看| 久久久国产精品人妻丝袜| 久久综合精品一区二区三区| 国产无码一二三区| 丝袜美腿制服人妻二区中文字幕| 亚洲四虎熟女精品| 江都AV在线| 欧美性综合| 99热8| 思思热在线观看| 黄色一级视| 婷婷性网| 久久骚| 日韩一级欧美一级国产一级台湾| 综合网色| 久久九九久精品国产尤物|国产精品爽黄69天堂A片潘金莲,国产亚洲精品第一综合 | 亚洲天堂男人在线| 精品十三区| 亚洲最大91网| 97WW精品| 久久性爱城| 欧美亚洲日本激情在线| 国产精品亚洲一区二区三区四区| 成人性爱美曰韩| 欧美精品精品一区二区| 91视频伊人| 国产三级在线现体验区| 国产精品乱码久久久、久久| 人妻黑丝袜电影| 五月天春色激情网| 青青草手机在线免费观看| 大香蕉免| 国产60区。| 狠狠干妹子| 亚洲久久东京热一二三四五区视频| 大香蕉青青9| 漂亮人妻被强中文字幕hd| 超碰在线1234区| 深夜激情 | 色9999日韩国产| 天天干少妇| av天天在线观看| 熟女人妻av在线资源,黄色的资源| 国产欧美日韩在线观看麻豆传媒公司 | 激情五月综合开心五月| 日本色色视频网站| 日韩亚洲中文字幕在线| 333kkkk·亚洲com久久| 大香蕉专区| 精品成人av一区二区三区在线| 日韩午夜啪啪视频| 校园春色综合| 欧美熟女激情| 国产深喉| 久久一二三四| 日本免费中文字幕在线| 天天天天天天天天天天干美女| 亚洲丁香花色| 天天亚洲综合| 夜夜久久久| 最新无码国产| 国产一区二区三三视频| 思思性爱| 国产夫妻一区二区| 亚洲极品| 97爱爱| 久久婷色| 欧美综合第一| 国产女人高潮嗷嗷嗷叫小说 | 欧美午夜精品久久久久久超碰| 在线人妻熟女一区二区三区四区五区| 免费99精品国产自在在线| 久久国产精品m码| 亚洲激情综合另类男同| 777奇米影视777四色| 色婷婷综合久久久久中文国产精品一区中文字幕,国产福利电影一区二区三区 | 国产刺激视频| 使劲用力艹少妇视频一区二区| 狠狠爱大香蕉| 国产操偷| 日韩一999精品| 干妹子| 久久双插| 日韩欧洲操屄视频| 大香蕉手机视频| 99蜜桃臀久久久欧美精品网站| 97国产精品视频| 新版天堂中文资源8在线| 人妻在线中出视频| 亚洲中文字幕一区二区| 欧美强奸乱| 青草香蕉网| 久久成年片色大黄全免费网站| 欧美成人黄网色网站| 免费综合亚洲中文| 亚洲 欧美 另类 日韩 人妻一区| 欧美亚洲清纯| 天天日天天射天天干| 国产免费一区二区在线A片视频| 在线中文字幕极品av| 熟女在线视频| 好湿好紧视频| 国产激情av女片自拍| 一级久久久久久久久久久| 看日韩美女二区三区免费操逼视频| 97精品第3页| 免费?级毛片无码?∨蜜芽试看| 99综合网| 久久伊人影院| 久久久久国产无av| 日日97| 久久国内| 四虎精品一区| 在线观看国产黄色| 亚洲AV乱码专区国产噜噜亚洲| 97久操| 熟女被操视频网址| 欧美超碰人妻97| 曰本人妻人人澡人人夹| 色超碰综合| 欧美一区二区三区蜜桃| 天美传媒av在线| 人妻 中文 日韩| 精品二999| 天天色天天干天天射| 少妇三P| 精品中文字幕第一页| 青青欧洲黑| 亚洲黄网在哪免费看| 九九热超碰97亚洲最新香蕉| 26uuu最新| 日韩99神马视频片| 中国探花熟女| 天天干人妇| 精品欧美不卡在线播放| 9超碰免费| 综合色啪| 在线国产福利网址导航| 欧美人体性爱互联网第一页婷婷日本| 性欧美91| 蜜桃精品一区二区三区久在线| 六月婷激情福利天堂69| 天堂v无码免费视频| 亚洲欧美视| 97国产精品久久久久 | 天天碰操中国年青熟妇| 亚洲综合在线高清| 91伊人| 91在线限制级| 亚洲人精| 欧美性综合| 欧美在线综合| 国产精品丝袜久久亚洲不卡| 俞拍久久国应视频| 97资源站久久| 好属操| 91九色网| 91人妻人人澡人人爽人人精品| 日韩精品99999| 欧美日韩国产成人高清| 亚洲淫乱骚妇AV| 91快色色色色色| 精品无码秘 人妻一区二区| 开心激情站| 欧美熟妇成人一区二区| 91亚洲狠狠色| 双插在线| 亚欧精品久久久久久久久久久| 欧美岛国精品在线观看| 欧美第二页午夜| 日本一区二区三区精品| 在线中文字幕极品av| 丝袜亚洲综合| 天综合网欧美| AV色天香在线| 久久美女福利是上海美女| 91色人妻| 婷婷国产精品一区二区| 少妇人妻无码| 黄污污污污| 抽插无码高清一区| 欧美综合网A| 五月天精品| 自拍欧美| 丝袜熟女一区二区三区| 使劲用力艹少妇视频一区二区| 亚洲.欧美.丝袜.中文.综合| 亚洲?V无码专区在线电影| 91老司机在线| 色在线亚洲视频www| AV中亚| 久久久久久99999国产精品| 嫩草 人人网精品| 男女真人网18| 精品国产一区二区三区在线播出| 一区二区中文| 99少妇| 久久夜嗨| 亚洲天堂色图| 伊人影院在线理论播放| 99re在线观看| 精品一啪| 久久一区二区高清免费| 久久精品中文字幕观看| 新久久AV| 在线a亚洲视频播放在线| 亚洲黄色| 久久久啊啊啊| 99只有精品| 欧美激情一区二区| 操婷婷逼| 精品伊人久久久大香线蕉小说| 亚洲激情av| 白天啪啪晚上啪啪视频| 天天夜躁日日躁狠狠2002| 亚洲丝袜诱惑| 97在线视频网站| 欧美劲爆第一页| 极品色综合| 少妇九九九九| 欧美色图99| 日本欧美不卡| 丰满欧美放荡少妇在线| 青青草玖玖爱| 91国产美女丝袜足交精品视频 | 91在线色| 99超碰色| 无码一区二区三区四区五区六区七区八区九区十区视频 | AA级电影三区| 8x福利精品第一福利视频导航| 欧美人与动性人交a| 亚洲av无码国产精品字幕| 乱操乱伦AV| 欧美亚洲91| 桑老女人九区| 亚洲无码一区成人免费午夜| 日韩一卡二卡三卡| 久96热在线观看视频| 98人妻精品一区二区色欲| 天天干天天舔| 久久一二三四| 日韩综合无码色欲vv| 97超碰9| 欧美性爱第1 页| 国产曰批免费观看久久久| 人人操人人叉人人插人人| 在线播放成人高清免费视频| 中文字幕精品探花视频| 18禁美女裸体无遮挡啪啪| 亚洲成?V人片在线观看福利| 熟妇操花| 精品无码一区二区| 日本熟女中文| 欧美中出1| 欧美日韩性爱无码| 天天插夜夜操| 操操操五月天婷婷丁香影院| 91精品国产91综合久久蜜臀| 色香综合天天影视综合 | 黄骗免费网站| 91色黑人少妇| 91精品丝袜在线观看| 国产 亚洲 丝袜 制服| 日日爱99| 精品国产99999| 美女高潮国产高清| 久久久久亚洲Av无码专区老牛影视 | 一本大道青青| 亚洲se91| 国产成人精品亚洲日本| 久久夜黄色无码A级大片| 色狠狠综合| 久久久久久裸体| 精品亚洲成人免费在线| 欧美亚洲日韩人妻在线观看| 日本 欧美 亚中文字幕| 亚洲中文sv| 免费自拍三级综合| 超碰97玖玖爱| 国产精品人妻无码久久久互動交流| 亚洲精品国产熟女| 97色色视频| 欧美影音在线| 超碰国产精品无码| 第45页一区二区| 极品销魂美女一区二区| 五月丁香婷婷综合| 国产91美女视频| 亚洲国产精品9999在线观看| 强奸乱伦av电影| 国产熟码AV| 日本精品成人无码| 亚洲欧美清纯| 精品一区二区啪啪啪| 大色综合| 久久久久久久久久黄色网 | 亚洲AV成人在线| 90后后入| 久草综合京东| 午夜一级免费毛片| 伊人久久亚洲色欲综合网站| 欧美视频一区二区在线| 亚洲欧美综合网站| 狠狠色综合网| 91视频精品| 激情文学 亚洲图片| 99热网站| 91综合中文字幕| 久久爱超碰网| 操少妇很爽av| 久久夜夜| 嗯嗯啊啊日韩精品| 亚洲 图片 欧美 色图| 婷婷伊人五月| 怡春院久久| av东京热男人的天堂| 亚洲小电影免费涩涩成人在线高清| 久久久久九九九九九| 欧美大香蕉97| 婷婷五月天激情四射| 亚洲全色网| 免费网色网站| 久久理论字幕视频| 中文字幕交换人妻| 91岛国动作片| 蜜汁欧美| www.久久超碰| 情色大香蕉| 国模91| 国产日韩人人| 久久久久久亚洲精品不卡人乳| 中日韩欧美精品无码AⅤ一区二区| 精品一区二区三区国产| 懂色av一区二区三区天美传媒| 亚洲欧美综合网站| 天天干1区2区在线| 60秒免费小视频| 天天天天天超碰| 玖玖爱一区在线| 日夜久久久九九九久| 日韩三级在线观看mp4| 久久一二三四不卡 | 亚洲砖码砖专无区2023| 豆花视频操逼网址| 91精品久久久| 国产AV激情无码久久无码| 国产女人和拘做爰视频 | 日本少妇va7777| 欧美性爱三区二区| 97久久精品国产| 日本一级真人黄色性爱视频| 亚洲一区日韩| 60秒免费视频| 少妇激情一区二区三区视频| 欧美一级黄色18片免费看| 国产精品熟女九九九| 99操| 久久999久| 国产一区二区三区高清视频| 播播亚洲小说亚洲| 国产欧美伊人| 日韩精品国模| 久久久久久久久久久久黄色| 久久精品99| 国产美女在线精品免费看| 国产视频一区二区三区在线免费观看 | 欧美性视频二区三区| 久久精品一区二区三区不卡| 国产精品一区二区三区在线密挑| 中日无幕一二三四区| 另类专区加勒比| 狠狠躁伊人中文字幕| 夜夜爽爽夜夜精品视频| AV天天在线观看| 国产九九久久久精品| 一本久久精品中文字| 久久99草| 91色狼| 一级久久久久久久久久久| 中文字幕日韩综合| 91强在线播放| 亚洲在线A| 欧美日本成人一区二区| 91老熟女91老女人| 熟女网站最新| 日韩欧美成人大香蕉| 亚洲国产欧美日韩精品一区二区三区,国产一区二区三区在线看片,欧美性猛交 XXX | 97色97好| 亚洲国产精品99久久久| 亚洲欧美视| 中文字幕精品探花视频| 日韩去日本高清在| 精品无码一区二区三区| 亚洲熟伦熟妇AV无码春色| 免费农村成人少妇人妻Aa一区二区视频| 欧美丝袜91| 九九在线精品| 大学生美女口爆| 超碰97网址| 女人喷水视频在线观看| 综合性视频99| 91校园春色长篇| 九九AV| 国产超碰在线一区| 久久熟女嫩草成人片免费| 97最新在线播放视频| 亚洲色天| 色欧美天天| 欧美黄色大片在线观看 | 蜜臀AV成人精品蜜臀AV久久| 久久亚洲国产成人| 骚人妻少妇视频| 不卡一区二区日本视频| 亚洲丝袜在线观看| 成人综合视频久久| 97碰在线视频| 麻豆成人影音在线| 久久精品人体| 成人八戒网站| 百度百度日本操逼| 99久在线精品99re8| AV高清一区| 日本欧美国内在线| 农村女一级毛卡片| 综合久欧洲| 色综合久| 91精品黄在线观看| 亚洲国产奇米影视久久| 五月天加勒比啪| 国产精品久久久777| 91大神电影天堂| 91色女|