久久亚洲成a人片熟女精品色一区二区三区|国产精品视频第一精品视频|av天堂热无码手机版|亚洲?v无码久久无遮挡|国产精品偷伦视频免费观看国产|麻豆国产自产精品丰满熟妇|av无码av不卡一区二区|久久亚洲精品中文字

ARTICLE DETAIL

資訊詳情

深耕商務(wù)建站與企業(yè)官網(wǎng)運(yùn)營的一線實(shí)戰(zhàn)洞察。

樹莓派Linux內(nèi)核4.19.y定制實(shí)戰(zhàn):從交叉編譯到設(shè)備樹與驅(qū)動(dòng)

樹莓派Linux內(nèi)核4.19.y定制實(shí)戰(zhàn):從交叉編譯到設(shè)備樹與驅(qū)動(dòng) 簡介面向樹莓派開發(fā)者的Linux內(nèi)核4.19.y分支完整源碼包適合需要在內(nèi)核層進(jìn)行驅(qū)動(dòng)開發(fā)、性能調(diào)優(yōu)或功能定制的嵌入式愛好者、樹莓派玩家及系統(tǒng)工程師。壓縮包約193.93MB內(nèi)含數(shù)萬份內(nèi)核源文件其中C源碼超過2.6萬份、頭文件超過1.9萬份另有makefile、設(shè)備樹dts/dtsi、Kconfig、defconfig等構(gòu)建與硬件描述文件便于按框架快速定位特定驅(qū)動(dòng)、總線和外設(shè)配置。目前已有598人瀏覽學(xué)習(xí)對(duì)入門者和進(jìn)階者都有參考價(jià)值。內(nèi)容涵蓋從獲取源碼、配置menuconfig、編譯內(nèi)核與模塊到更新config.txt/cmdline.txt并重啟驗(yàn)證的完整思路同時(shí)涉及GPIO、I2C、GPU、SPI等樹莓派常用外設(shè)的驅(qū)動(dòng)編寫與內(nèi)核裁剪要點(diǎn)。學(xué)習(xí)這份源碼既能理解Linux內(nèi)核的編譯流程也能掌握針對(duì)樹莓派的定制化改造方法為進(jìn)一步編寫硬件驅(qū)動(dòng)、優(yōu)化系統(tǒng)性能以及開展嵌入式項(xiàng)目打下扎實(shí)基礎(chǔ)。1. 樹莓派Linux源碼4.19.y從讀代碼到改內(nèi)核這一步才是關(guān)鍵樹莓派的Linux內(nèi)核鏡像并不是什么黑匣子但很多人拿到4.19.y這份源碼包后第一個(gè)動(dòng)作往往是在drivers目錄里搜驅(qū)動(dòng)名搜到幾個(gè)c文件就以為自己看懂了。實(shí)際上下載這份源碼的真正價(jià)值不在“讀”而在“改”——裁剪掉用不到的功能、給某個(gè)外設(shè)重新寫驅(qū)動(dòng)、調(diào)整設(shè)備樹讓系統(tǒng)認(rèn)出一塊新板子。樹莓派4B、3B、Zero W 這些板子的差異就藏在這一棵內(nèi)核樹和幾十個(gè).dts設(shè)備樹文件里。適合兩類人一類是做嵌入式產(chǎn)品原型、需要一個(gè)干凈且私有化內(nèi)核的開發(fā)者另一類是遇到官方內(nèi)核無法驅(qū)動(dòng)某個(gè)外設(shè)、只能自己上手改源碼的折騰派。2. 源碼結(jié)構(gòu)拆解BCM283x驅(qū)動(dòng)、設(shè)備樹與4.19.y的目錄主線拿到源碼包后先別急著敲make花十分鐘把目錄主線過一遍后面編譯和改驅(qū)動(dòng)時(shí)能少走很多彎路。4.19.y 這版源碼是標(biāo)準(zhǔn)的 Linux 內(nèi)核樹加上樹莓派官方補(bǔ)丁你既能看到上游內(nèi)核的影子也能發(fā)現(xiàn)大量只屬于樹莓派的私有代碼。2.1 頂層目錄先分清哪些是樹莓派私有、哪些是通用內(nèi)核源碼根目錄下的結(jié)構(gòu)對(duì)做過內(nèi)核編譯的人并不陌生但有幾處需要單獨(dú)圈出來。arch/arm是樹莓派4B和3B這類32位ARM板卡的內(nèi)核架構(gòu)目錄包含啟動(dòng)相關(guān)代碼、系統(tǒng)調(diào)用入口和內(nèi)存管理底層drivers是驅(qū)動(dòng)的大雜燴樹莓派官方新增的驅(qū)動(dòng)絕大多數(shù)都掛在drivers下對(duì)應(yīng)的子系統(tǒng)里Documentation里是內(nèi)核文檔開發(fā)時(shí)遇到 Kconfig 選項(xiàng)拿不準(zhǔn)、設(shè)備樹 binding 寫不對(duì)先翻這里比上論壇發(fā)帖高效得多。linux-rpi-4.19.y/ ├── arch/arm/ # ARM架構(gòu)代碼樹莓派默認(rèn)32位內(nèi)核 ├── arch/arm/boot/dts/ # 設(shè)備樹源文件樹莓派各型號(hào)的硬件描述 ├── drivers/ # 驅(qū)動(dòng)代碼bcm2835相關(guān)驅(qū)動(dòng)散落在各子系統(tǒng) ├── include/ # 內(nèi)核頭文件寫驅(qū)動(dòng)時(shí)經(jīng)常要引用的路徑 ├── kernel/ # 內(nèi)核核心代碼調(diào)度、進(jìn)程管理等 ├── scripts/ # 編譯腳本mkknlimg 就在這里面 ├── Documentation/ # 內(nèi)核文檔設(shè)備樹binding、API說明 ├── Kconfig # 頂層配置菜單入口 └── Makefile # 頂層構(gòu)建腳本注意幾個(gè)容易被當(dāng)成普通目錄的地方。arch/arm/boot/dts下不僅有bcm2711-rpi-4-b.dts這類板級(jí)文件還有一個(gè)overlays子目錄里面是幾十個(gè).dtbo設(shè)備樹插件樹莓派的 GPIO、I2C、SPI 擴(kuò)展全靠它們改設(shè)備樹時(shí)這里幾乎是必動(dòng)的。scripts/mkknlimg是樹莓派特有的內(nèi)核鏡像轉(zhuǎn)換腳本上游內(nèi)核沒有編譯完 zImage 后必須用這個(gè)腳本轉(zhuǎn)出能被 bootloader 識(shí)別的kernel7l.img。2.2 BCM283x 系芯片的內(nèi)核側(cè)代碼從 machine 目錄到驅(qū)動(dòng)子系統(tǒng)樹莓派用的是博通的 BCM2835、BCM2836、BCM2837、BCM2711 這一系 SoC在 4.19.y 里這些芯片對(duì)應(yīng)的平臺(tái)代碼并不集中在一個(gè)叫“bcm283x”的大目錄里而是按職責(zé)拆開。arch/arm/mach-bcm283x/里是芯片級(jí)初始化代碼4.19 時(shí)代已經(jīng)大量讓位于設(shè)備樹這個(gè)目錄里剩的東西不多真正干活的代碼在drivers下面。// drivers/pinctrl/bcm/pinctrl-bcm2835.c 是GPIO引腳控制的驅(qū)動(dòng)入口 static const struct of_device_id bcm2835_pinctrl_match[] { { .compatible brcm,bcm2835-gpio }, { .compatible brcm,bcm2711-gpio }, {} };這段代碼展示了樹莓派驅(qū)動(dòng)的典型寫法通過設(shè)備樹里的compatible字符串把硬件描述和驅(qū)動(dòng)綁定起來。brcm,bcm2835-gpio對(duì)應(yīng)老款芯片brcm,bcm2711-gpio對(duì)應(yīng)樹莓派4B同一個(gè)驅(qū)動(dòng)文件兼容多個(gè)芯片型號(hào)靠的就是設(shè)備樹聲明。編譯內(nèi)核前打開arch/arm/boot/dts/bcm283x.dtsi看看這些節(jié)點(diǎn)是怎么寫的能幫你理解“為什么改一個(gè)引腳要?jiǎng)釉O(shè)備樹而不是動(dòng) C 代碼”。2.3 設(shè)備樹、defconfig 與配置文件三者的關(guān)系一張表說清樹莓派的內(nèi)核定制繞不開三樣?xùn)|西設(shè)備樹描述硬件、defconfig 決定內(nèi)核功能、config.txt 告訴 bootloader 啟動(dòng)參數(shù)。它們之間的邊界經(jīng)常被新手搞混簡單記你能插什么外設(shè)主要由設(shè)備樹決定內(nèi)核支不支持這個(gè)外設(shè)的驅(qū)動(dòng)主要由 defconfig 決定啟動(dòng)時(shí)加載哪份內(nèi)核鏡像和設(shè)備樹由 boot 分區(qū)里的 config.txt 決定。表4.19.y 源碼中與樹莓派型號(hào)對(duì)應(yīng)的關(guān)鍵配置文件文件/配置對(duì)應(yīng)板卡主要作用bcm2711-rpi-4-b.dts樹莓派4B定義4B的引腳、SD卡、HDMI、PCIe等硬件節(jié)點(diǎn)bcm2837-rpi-3-b-plus.dts樹莓派3B3B的板級(jí)設(shè)備描述bcm2711_defconfig樹莓派4B默認(rèn)配置BCM2711 平臺(tái)的內(nèi)核功能開關(guān)bcmrpi3_defconfig樹莓派3B/3B3代芯片的默認(rèn)配置文件常見誤用是改完設(shè)備樹忘了重新編譯.dtb或者改完.dts直接把它拷到 boot 分區(qū)用這都不會(huì)生效。4.19.y 的編譯流程會(huì)把.dts編成.dtb而 bootloader 實(shí)際讀取的是.dtb不是源文件。這個(gè)環(huán)節(jié)后面編譯時(shí)會(huì)再驗(yàn)證一遍。3. 交叉編譯實(shí)戰(zhàn)一條命令鏈生成可啟動(dòng)的kernel7l.img源碼樹在手里下一步要做的是把.c文件變成樹莓派 SD 卡上能跑的kernel7l.img。在不熟悉交叉編譯的人眼里這一步玄學(xué)很多其實(shí)拆開看就三件事選對(duì)工具鏈、設(shè)對(duì)環(huán)境變量、按序執(zhí)行幾個(gè) make 目標(biāo)。3.1 工具鏈選擇官方 tools 倉庫和發(fā)行版自帶交叉編譯器怎么取舍交叉編譯樹莓派內(nèi)核有兩個(gè)常用選擇一個(gè)是樹莓派官方tools倉庫里現(xiàn)成的arm-bcm2708-linux-gnueabihf-工具鏈另一個(gè)是 Ubuntu、Debian 上通過 apt 安裝的arm-linux-gnueabihf-gcc。兩條路都能編出可運(yùn)行的內(nèi)核但血淚經(jīng)驗(yàn)是官方工具鏈和 4.19.y 的源碼配合最穩(wěn)發(fā)行版自帶編譯器版本太新編老內(nèi)核時(shí)偶爾會(huì)報(bào)一些莫名的語法警告雖然多數(shù)不影響產(chǎn)物但排查起來費(fèi)時(shí)間。# 下載官方工具鏈并解壓到工作目錄 wget https://github.com/raspberrypi/tools/archive/master.zip unzip master.zip export PATH$PATH:$PWD/tools-master/arm-bcm2708-linux-gnueabihf/bin環(huán)境變量PATH加了之后先用arm-bcm2708-linux-gnueabihf-gcc -v驗(yàn)證一下能不能跑。注意這里的前綴arm-bcm2708-linux-gnueabihf-雖然帶著bcm2708字樣但工具鏈本身是支持后續(xù)芯片的這個(gè)命名是歷史遺留不影響你編譯樹莓派4B的內(nèi)核。3.2 一次完整的編譯命令鏈ARCH、CROSS_COMPILE、make 目標(biāo)逐個(gè)說清在源碼根目錄執(zhí)行下面這組命令前先想清楚兩個(gè)變量ARCH告訴內(nèi)核構(gòu)建系統(tǒng)目標(biāo)架構(gòu)是 ARMCROSS_COMPILE指定交叉編譯器的前綴。漏掉任何一個(gè)make大概率會(huì)在本地 x86 環(huán)境下試圖用gcc編譯 ARM 代碼直接報(bào)unknown architecture之類的錯(cuò)誤。export ARCHarm export CROSS_COMPILEarm-bcm2708-linux-gnueabihf- make bcm2711_defconfig # 生成 .config4B 用 bcm2711_defconfig make -j4 zImage modules dtbsbcm2711_defconfig是一個(gè)默認(rèn)配置目標(biāo)執(zhí)行后會(huì)生成.config文件這個(gè)文件是后續(xù)所有內(nèi)核編譯的起點(diǎn)zImage是壓縮后的內(nèi)核鏡像最終要轉(zhuǎn)成kernel7l.img才能被樹莓派引導(dǎo)modules是把配置里標(biāo)記為m的功能編成.ko文件驅(qū)動(dòng)里很多非必須功能都走這一步dtbs是把設(shè)備樹源碼.dts編譯成.dtb。-j4是并行編譯的作業(yè)數(shù)一般取 CPU 核心數(shù)加一。注意如果你的板子是 3B、3B把bcm2711_defconfig換成bcmrpi3_defconfig再執(zhí)行。4B 和 3 代的內(nèi)核配置差異不小混用雖然偶爾也能啟動(dòng)但容易出現(xiàn)某個(gè)外設(shè)驅(qū)動(dòng)缺失的怪問題。3.3 編譯產(chǎn)物核對(duì)kernel7l.img、modules、dtbs 各要拷到哪編譯完成后arch/arm/boot/zImage是裸內(nèi)核鏡像不能直接燒錄需要用源碼根目錄scripts/下的mkknlimg工具包裝一下。./scripts/mkknlimg arch/arm/boot/zImage kernel7l.img make modules_install INSTALL_MOD_PATH/media/pi/rootfs cp arch/arm/boot/dts/*.dtb /media/pi/boot/ cp arch/arm/boot/dts/overlays/*.dtbo /media/pi/boot/overlays/mkknlimg會(huì)在 zImage 頭部加上樹莓派 bootloader 需要的標(biāo)記信息轉(zhuǎn)換后得到kernel7l.img才該拷進(jìn) boot 分區(qū)。modules_install的關(guān)鍵參數(shù)INSTALL_MOD_PATH指向你開發(fā)板 SD 卡的根文件系統(tǒng)目錄驅(qū)動(dòng)模塊會(huì)被安裝到該目錄的lib/modules/4.19.y下面。設(shè)備樹文件分兩處拷板級(jí).dtb直接放 boot 分區(qū)overlays子目錄里的.dtbo插件文件要放進(jìn) boot 分區(qū)的同名子目錄。如果你的 SD 卡是直接插在讀卡器上boot 分區(qū)就是那個(gè)能看到config.txt的 FAT 分區(qū)rootfs 是那個(gè)能看到etc/的 ext4 分區(qū)別拷反了。4. 內(nèi)核裁剪與模塊化defconfig、menuconfig、ko文件怎么配合編譯一次內(nèi)核的時(shí)間不短每次改配置全量重編更讓人頭疼。4.19.y 給了一個(gè)折中方案核心功能編進(jìn)內(nèi)核鏡像非關(guān)鍵功能編成.ko模塊用到時(shí)再用modprobe加載。這一章把配置裁剪和模塊加載的完整鏈路串一遍。4.1 defconfig 是基線menuconfig 做微調(diào)兩者配合省時(shí)間bcm2711_defconfig生成的是樹莓派官方認(rèn)為“通常夠用”的配置它開啟了絕大多數(shù)硬件驅(qū)動(dòng)但很多你用不到的功能也在里面比如藍(lán)牙、Wi-Fi、各種顯示驅(qū)動(dòng)這些會(huì)拖慢編譯并讓內(nèi)核體積變大。你需要的是在官方配置基礎(chǔ)上做減法。make menuconfigmenuconfig 是終端里的圖形化配置界面按/鍵可以搜索某個(gè)配置項(xiàng)。比如想去掉藍(lán)牙直接搜BT找到Bluetooth subsystem support按空格把*改成保存退出后.config就被改掉了。這比手動(dòng)編輯.config靠譜得多因?yàn)?menuconfig 會(huì)自動(dòng)處理依賴關(guān)系避免出現(xiàn)“關(guān)了 A 但 A 的依賴項(xiàng)還開著”這種不一致。4.2 一個(gè)真實(shí)的裁剪場(chǎng)景關(guān)掉藍(lán)牙和相關(guān)模塊后重新編譯以樹莓派4B為例如果做的是工業(yè)數(shù)據(jù)采集設(shè)備藍(lán)牙基本用不上。裁剪步驟如下先make menuconfig在搜索框輸入BT逐一把Bluetooth subsystem support、RFCOMM、BNEP等從[*]改為[ ]再搜BT_HCIUART這是板載藍(lán)牙串口驅(qū)動(dòng)一并關(guān)掉保存退出后重新編譯。grep CONFIG_BT .config make -j4 zImage modules dtbsgrep CONFIG_BT .config用來確認(rèn)藍(lán)牙相關(guān)的配置確實(shí)被關(guān)掉了。重新編譯后對(duì)比 zImage 體積通常會(huì)小上幾 MB對(duì)啟動(dòng)速度影響不大但對(duì)內(nèi)存占用和內(nèi)核安全面有實(shí)際意義。注意裁剪時(shí)保留CONFIG_BT_HCIBTUSB這類通用 USB 藍(lán)牙驅(qū)動(dòng)的m屬性因?yàn)?USB 藍(lán)牙適配器可能還在用保險(xiǎn)起見按模塊編譯而不是徹底關(guān)掉。4.3 從配置項(xiàng)到.ko文件一個(gè)模塊的誕生和加載路徑內(nèi)核配置里m表示編譯成模塊y表示編進(jìn)內(nèi)核鏡像。選擇m后驅(qū)動(dòng)代碼不會(huì)進(jìn)入 zImage而是被編譯成drivers/net/wireless/xxx.ko這樣的獨(dú)立文件。很多新手分不清這兩者的適用場(chǎng)景放在啟動(dòng)時(shí)必須用到的驅(qū)動(dòng)比如 SD 卡控制、串口調(diào)試口建議y偶爾插拔的外設(shè)驅(qū)動(dòng)比如 USB 轉(zhuǎn)串口、Wi-Fi 網(wǎng)卡用m更靈活。make modules_install INSTALL_MOD_PATH/path/to/rootfs # 在開發(fā)板上執(zhí)行 modprobe xxx # 查看模塊是否加載成功 lsmod | grep xxx dmesg | tail -20modprobe和insmod的區(qū)別在于modprobe會(huì)自動(dòng)解析模塊依賴加載前先把依賴的其他.ko一起載入insmod則只加載指定文件依賴需要你手動(dòng)處理。日常開發(fā)建議用modprobe。模塊加載失敗時(shí)dmesg里通常會(huì)有具體原因比如依賴的符號(hào)找不到、設(shè)備樹節(jié)點(diǎn)沒匹配上按日志排查即可。5. 編譯燒錄避坑指南啟動(dòng)失敗時(shí)按這三條線索排查樹莓派內(nèi)核編譯翻車的場(chǎng)景多數(shù)集中在編譯環(huán)境、鏡像轉(zhuǎn)換、分區(qū)內(nèi)容這三處。這一章把最常見的坑列出來每條都按“現(xiàn)象、原因、解決”三部分記錄都是我實(shí)際踩過的路。5.1 現(xiàn)象編譯中期報(bào)錯(cuò)openssl/evp.h: No such file or directory原因4.19.y 內(nèi)核在生成某些模塊時(shí)需要 OpenSSL 頭文件宿主系統(tǒng)沒有安裝開發(fā)庫。不裝庫而反復(fù)make clean重建只是浪費(fèi)時(shí)間。 解決Debian/Ubuntu 系統(tǒng)執(zhí)行sudo apt install libssl-devFedora 系裝openssl-devel。裝完從上次失敗的目標(biāo)繼續(xù)編不用全量重來。5.2 現(xiàn)象編譯通過、燒錄后啟動(dòng)到一半panic或者手動(dòng)加載.ko時(shí)報(bào)version magic不匹配原因內(nèi)核鏡像和模塊不是同一套配置、同一次編譯出來的。常見場(chǎng)景是更新了內(nèi)核鏡像但lib/modules/里還是老模塊或者用了兩個(gè)不同的工具鏈分別編譯內(nèi)核和模塊模塊的 vermagic 信息和內(nèi)核對(duì)不上。 解決內(nèi)核和模塊必須用同一棵源碼樹、同一次make modules_install裝到 rootfs。重新安裝模塊后再執(zhí)行depmod -a重建依賴表避免加載時(shí)找不到符號(hào)。5.3 現(xiàn)象燒錄后卡在開機(jī)彩虹屏進(jìn)不了系統(tǒng)原因boot 分區(qū)里的內(nèi)核鏡像名和config.txt指定的不一致或者kernel7l.img沒有經(jīng)過mkknlimg轉(zhuǎn)換直接復(fù)制了 zImage。樹莓派 bootloader 按文件名找內(nèi)核找不到或格式不對(duì)就在彩虹屏原地轉(zhuǎn)圈。 解決檢查config.txt里kernel行指向的是kernel7l.img還是kernel.img確認(rèn)實(shí)際文件存在重新用./scripts/mkknlimg轉(zhuǎn)換后再覆蓋 boot 分區(qū)sync 后斷電再試別用熱重啟。5.4 現(xiàn)象新內(nèi)核進(jìn)去了但 Wi-Fi 或藍(lán)牙消失lsmod看不到固件加載日志原因裁剪 defconfig 時(shí)把無線網(wǎng)卡驅(qū)動(dòng)相關(guān)的CONFIG_BRCMFMAC、CONFIG_BT_HCIUART關(guān)成了n或者 rootfs 的/lib/firmware/brcm固件目錄缺失。啟動(dòng)時(shí)驅(qū)動(dòng)在modprobe階段找不到固件文件外設(shè)就靜默失敗。 解決裁剪前先grep -E BRCM|BT_HCI .config確認(rèn)哪些是硬件必須項(xiàng)補(bǔ)回驅(qū)動(dòng)并重新編譯后從官方根文件系統(tǒng)鏡像里把/lib/firmware/brcm整個(gè)拷過來。這類問題不會(huì)報(bào) panic容易讓人誤以為是硬件壞了。5.5 現(xiàn)象內(nèi)核替換后卡在Waiting for root device ...或直接進(jìn)入 initramfs shell原因cmdline.txt里的root參數(shù)指向的根文件系統(tǒng)分區(qū)和實(shí)際 SD 卡分區(qū)對(duì)不上。比如原先系統(tǒng)是/dev/mmcblk0p2換了一片分區(qū)布局不同的卡內(nèi)核根據(jù)參數(shù)找不到 rootfs。 解決在啟動(dòng)時(shí)按CtrlC或查看最終進(jìn)入的 shell 提示符用blkid查 rootfs 分區(qū)的 UUID然后把cmdline.txt里的root改成 UUID 形式。這是樹莓派官方系統(tǒng)支持的方式比依賴/dev/mmcblk0pN這種不穩(wěn)定命名穩(wěn)得多。6. 二次開發(fā)實(shí)踐把第一個(gè)字符驅(qū)動(dòng)編進(jìn)樹莓派內(nèi)核最后落到最實(shí)際的改造動(dòng)作寫一個(gè)最小字符設(shè)備驅(qū)動(dòng)然后編譯進(jìn)內(nèi)核而不是作為一個(gè)外面加載的模塊。這樣可以直觀感受“改一個(gè)文件、編一次內(nèi)核、在開發(fā)板上驗(yàn)證”的完整閉環(huán)。6.1 驅(qū)動(dòng)代碼、Kconfig、Makefile 三個(gè)文件的聯(lián)動(dòng)在內(nèi)核源碼drivers/char/下新建hello_drv.c實(shí)現(xiàn)最基本的讀寫操作和設(shè)備節(jié)點(diǎn)創(chuàng)建。注意這里用的是 4.19.y 的老接口風(fēng)格register_chrdev和class_create在該版本中仍然有效不依賴新內(nèi)核的復(fù)雜框架。#include linux/init.h #include linux/module.h #include linux/fs.h #include linux/device.h #include linux/uaccess.h #define DEVICE_NAME hello_drv static int major; static struct class *hello_class; static ssize_t hello_read(struct file *file, char __user *buf, size_t count, loff_t *offset) { char data[] hello from kernel\n; /* 把內(nèi)核緩沖區(qū)的數(shù)據(jù)復(fù)制到用戶空間 */ if (copy_to_user(buf, data, sizeof(data))) return -EFAULT; return sizeof(data); } static ssize_t hello_write(struct file *file, const char __user *buf, size_t count, loff_t *offset) { char data[64]; /* 把用戶空間的數(shù)據(jù)復(fù)制到內(nèi)核緩沖區(qū) */ if (copy_from_user(data, buf, count)) return -EFAULT; pr_info(hello_drv: received %zu bytes\n, count); return count; } static const struct file_operations hello_fops { .owner THIS_MODULE, .read hello_read, .write hello_write, }; static int __init hello_init(void) { /* 注冊(cè)字符設(shè)備0 表示讓內(nèi)核自動(dòng)分配主設(shè)備號(hào) */ major register_chrdev(0, DEVICE_NAME, hello_fops); if (major 0) return major; hello_class class_create(THIS_MODULE, DEVICE_NAME); device_create(hello_class, NULL, MKDEV(major, 0), NULL, DEVICE_NAME); pr_info(hello_drv: registered, major%d\n, major); return 0; } static void __exit hello_exit(void) { device_destroy(hello_class, MKDEV(major, 0)); class_destroy(hello_class); unregister_chrdev(major, DEVICE_NAME); } module_init(hello_init); module_exit(hello_exit); MODULE_LICENSE(GPL);代碼里major是主設(shè)備號(hào)0 表示由內(nèi)核動(dòng)態(tài)分配避免了手動(dòng)指定時(shí)和其他驅(qū)動(dòng)沖突copy_to_user和copy_from_user是內(nèi)核態(tài)與用戶態(tài)交換數(shù)據(jù)的標(biāo)準(zhǔn)接口不能用memcpy直接拷指針跨權(quán)限域時(shí)會(huì)出問題pr_info會(huì)輸出到內(nèi)核日志驗(yàn)證時(shí)用dmesg查看。要讓內(nèi)核構(gòu)建系統(tǒng)認(rèn)識(shí)這個(gè)文件需要改兩處drivers/char/Kconfig里加一段配置項(xiàng)drivers/char/Makefile里加一行編譯規(guī)則。這樣make menuconfig就能搜到它也可以直接在.config里手動(dòng)加CONFIG_HELLO_DRVy。# drivers/char/Kconfig 追加 config HELLO_DRV tristate Hello world driver default y help A simple character device for kernel development practice. # drivers/char/Makefile 追加 obj-$(CONFIG_HELLO_DRV) hello_drv.o6.2 驗(yàn)證路徑重新編譯、替換鏡像、確認(rèn)設(shè)備節(jié)點(diǎn)重新執(zhí)行交叉編譯流程make bcm2711_defconfig這步會(huì)把你手動(dòng)加的配置覆蓋掉所以直接make -j4 zImage modules dtbs然后mkknlimg轉(zhuǎn)換、拷貝 boot 分區(qū)、重啟。重啟后執(zhí)行下面幾個(gè)操作驗(yàn)證結(jié)果ls /dev/hello_drv # 確認(rèn)設(shè)備節(jié)點(diǎn)存在 echo test /dev/hello_drv # 觸發(fā) write 回調(diào) dmesg | grep hello_drv # 看內(nèi)核日志中的登記信息 cat /dev/hello_drv # 讀取驅(qū)動(dòng)返回的字符串cat返回hello from kernel就說明整個(gè)鏈路通了。如果設(shè)備節(jié)點(diǎn)不存在先看dmesg里注冊(cè)是否報(bào)錯(cuò)再確認(rèn).config里CONFIG_HELLO_DRV確實(shí)變y或m了經(jīng)常有人改了 Kconfig 但沒重新生成.config這個(gè)步驟最容易翻車。6.3 一個(gè)讓我少折騰半天的習(xí)慣每次改配置后固定走一遍驗(yàn)證循環(huán)驅(qū)動(dòng)能跑只是第一步后面你大概率會(huì)反復(fù)調(diào)file_operations里的函數(shù)、改設(shè)備樹引腳、調(diào)整模塊依賴。從那以后我每次改動(dòng)都會(huì)強(qiáng)制自己走完一遍“備份舊鏡像 → 編譯 → mkknlimg → 拷貝 dtb 和 modules → sync → 重啟 → dmesg 驗(yàn)證”的流程不做完不進(jìn)行下一個(gè)修改。這套循環(huán)雖然看起來機(jī)械但能精準(zhǔn)定位問題環(huán)節(jié)省去了“改了但不知道改沒生效”的反復(fù)猜測(cè)。希望幫到你在這棵 4.19.y 源碼樹上找到自己的節(jié)奏。本文還有配套的精品資源點(diǎn)擊獲取
返回列表
PREV
查看更多資訊
NEXT
返回資訊列表
欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 91在线一起| 色欧洲| se吧提供91精品国产91久久久久久| 精品无吗久久| 99热在线播放| 欧美劲爆视频一区二区| 久久久久久亚洲精品中文字幕人妻| 日韩精品第3页| 久久大| 肉嘟嘟www视频在线观看高清| 麻豆九九九| 91精品丝袜久久久久久| 91爆操视频| 欧美九九99久久精品| 91在线免费观看处女| 免看60秒涩涩视频| 操迟操逼在巾线Fre看| 亚91亚洲网| 亚欧洲日韩国产精品| 操逼操逼视频操逼| 超碰97综合在线| 亚洲国产奇米影视久久| 乱色视频中文字幕| 亚洲综合69| 可以免费看黄片的视频| 加勒比日本在线| 91骚熟女| 大吊色| av三级电影在线播放| 天天干天天拍| 精品一区二区三区18| 日韩乱伦视频| 超碰97国产欧美| 欧美性性性| 国产精品女生av| 日婷婷| 婷婷成人五月天| 超碰夫妻97| 二男一女成人A片| 少妇一区二区三区在线观看| 97超碰精品| 亚洲欧美激情另类色图| 日本αv| 日本大香蕉| 天天草夜夜草高潮片| 久久夜嗨| 丁香五月激情婷婷| 日本操逼视频在线| 亚洲青色欧美| 成人黑料社久久| 欧美美女视频| 1204av韩国| 久久久精品视频免费观看| 少妇人妻在线| 午夜精品99久久久久传媒| 欧美性爱免费短视频| 欧美一二三级精品在线| 热热热热日日漂亮永久永久国产日| 天天精品| 亚洲欧美国产中文视频| 亚洲精品97p| 99操逼| 麻豆av一区二区| 伊人影院在线理论播放| 日韩无码专区| 亚洲啪啪视频免费| 国产sv美女内射| 天天射夜夜| 婷婷99狠狠| 2017av无码免费无线播| 高潮9999外国| 第45页一区二区| 亚洲91在线播放影院| 亚洲第二页| 日本三级日本三级三级人妇四虎| 九九九九九九九精品视频| 亚洲人妻中文在线视频| 欧美情色亚洲| 色亚州人久干视频在线观看免费版| 久99| 日韩亚洲国产视频| 成年人黄色视频免费| 熟女91网| 国产精品在线一区二区| 91真人天天在线| 97爱免费插| 影视综合无码少妇| 天天干天天操天天操夜夜操天天操| 道久久五香丁月婷婷激情综合| 色吧五月| 国产在线76页| 国产亚洲99久久精品| 色就色综合| 欧美天天弄| 伊人视频| 夜夜综合| 国产亚洲日本| 麻豆黄四叶草网站| 天美国产三级传媒| 欧美婷婷五月天| 北约熟女超碰| 国产精品九九九| 超碰色美女| 激情综合av| 午夜激情床戏激情| 久久久影院| 国产精品一区二区三区在线密挑| 日本福利二区视频| 中文字幕在线高清男人的天堂| 人妻中文字幕精品无码| 亚洲**2021在线观看| 四虎国产精品永久在线囯在线| 中文字幕一区二区三区人妻不卡| 精品人妻久久久| 伊人久久大香线综合无码| 美女露胸露屁股| 人人天天欧洲| 亚洲AV资源| 久久久久久久久久久久久久久性生活视频| 男人天堂2019亚洲| 亚洲欧洲小说图片视频 | 欧美综合自拍成人自拍第二十页| 9久久精品| 国产中文字幕曰本毛片| 综合色啪| 精品国产乱码久久久久久久久1 | 亚洲国产精品有声| 日韩精品一区二区日韩| 亚洲无码超碰免费| 国产一在线观看| 中文精品一区二去| 十八禁视频网站| 丁香色色网| 2020国产精品| 久操高青| 蜜臀AV成人精品蜜臀| 麻豆伊人网| 韩日精品福利视频一区不卡在线免| 色综合20p| 欧美精品欧美精品系列| 国产精品日日摸天天碰| 国产老太乱伦一区| 东北丰满熟女国产一区| 国精精品无码一二三区水多多| 国语av最新自产拍在线观看| 国产亚洲99久久精品| 手机看片1024你懂的国产| 日韩av一级黄片| 亚洲欧美精品福利在线| 亚洲男人的天堂一区二区| 国产福利夜| 98福利在线视频| 午夜福利合集| 精品一级| 亚洲啪啪视频一区二区| 9 9精品一区二区三区| 91九色丨国产丨爆乳| 欧美日韩一干二干| 亚洲国产丝袜在线观看| 天天影视综合色| 丰满人妻一区二区三区免费| 免费观看国产不卡av| 亚洲AV成人无码一区二区三区在线观看| 伊人久久大香大香线蕉中文| 日韩精品三区四区| 日产成人久久| 蜜臀中文字幕| 成人三一级一片aaa| 色噜噜狠狠色综无码久久合欧美| 日本淫穴在线| 91 欧美| 乳欲人妻办公室奶水| 国产av尤物| 欧美成人9797| 男人的天堂久久| 日本韩国国产精品一区| 三级三级三级日本99| 91夜色chaopeng| 亚洲伊人青青草| 亚洲国产一级黄色视频| 欧美制服网站美腿丝袜| 91熟女视频| 强奸乱伦大香蕉| AA特级绝黄| 五月婷婷五月天| 97精品视频网站| 超碰久在线天天做| av午夜影院在线播放| 久久久9品一区二区三区| 久久久熟女一区| 秋霞一级A片黄色视频| 免费久久精品麻豆一区二区av| 久久中日麻豆| 尤物视频视频官网| 色婷婷丁香五月天| 欧美伊人电影| 97色碰| 亚洲drav色图| 性色av网站| 97精品久久久久久久| 色97干| 丁香九月激情啪| 超碰 国产熟女精品一区| 久久超碰网| 欧美精品久久久久久久久88| 欧美性生活内射| 被男人吃奶很爽的毛片| 婷婷97| 欧美色图99| 爱av免费| 日本幼女18+| 一区二区娱乐网站| 精品久久久久久久| 东北女人av| 测评在线观看AV| 亚洲AV无码天美传媒一区| 午夜噜噜噜| 国产啊v在线免费播放| 亚州色站 日韩电影| 国产树林里野战在线看| 日本三级日本三级三级人妇四虎| 久久六六| 99这里有精品| 日韩99999| 日本人妻A片成人免费看片| 欧美成人贴图| 日韩人妻精品久久久久| AAAA级日本片免费视频| 黄总AV色图| 色97国产69香蕉| 日本午夜久久电影| 啊啊啊久久| 97中文天堂| 污色区网站| 天天天乱色综合全| a级理论午夜日本| 在线天堂999| 妇女性内射冈站HDWWWCOM| 五月丁香婷婷综合| 色99999| 久久超碰、| 日韩人妻有码免费视频| 久久久久久人| 精品一区二区三区最新| 国产在线激情视频| 漂亮人妻被强中文字幕hd| 色99视频| 欧美成人四级在线播放| 日本布卡一区二三区| 少妇厨房愉情理伦片bd在线观看| 99色在线| 国产亚洲色婷婷久久99精品91葵花宝典| 曰本道人妻久久久在线不卡色视频| 日本 欧美 国产一区| 国产精品久久| 欧美高潮| 97色插| 69综合网| 五月婷婷爱六月丁香色| 91色人妻| 亚洲美女色图| 吻戏激情性巴克| 三级精品三级在线观看| 肉丝中文无码高清| 色爱欲亚洲| 亚洲αv一区二区三区| 国内毛片四区| 国产精品久久久999| 日韩操人| 久久无码电影| 日婷婷| 男人天堂新| 97视频在线免费播放| 在线 制服丝袜中出 人妻| 国产亚洲精品美女久久久| 久久夜精品一区二区三区| 特污免视频| 日本Xx性爱| 素人播放一区| 亚洲精品不卡一二三区| 欧美黑人极品高潮喷吹熟女黑人性暴力日韩在线欧美极品一区二区老师黑人潮喷一 | 国产一级做a爰大片免费久久| 精品一区二区啪啪啪| 一本久久精品中文字| 91爱| 亚洲欧美日韩综合在线尤物 | 天天舔天天日天天射| 97亚洲精品超碰| 国产黄片在线免费观看| 欧美日韩高潮喷水91| 中国黑人三级片网站上区| 啊啊啊啊无码| 亚洲成人久久一区二区| 亚欧美综合网。| 青青色在线观看| 伊人女女资源在线观看| 国产精品一区二区麻豆| 日夜干射色啊| 国产农村妇女精品| 国产最新AV| 熟女少妇一区二区三区| 国产11页| 91亚洲图片| 色综合婷婷| 91美女视频电影| 天天谢天天干| 91久久国产综合精品| 人妻9117c| 国产一区麻豆免费观看| 免费看片黄| 日日橹狠狠爱欧美超碰| 操国产高清| 色九九九九久| 中文?日韩?免费?精品| 欧美性爱97超碰| 国产精品人妻免费精品| 69AV女优男人的天堂| dy888午夜老子影视达达兔| 黄页18禁| 人人看人人插| 劲爆欧美人妖三区91| 国产AV毛片| 天天摸夜夜摸| 五十路熟女,国产欧美精品区一区二区三区 | 日本人人操人人操| 丰满欧美放荡少妇在线| 欧美亚洲日本激情在线| 综合色99| 色999亚洲人成色| 一级啊性爱在线视频| 久久午夜鲁丝片| 国产精品亚洲无码| 麻豆国产96在线| 91精品操美女| 一区超碰一区| 欧美激情精品| 国产拍偷精品网站| 无码黑人精品一区二区三区三| 日韩丰满熟妇| 78综合网| 偷拍色图| 2020中文字幕在线| 八戒午夜福利理论片| 亚洲 欧美 中文 日韩超碰| 91青青草| 久久久久极品| 人妻久热在线| 日本东京热加勒比久久| 欧美麻豆成人同性GⅤ在线| 精品一啪| 打av高清| 精品日日人妻| 激情抓乳插进去啪啪啪日韩 | 欧美综合站| 国产亚卅97| 东北黄色电影| 夜夜草天天| 天天看,天天做| 91丨国产丨白浆秘 洗澡动漫| 欧美gv在线观看| 在线免费观看日韩一区| 亚洲成人av色网| AV99热18这里只有精品| 蜜臀99久久| 黄片com.| 1二区9| 欧美丝袜91| 国产精品经典一卡久久久 | 99re这里只有精品2| 韩国免费播放一级毛片| 日韩黄色成人性爱| 久久m| 神马久久午夜| 人人看人人摸人人色| 超碰午夜在线| 亚洲 欧美 第一页| 亚洲Av无码成人精品国产| 亚洲色性情三级| 亚洲国产日韩精品久久久| 天天操狠狠日夜夜干超大胆开放com大香蕉视频在线观看 | 久久久久免费少妇| 99热9| 偷拍自拍在线视频观看| 老鸭窝在线视频播放| 国产一区二区在线播放| 亚洲成?V人片在线观看福利| 国产一级操B视频| 欧美加勒比| 亚洲熟妇白浆无码AV| 欧美夜夜骑视频| 绯色AV粉色AV蜜臀AV| 丝袜 亚洲 偷拍| 91精品啪在线观看国产城中村| 久久综合久色欧美综合狠狠| 亚洲 欧美 色图| 精品女人999| 国产精品农村妇女| 欧美,日韩综合久久| 色狠人在线99| 精品然女一区二区| 六月丁香啪啪| 啊啊啊啊啊,啊啊啊啊好舒服,操我舒服啊啊啊 | 午夜性生活av免费在线看| 五月激情视频| 91bbbbbb| 丰满欧美少妇| 日本精品999| 久9re热视频这里只有精品| 校园激情狠狠四射| 人人搡人人肉久久精品| 久久视频,这里只有精品 | 国产精品女生av| 日韩无码a片| 国语国产操逼伊人AV网| 97视频在线看| 五十路三区在线| 99精品在线观看| 久久综合五月天| 久久精品亚洲婷婷| 综合av影片| 大香蕉国产中文自拍| 亚洲不卡不卡中文字幕不卡| 怡红院成人av| 亚洲欧美视| 91久久18禁| 亚洲色图91| 一区二区三区四区五区高清无码永久视频| yiqicaoav| 草久久久| 熟女六十路| 91色夜| 天天干天天拍| 国内97干免费看| 麻豆一区在线| 91亚洲人| 99老司机精品视频在线观看| 天天干,天天日| 强上我不卡卡| 清纯唯美综合| 亚洲第一精品在线视频| 欧美精品四区| 日本不卡二区| 草草草草视频| 裸体美女久久久| 国产又黄又爽又刺激久久久久久| 人妻 丝袜美腿 中文字幕| 婷婷综合激情| oumeizonghese,www| 久久伊人影院| 91天天| ,国产乱人伦精品一区二区三区| 久久性爱精品一区| 日韩啪啪视频| 欧美性区| 98色网| 亚洲激情综合另类男同| 91熟女丨老女人| 天天日日舔舔| 午夜福利免费福利视频| 中文久久一区| 99久久久| CCYY草草影院地址入口| 日本有码久久| 传媒在线观看一区二区三区| 97精品熟女少妇一区| 亚洲天堂东京热| JuliaAnnXXX888| 日本Xx性爱| 校园激情狠狠四射| 欧美操人视频| 乱日视频| 久久精品一区二区一8| 一起草AV| 密臀在线一区尤物| 男人的天堂2010| 亚洲一区二区三区麻豆传媒| 日本色日夜干| 激情专区综合| 欧美日韩性爱操大逼| 十八禁av无码免费网站APP| 黑人美精品 A片| 九九九九一区| AV久日| 69精品人人人人| 一区二区三区视频在线观看免费| 97综合久久| 天天综合~91入口| 久艹日日日| 日本久久天堂| 亚洲丝袜二区在线| 中文字幕av乱伦| 午夜精品久久久久久久99| 欧美姓爱综合网| 人妻熟女午夜精品在线| 欧美综合自拍| 国产精品经典一卡久久久| 日本乱人伦片中文三区| 操B久久| 日本性爱欧美性爱| 亚洲熟女偷拍在线观看| 自拍偷拍 日韩无码| 一区e区三| 78久久| 人人超碰在线观看黄| 无码国产精品午夜不卡(| 日韩丰满熟妇| 亚洲欧美日韩免费电影| 天堂а√在线最新版在线 | 亚洲偷拍欧美激情| 我想要啊 啊 啊| 六月丁香婷| 天天性射网| 伊人影院中文字幕| 国产Av超碰| 久久精品人妻一区二区三区| 亚洲操逼无码| 久久久月天| 欧美亚洲激情小说| 色综合久久88色综合久久天天| 午夜操操操| 精品国产精品一区二区| 亚洲av青草久久一区二区| 天天日天天屌天天操| 午夜天堂啪啪| 大香蕉免费3| 亚洲高清色综合| 欧美综合色站| 欧美视频在线视频免费va| 天天性射网| 99热这里| 色久综合| 老熟女熟妇| 国产91亚洲精品一区二区三区| 欧美不卡在线美女| 丝袜人妻av一区二区| 插日本熟女视频| 超碰91在线| 日韩精品资源专区二区| 97在线观看免费| 97爱欧美| 色青青久久影视| 丝袜人妻av一区二区| 好吊爽好吊爽在线视频,中文字幕精品一区二区日本,国产良妇出轨视频在线观看, | 韩国一级婬片A片无码天美| 四虎影视 亚洲无码| 日本午夜久久电影| 久久亚洲AV无码专区国产精品| 九热中文字幕| 欧美色亚洲色| 亚州色综合| 操老熟女AV| 人妻精品一区二区全免费| 亚洲天堂区| a片 xxxx受爽视频| 亚洲天堂男| 狠狠爱AV| 97精品在线| 日夜干射色啊| 岛国在线一区二区三区| 欧美亚洲色图另类国产| 黄色片A级一区二区三区| 操逼无毒无码免费视频| 99.色网| 亚洲一卡二卡在线免费| 日日AAvv| 人人妻人人色一区二区三区| 久操视频免费观看| 国产久久一区二区三区野外在线| 暖暖精品二区三区观看| 亚州少妇| 六月激情婷婷| 狠狠狠狠狠干| 久热99| 91校园春色长篇| 亚洲av影院在线观看| 东北丰满熟女国产一区| 两性色网| hd成人一区二区在线| 一级片在线观看高清无码| 亚洲在线网站| 亚洲国产精品无码AV久久久| 亚洲天堂男人网| 亚洲一区二区三区婷婷| 亚洲国产精品成人综合| 曰韩操B| 国产真乱mangent| 国产91av在线播放| 综合 欧美 亚洲 日本| 91动漫操逼视频| 精品性爱无码在线播放| 日本国产高清色www视频在线| 99re公开精品免费视频| 伊人色综合网电影| 九色97| 一个人在线看的黄色电影网站| 欧美日韩免费专区在线| 亚洲成人一二三区| 成人熟女区| 亚洲综合影片| 国产后入清纯| 美女黄页网站| jazzjazz国产精品麻豆| 欧美顶级黄色大片免费| 国内毛片婷婷六月色| 久久人人爽人人爽人人片Ⅴ| 青青国产精品在线| 蜜臀久久久| 久久精品中文| 蜜臀99久| 欧美黄片免费在线观看视频| 丁香五月天激情| 婷婷色香| 日噜夜夜夜夜夜夜夜夜夜夜爽爽爽爽爽爽爽爽爽爽爽爽 | 激情六月天| 97超碰天天爱天天爱| 麻豆天美在线喷水AV| 97色97好| 久草这里只有精品 | 不卡av在线中文字幕| 美女视频尤物网在线看| 亚洲 自拍偷拍 欧美| 欧美日韩在线国产在线| 青青爽| 久久中文字幕女同性恋一区| 国产精品96| 激情综合网五月婷婷五月天| 伊人影院中文字幕| 中文字幕精品三级久久久| 亚洲中文字幕熟女| 这里只有精品视频| 蜜奶av| 欧美亚州色的图| w w w.久久精品| 天美麻花大全视频| 欧美影音在线| av毛片aaaaa免费看| 99热国产| 涩涩涩综合| 天天色综合图片| 日本黄色XXX| 国产一区二区免费福利片| 色情婷婷| 亚洲蜜臀精品视频久久| 无码高清国产AV| 涩爱AV在线| 欧美91在线| 91超级碰碰| 97超碰国产亚洲精品| 2021国产成人精品久久| 8050无码八戒| 抽插一区二区视频| 国产色呦呦| 爱妻综合网| 人人艹亚洲| 亚洲 欧美 小说| 在线日韩日本亚洲国产| 黄色av片三级三级三级免费看| 香港日本韩国人妇99www.wccm20| 东京热毛片调教| 欧美一级做a爰片免费视频| 亚洲综合一| 成年女人黄网站| 欧美性后入| 日本欧美韩国国产在线| 视频在线观看一二三区| 欧美片第一页| 亚洲熟妇无码一区二区三区| 欧美高清18A片| 99999精品成人| 2018天天日天天日| 欧美老妇女内射网址| 啊啊啊啊免费视频| 日本欧美韩国日产片片在线看免| 熟妇人妻精品一区二区| 97人妻色| 成人av在线播放| 男人的天堂2000| 成人美女av| 九九久久99| 中文字幕一区二区三区高清| 欧美日韩亚洲电影| 18禁看网站一区| 亚洲成人妻日韩在线| 国产精品一区午夜福利| 亚洲加勒比色图| 老司机射| 国产精品96| 午夜福利在线视频1000| 中文字幕成人理论在线| 一本色道人妻久久| 女人天堂AV五区在线| 亚州性色| 91网站视频在线观看| 亚洲二区精品在线观看 | 操逼操2| 天堂在线一区二区| 色97国产69香蕉| 亚洲AV成人无码一区二区三区在线观看 | 99热精品在线| 国产精品久久泡妞网站| 欧美亚洲丝袜美女电影| 金莲网址| 欧美最婬乱婬爆婬牲视频| 美国一区二区免费视频| 亚拍在线| 色综合美国| 亚洲国产美女久久久久| 成人欧美日超碰| 99色天堂| 国产女人高潮嗷嗷嗷叫小说| 蜜屁av| 美女骚尻视频| 第二页中文字幕| 人、人、摸,人、人、草| 青青草毛片| 97超碰色中文字幕| 嗯嗯啊啊操死我| 最新国产精品久久精品| 色欲Av人妻精品一区二| 青青草色AV| 日本九九久久99| 亚洲欧美日韩二区视频| 精品午夜福利| 蜜臀中文字幕| 伊人久久亚洲色欲综合网站| 国产高潮AA片免费看| 日本在线观看网址| 少妇三p| 欧美乱色| 麻豆AV一区二区| 美日韩一二三区| 91操熟女视频| 亚洲影院成人| 岛国黄片网站| 老司机深夜18禁污污网站| 久久久久亚洲Aⅴ无码| 99热| 亚洲成人色情五月天丁香花| 安微少妇操BBB| 91伊人| 人人搞人人插人人操| 免费一级黄色录像影片| 免费av大片| 视频在线观看一二三区| a人片中文字幕一区二区| 啊啊啊啊二区好大| 日韩97视频| 国产综合日韩伦理| PMv在线观看| 在线观看av区| 久久久久一本一区二区青青蜜月| 乱久久久| 亚洲色图欧美一区二区不卡| 亚洲五码一区二区三区| 午夜丁香| 少妇精品久久久| 久久精品国产99久久,亚洲日韩久久日本一区一区三区 | а√天堂资源官网在线资源| 在线免费观看日韩一区| 在线综合 亚洲 欧美中文字幕| 国产91专区| 韩国手机不卡无码三级视频| 另类图片五月天| 热天堂一区二区| 国产精品午夜精品| 亚洲一曲日韩精品| 欧美午夜精品久久久久久超碰| 日韩av电影网站| 久操精品| 九九综合| 日韩在线观看AV| 亚洲激情综合另类男同| 久久久久久久久久久久久久9999| 日韩AV噜噜噜一区二区三区四区| 国产精品麻豆免费视频| 91 国产丝袜在线放观看| 欧美色91| 亚洲第一无码播放立川理惠| 嗯嗯啊啊好疼| 精品人妻一区二区三区四区不卡在| 女人双腿搬开让男人桶| 国产精品天干天干综合网麻豆| 亚洲中文字幕熟女| 欧美性猛交美女自慰91| 国产后入清纯| 成人a大片在线观看| 激情欧美97| 美熟女逼导航AV操逼| 97ai亚洲| 国产女人视频三四五区| 欧美日韩色综合网| 亚洲aV无码成人在线观看| 五月婷婷五月天| 欧美中文字幕一区 | 97国产色综合| 日韩人妻少妇中文字幕| 麻豆国产成人精品| 东北女人高潮视频| 国产又猛又粗又爽又黄| 国产女人91精品嗷嗷嗷嗷| 91视频国品一二三区| 91久久18禁| 欧美色图亚洲色,麻豆| 国语精品av| 欧美A片中文字幕| 亚洲欧美精品福利在线| 久久精品一区| 可乐操亚洲蜜911| 蜜桃精品一区二区三区久在线| 尤物视频新赏网鲜网色诱网| 毛片电影一区二区三区| 亚洲狠狠入| 激情色播| 一本色道久久综合狠狠操| 99在线观看| 精品午夜福利| 午夜天堂网| 久久久久免费看少妇A片特黄| 欧美色图片欧美色图| 婷婷色中文字幕| 亚洲男人天堂av| 久久久9999| 免费少妇一区二区| 欧美日韩国产在线| 自拍第一页| 天天操天天干一区二区 | 亚洲色欲天天人妻无码系列专区| 久久婷婷热| 天天色香欲综合网| 久久久久亚洲一区女同性恋中文字幕| 日韩欧美女求操每天更新| 日韩av在线精品观看| 大色综合网| 大香蕉在线视频重口味毛片在线| 老司机午夜精品视频| av一区二区三区四区| 久久婷婷色综合一区二区三区| 精品一国2| 色噜噜人妻av中文字幕| 午夜精品久久99蜜桃的功能章节| 一块操欧美性爱| 99热国产精品| 欧美日韩国产高清在线一二三区| 欧美精品一区二区少妇免费A片 | www.acm成人黄色毛片| 国产无马视频| 东京热大香蕉| 91插B网站| 亚洲欧美日韩有码| 天天插天天操| 91被操| 二级久久网| 亚洲暴力强奸AV| 97在线视频免费| 裸体美女久久久| 久久偷偷色综合蜜桃| 久久黄色性爱视频| 骚货人妻偷情自拍在线视频| 91高潮| 在线性黄高清免费视频| 亚洲中文字幕一区| 欧美综合区| 欧美精品久久| 在线强奷到舒服的无码视频| 加勒比性爱成人在线| 韩国三级理论在线| 97久久久久| 久久av色| 岛国网址国产| 亚洲色图第四色| 一块操欧美性爱| 亚洲Av诱惑| 婷婷综合在线| 日韩不卡码| 青青草五月份天| 人妻系列无码专区中文有码| 亚洲色图综合网| 黄色片大香蕉| 青青草公开在线免费不卡视频| 在线播放免费av福利片| 久久偷偷色综合蜜桃| 日本久久女同性恋视频| 美女爽爽爽刺痛洞洞| 亚洲AV成人无码一区二区三区在线观看| 国产又色又粗又黄又爽| 国产操逼网站亚洲一级黄色| 怡春院久久| 色777999综合| 天天干人妻| 韩国女主播青草在线| 99999精品视频| 天美传媒国产原创中文字幕亚洲欧美另类| 乳欲人妻办公室奶水| 欧美精品三区| 东京太热男人的天堂久久久| 欧美极品性爱天天射| 九九九九免费高| 丁香婷婷五月| 久久中文字幕女同性恋一区| 浪人综合网| 中文字幕第2页| 96免费视频在线| 秋霞Av理论一级在线| 亚州男人的天堂| 天天爱天天韩国日本牛牛牛牛 | 五月天成人综合| 欧美,日韩综合久久| 蜜臀网 一区| 日韩av色图| 欧美日韩国内不卡| 男女做爰猛烈动高潮A片免费应用| 青青草玖玖爱| 偷窥自拍亚洲天堂网爆| 9丨亚洲一区二区在线| 亚洲系列欧美| 天天干2019| 日韩三级天堂在线观看| 蜜臀一区二区三区亚洲最新章节在线观看 - 高清蜜臀一区二区三区亚洲全集播放 | 天美传媒AV在线播放| 免费在线观看AV无码网站| 3PAV乱伦视频| 哈哈操 大香蕉| 神马久久69| 熟女在线视频| 97电影院超碰| 亚洲一本大道中文字幕无码在线| 天天看夜夜看日日干| 欧美激情高清性猛交| 欧美人人天天网| 欧美天天综| 色色色色网站| 超碰97人妻免费在线| 国产91美女高潮| 亚洲欧美经典一区二区| 尤物黄色在线观看网站| 久操精品| 欧美天天综合网| 欧美亚洲特P| 九久久精品| 亚洲综合射| 久操大香蕉超碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰碰 | 26uuu偷拍亚洲欧洲综合| 91天天看| 久久久久久久| 色偷综合| 熟妇亚洲一区二区三区| 99热这里只有精品9| 乳欲人妻办公室奶水| 久艾草在线精品视频在线观看| 国产精品乱码久久久久久久久| 久久视频,这里只有精品| 日韩图区| 我中文字幕6区 | 久久久久久久久久久久九| 综合 青草 伊久久 影院 综合| 日韩丝袜人妻AV| 国产四虎在线| 东京成人一区| 久日91在线| 97在线青| 人妻五十路在线| 香蕉大久久久| 九一精品牛牛一区二区| 久久99999| 日韩少妇无吗| 亚洲熟女乱色一区二区三区久久久| 99色骚| 天天摸天天舔天天操| 色天使AV天堂| 精品九九九九九九| 欧美刺激色黄片免费看| 无码人妻1727| 好爽视频在线观看视频 | 国产人妖的免费的视频| 91天堂| 亚洲精品久久久久毛片A片拉屎 | 亚州五月| 91色射| 97爱b| 久久蜜桃一区二区| 欧美第二页午夜| 伊人嫩草| 午夜操操操| 国产精品视频在线观看| 国产精品播放| 欧美综合1性辶| 噜噜噜亚洲精| 99re98| av黄图片在线观看| 国产女人和拘做爰视频| 69精品人人人人| 国产天天骚| 亚洲熟久久| 国产白丝网站| 大香蕉一级黄色片久久| 八戒无码国产午夜福利| 高潮的A片激情扒开一区| 日韩AV无码中文一区二区| 成人性爱全视频观看| 亚洲AV无码天美传媒一区| 狠综合网| 亚洲AV无码乱码| 亚洲超碰在线| 日韩偷拍色图| 色九久| 亚洲一级性爱视频免费看| 91久久婷婷| 人妻黑丝袜电影| 9色国产精品一区粉嫩| 26uuu国产亚洲综合| 色玖玖| 欲射影视| 97在线免费视频| 日韩精品在线观看观看| WWW4虎| 国产三级中文字幕粉嫩| 久久精品毛片免费不卡| 91亚洲不卡一区| 欧美人体性爱互联网第一页婷婷日本| 天天操综合网| 国产乱码久久久| 人妻少妇av在线观看| 校园春色宗合网| 国产精品人妻无码久久久老鸭窝| 超碰久热| 永久免费av无码网站国产app | 欧美黄色手机在线观看| 男女真人网18| 亚州色站 日韩电影| 男女性感激情网站| 男人的天堂2019AV| 2021国产成人精品久久| 91校园春色长篇| 成人无遮挡毛片免费看| 亚洲日韩AV视色| 影音先锋乱伦资源| 亚洲国产综合久久久性感熟妇| 欧美伊人电影| 五月天色色色| 日日躁夜夜躁狠狠躁超爽| 九九热超碰| 岛国视频一二三区| 国产黑白丝在线| 日韩精彩免费| 91人妻最真实刺激绿帽| 亚洲黄色网址| 热久久91婷婷| 亚洲一区二区性爱电影| 亚洲天堂另类| 加勒比AV网| 五月丁香色情| 久久永久无码人妻视频| 青青草久草AV| 人妻嗯啊啊在线播放 | 欧美亚洲se91| 日韩精品1区2区中文字幕| 大学生美女口爆| 久久综合中文国产| 五月综合久久| 黑人美精品 A片| 偷拍 欧美 日韩| 91久久久老司机| 日日夜夜干| 六月婷激情福利天堂69| 激情网色| 在线观看亚洲成人精品| 放黄片放3级黄片没穿衣服| 狠狠做深爱婷婷久久二区| 亚洲欧洲另类| 人人爱操| 99色在线| 国产精品电影| 素人美腿视频网站| 亚洲天堂,男人| 蜜桃久久综合视频| 超碰人人妻| 国产精品视频精品一二| 牛黄色久午久| 久久草大香蕉| 9999免费精彩视频| 精品人妻一区| 国产亚洲女v在线观看| 大香蕉中文在线| 一级乱伦网站| 91春色| 无码外流操逼视频| 天天做日日做天天欢。| 精品亚洲成人免费在线| 国产精品亚洲天堂网址| 伊人一区二区在线播放| 国产aⅴ无码片毛片一级网站| 日本孕妇一区二区视频操逼免费看 | 亚洲视频二区 | 久久性爱网站| 啊灬啊灬啊灬好深灬快高潮了动漫-国产字幕国产在线观看-B049AV | 东京日日夜夜| 国产极品久久久| 日本免费不卡二区| 久久久免费懂色| 9久久久久| 一道α片欧美| 国模精品娜娜一二三区 | 亚洲人妻熟妇三十三区| 日韩欧美天天爽爽爽天天爽爽| 色色97爱| 亚洲性爱无码乱伦av| 久9久| 久久精品视频在线观看| 欧美女同在线| 美女爽到高潮91| h4610国产人妻| 夜夜操老骚逼视频网站| 久久激情视频| 狠狠干91| 五月天婷婷色色| 亚洲中文字幕一区| 91久久青青草原精品| 国产亚洲色婷婷久久99精品91| 国产日韩美女小穴视频网站不卡| 国产一级不卡在线观看| 亚州熟妇精品| av强奸乱轮| 亚州综合色图| 亚洲精品乱码久久久久久蜜桃麻豆| 黑人天8A∨高清网站| 影音先锋每日最新资源在线观看| 色啪网| 99精品九九九九九九| 婷婷丁香六月| 天天日夜干| 欧美中文字幕一区 | 五月丁香激情综合网| 韩国免费播放一级毛片| 亚洲91色在线| 国产精品久久久久无码A√| 久久做97| 亚洲乱码国产乱码精网站| 日韩AV一区二区三区三州三州| 999国产精品999久久久久久| 人人色人人射人人妻| 天天爽夜夜欢视| AV色女综合| 女欧美一区二三区| 人妻 制服 日韩 中文 在线| 亚洲欧美中文一区二区三| 2010男人的天堂| xxx亚洲午夜天堂| 亚洲成人性| 亚洲无码一区成人免费午夜| 区一二区日韩亚洲乱码av电影| 97超级久久| 97 九色| 欧美视频边做饭边橾| 亚州色图欧美| 亚洲一区中文字幕久久,果冻传媒一区二区天美传媒 | 花花AV导航| 久久久精品中文字幕麻豆| 日韩不卡a级视频专区| 极品销魂美女一区二区|