日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Buildroot 开发

發(fā)布時(shí)間:2024/1/1 编程问答 54 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Buildroot 开发 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載:https://wiki.t-firefly.com/AIO-3288C/buildroot_develop.html
學(xué)習(xí)連接: 制作根文件系統(tǒng)

Buildroot 開發(fā)?

Buildroot 是 Linux 平臺上一個(gè)構(gòu)建嵌入式 Linux 系統(tǒng)的框架。整個(gè) Buildroot 是由 Makefile(*.mk) 腳本和 Kconfig(Config.in) 配置文件構(gòu)成的。你可以和編譯 Linux 內(nèi)核一樣,通過 buildroot 配置,menuconfig 修改,編譯出一個(gè)完整的可以直接燒寫到機(jī)器上運(yùn)行的 Linux 系統(tǒng)軟件(包含 boot、kernel、rootfs 以及 rootfs 中的各種庫和應(yīng)用程序)。

Buildroot 官網(wǎng)

Buildroot 開發(fā)手冊

目錄結(jié)構(gòu)?

buildroot/ ├── arch # CPU 架構(gòu)的構(gòu)建、配置文件 ├── board # 具體單板相關(guān)的文件 ├── boot # Bootloaders 的構(gòu)建、配置文件 ├── build ├── CHANGES # Buildroot 修改日志 ├── Config.in ├── Config.in.legacy ├── configs # 具體單板的 Buildroot 配置文件 ├── COPYING ├── DEVELOPERS ├── dl # 下載的程序、源碼壓縮包、補(bǔ)丁等 ├── docs # 文檔 ├── fs # 各種文件系統(tǒng)的構(gòu)建、配置文件 ├── linux # Linux 的構(gòu)建、配置文件 ├── Makefile ├── Makefile.legacy ├── output # 編譯輸出目錄 ├── package # 所有軟件包的構(gòu)建、配置文件 ├── README # Buildroot 簡單說明 ├── support # 為 Bulidroot 提供功能支持的腳本、配置文件 ├── system # 制作根文件系統(tǒng)的構(gòu)建、配置文件 ├── toolchain # 交叉編譯工具鏈的構(gòu)建、配置文件 └── utils # 實(shí)用工具

配置?

選擇默認(rèn)配置文件:

# 進(jìn)入 SDK 根目錄 cd path/to/SDK/ # 選擇配置文件 # `configs/rockchip_rk3288_defconfig` source envsetup.sh rockchip_rk3288

執(zhí)行完成后會生成編譯輸出目錄,output/rockchip_rk3288,后續(xù)也可以在該目錄下執(zhí)行 make 相關(guān)操作。

軟件包配置?

打開配置界面:

make menuconfig

我們可以在配置界面添加或裁剪一些工具,按需求定制系統(tǒng)功能。以添加 qt53d 為例:

輸入 / 進(jìn)入搜索界面,輸入要查找的內(nèi)容 qt53d,按回車進(jìn)行搜索:

選擇 1 跳轉(zhuǎn)到對應(yīng)頁面,按空格選中配置:

配置完成后,移動到 Save 按回車保存到 .config;移動到 Exit 按回車退出。

保存配置文件:

make savedefconfig

將修改保存到配置文件 configs/rockchip_rk3288_defconfig

Busybox 配置?

打開配置界面,進(jìn)行配置:

make busybox-menuconfig

配置完成后,移動到 Exit 按回車退出,在彈窗頁面選擇 Yes 保存到 .config

保存配置文件:

make busybox-update-config

將修改保存到配置文件 board/rockchip/common/base/busybox.config

編譯?

配置好 Buildroot 后,直接運(yùn)行 make 進(jìn)行編譯。

編譯說明?

運(yùn)行 make 進(jìn)行編譯時(shí),會執(zhí)行以下過程:

  • 下載源碼;

  • 配置、編譯、安裝交叉編譯工具鏈;

  • 配置、編譯、安裝選擇的軟件包;

  • 按選擇的格式生成根文件系統(tǒng);

  • 關(guān)于 make 的更多用法,可通過 make help 獲得。

    編譯軟件包?

    我們可以執(zhí)行 make <package> 單獨(dú)編譯某個(gè)軟件包。軟件包的編譯主要包括下載,解壓,打補(bǔ)丁,配置,編譯,安裝等過程,具體可以查看 package/pkg-generic.mk

    • 下載

      Buildroot 會根據(jù)配置 package/<package>/<package>.mk,自動從網(wǎng)絡(luò)獲取對應(yīng)的軟件包,包括一些第三方庫,插件,實(shí)用工具等,放在 dl/ 目錄。

    • 解壓

      軟件包會解壓在 output/rockchip_rk3288/build/<package>-<version> 目錄下。

    • 打補(bǔ)丁

      補(bǔ)丁集中放在 package/<packgae>/ 目錄,Buildroot 會在解壓軟件包后為其打上相應(yīng)的補(bǔ)丁。如果要修改源碼,可以通過打補(bǔ)丁的方式進(jìn)行修改。

    • 配置

    • 編譯

    • 安裝

      編譯完成后,會將需要的編譯生成文件拷貝到 output/rockchip_rk3288/target/ 目錄。

    對于某個(gè)軟件包,我們可以通過 make <package>-<target> 調(diào)用軟件包構(gòu)建中的某一步驟,如下:

    Package-specific:<pkg> - Build and install <pkg> and all its dependencies<pkg>-source - Only download the source files for <pkg><pkg>-extract - Extract <pkg> sources<pkg>-patch - Apply patches to <pkg><pkg>-depends - Build <pkg>'s dependencies <pkg>-configure - Build <pkg> up to the configure step <pkg>-build - Build <pkg> up to the build step <pkg>-graph-depends - Generate a graph of <pkg>'s dependencies<pkg>-dirclean - Remove <pkg> build directory<pkg>-reconfigure - Restart the build from the configure step<pkg>-rebuild - Restart the build from the build step

    編譯輸出目錄?

    編譯完成后,在編譯輸出目錄 output/rockchip_rk3288 會生成子目錄,說明如下:

    • build/ 包含所有的源文件,包括 Buildroot 所需主機(jī)工具和選擇的軟件包,這個(gè)目錄包含所有軟件包源碼。

    • host/ 主機(jī)端編譯需要的工具,包括交叉編譯工具。

    • images/ 包含壓縮好的根文件系統(tǒng)鏡像文件。

    • staging/ 這個(gè)目錄類似根文件系統(tǒng)的目錄結(jié)構(gòu),包含編譯生成的所有頭文件和庫,以及其他開發(fā)文件,不過他們沒有裁剪,比較龐大,不適用于目標(biāo)文件系統(tǒng)。

    • target/ 包含完整的根文件系統(tǒng),對比 staging/,它沒有開發(fā)文件,不包含頭文件,二進(jìn)制文件也經(jīng)過 strip 處理。

    交叉編譯工具?

    Buildroot 編譯完成后,會在 output/rockchip_rk3288/host/ 目錄下,生成交叉編譯工具,我們可以用來編譯目標(biāo)程序。

    • 交叉編譯工具目錄

    output/rockchip_rk3288/host/bin/

    • 編譯示例 hello.c

    #include <stdio.h> #include <stdlib.h>

    int main(int argc, char *argv[])
    {
    printf(“Hello World!\n);
    return 0;
    }

    • 編譯

    .../host/bin/arm-buildroot-linux-gnueabihf-gcc hello.c -o hello
    • 運(yùn)行

    將可執(zhí)行程序 hello 拷貝到設(shè)備,運(yùn)行 ./hello,則會看到打印信息 Hello World!

    重建?

    對于重建的具體說明,可以查看文檔 buildroot/docs/manual/rebuilding-packages.txt

    重建軟件包?

    在開發(fā)過程中,若修改了某個(gè)軟件包的源碼,Buildroot 是不會重新編譯該軟件包的。可以按如下方式操作:

    • 方式一

    make <package>-rebuild
    • 方式二

    # 刪除軟件包的編譯輸出目錄 rm -rf output/rockchip_rk3288/build/<package>-<version> # 編譯 make <package>

    完全重建?

    當(dāng)通過 make menuconfig,make xconfig 或其他配置工具之一更改系統(tǒng)配置時(shí),Buildroot 不會嘗試檢測應(yīng)重建系統(tǒng)的哪些部分。在某些情況下,Buildroot 應(yīng)該重建整個(gè)系統(tǒng),在某些情況下,僅應(yīng)重建軟件包的特定子集。但是以完全可靠的方式檢測到這一點(diǎn)非常困難,因此 Buildroot 開發(fā)人員已決定不嘗試這樣做。

    何時(shí)需要完全重建?

    • 更改目標(biāo)體系結(jié)構(gòu)配置時(shí),需要完全重建;

    • 更改工具鏈配置時(shí),需要完全重建;

    • 將其他軟件包添加到配置中時(shí),不一定需要完全重建;

    • 從配置中刪除軟件包時(shí),Buildroot 不會執(zhí)行任何特殊操作。它不會從目標(biāo)根文件系統(tǒng)或工具鏈中刪除此軟件包安裝的文件。需要完全重建才能刪除這些文件;

    • 更改軟件包的子選項(xiàng)時(shí),不會自動重建軟件包;

    • 對根文件系統(tǒng)框架進(jìn)行更改時(shí),需要完全重建;

    一般而言,當(dāng)你遇到構(gòu)建錯(cuò)誤并且不確定所做的配置更改可能帶來的后果時(shí),請進(jìn)行完全重建。具體說明可以查看文檔 rebuilding-packages.txt

    如何完全重建?

    • 方式一

    直接刪除編譯輸出目錄,之后重新進(jìn)行配置、編譯。

    rm -rf output/
    • 方式二

    執(zhí)行如下命令,會刪除編譯輸出并重新編譯。

    make clean all

    新增本地源碼包?

    開發(fā)過程中,Buildroot 自帶的軟件包有時(shí)可能無法滿足我們的需求,為此我們需要添加自定義的軟件包。Buildroot 支持多種格式的軟件包,包括 generic-package、cmake-package、autotools-package 等,我們以 generic-package 舉例說明。

    • 創(chuàng)建工程目錄

    cd path/to/SDK/ mkdir buildroot/package/rockchip/firefly_demo/
    • 新建 Config.in

    firefly_demo/ 下添加 Config.in:

    config BR2_PACKAGE_FIREFLY_DEMObool "Simple Firefly Demo"
    • 新建 firefly_demo.mk

    firefly_demo/ 下添加 firefly_demo.mk:

    ################################################## ########### # ### firefly_demo # ################################################## ########### ifeq ($(BR2_PACKAGE_FIREFLY_DEMO), y) FIREFLY_DEMO_VERSION:<span class="o">=</span><span class="m">1</span>.0.0<span class="nv">FIREFLY_DEMO_SITE</span><span class="o">=</span><span class="k">$(</span>TOPDIR<span class="k">)</span>/../external/firefly_demo/src<span class="nv">FIREFLY_DEMO_SITE_METHOD</span><span class="o">=</span><span class="nb">local</span>

    define FIREFLY_DEMO_BUILD_CMDS
    (</span>TARGETMAKEENV<spanclass="k">)</span><spanclass="k">(</span>TARGET_MAKE_ENV<span class="k">)</span> <span class="k">(</span>TARGETM?AKEE?NV<spanclass="k">)</span><spanclass="k">(MAKE) CC=(</span>TARGETCC<spanclass="k">)</span><spanclass="nv">CXX</span><spanclass="o">=</span><spanclass="k">(</span>TARGET_CC<span class="k">)</span> <span class="nv">CXX</span><span class="o">=</span><span class="k">(</span>TARGETC?C<spanclass="k">)</span><spanclass="nv">CXX</span><spanclass="o">=</span><spanclass="k">(TARGET_CXX) -C $(@D)
    endef

    define FIREFLY_DEMO_CLEAN_CMDS
    (</span>TARGETMAKEENV<spanclass="k">)</span><spanclass="k">(</span>TARGET_MAKE_ENV<span class="k">)</span> <span class="k">(</span>TARGETM?AKEE?NV<spanclass="k">)</span><spanclass="k">(MAKE) -C $(@D) clean
    endef

    define FIREFLY_DEMO_INSTALL_TARGET_CMDS
    (</span>TARGETMAKEENV<spanclass="k">)</span><spanclass="k">(</span>TARGET_MAKE_ENV<span class="k">)</span> <span class="k">(</span>TARGETM?AKEE?NV<spanclass="k">)</span><spanclass="k">(MAKE) -C $(@D) install
    endef

    define FIREFLY_DEMO_UNINSTALL_TARGET_CMDS
    (</span>TARGETMAKEENV<spanclass="k">)</span><spanclass="k">(</span>TARGET_MAKE_ENV<span class="k">)</span> <span class="k">(</span>TARGETM?AKEE?NV<spanclass="k">)</span><spanclass="k">(MAKE) -C $(@D) uninstall
    endef

    (</span><spanclass="nv">eval</span><spanclass="k">(</span><span class="nv">eval</span> <span class="k">(</span><spanclass="nv">eval</span><spanclass="k">(generic-package))
    endif

    • 創(chuàng)建源碼目錄

    上文的 Makefile 文件里已經(jīng)指定了源碼目錄 external/firefly_demo/src

    cd path/to/SDK/ mkdir external/firefly_demo/src
    • 編寫源碼 firefly_demo.c

    firefly_demo/src/ 下添加 firefly_demo.c:

    #include <stdio.h> #include <stdlib.h>

    int main(int argc, char *argv[])
    {
    printf(“Hello World!\n);
    return 0;
    }

    • 編寫 Makefile

    firefly_demo/src/ 下添加 Makefile:

    DEPS = OBJ = firefly_demo.o CFLAGS = %.o: %.c $(DEPS)$(CC) -c -o $@ $< $(CFLAGS)

    firefly_demo: (</span><spanclass="nv">OBJ</span><spanclass="k">)</span><spanclass="k">(</span><span class="nv">OBJ</span><span class="k">)</span> <span class="k">(</span><spanclass="nv">OBJ</span><spanclass="k">)</span><spanclass="k">(CXX) -o $@ <spanclass="k">^ <span class="k"><spanclass="k">(CFLAGS)

    .PHONY: clean
    clean:
    rm -f *.o *~ firefly_demo

    .PHONY: install
    install:
    cp -f firefly_demo $(TARGET_DIR)/usr/bin/

    .PHONY: uninstall
    uninstall:
    rm -f $(TARGET_DIR)/usr/bin/firefly_demo

    • 修改上一級 Config.in

    buildroot/package/rockchip/Config.in 末尾添加一行:

    source "package/rockchip/firefly_demo/Config.in"
    • 配置軟件包

    打開配置菜單 make menuconfig,找到 firefly_demo 并選中配置。

    • 編譯

    # 編譯 firefly_demo make firefly_demo # 打包進(jìn)根文件系統(tǒng) make # 若修改源碼,重新編譯軟件包 make firefly_demo-rebuild

    rootfs-overlay?

    rootfs-overly 是一個(gè)相當(dāng)不錯(cuò)的功能,它能夠在目標(biāo)文件系統(tǒng)編譯完成后將指定文件覆蓋到某個(gè)目錄。通過這種方式,我們可以方便地添加或修改一些文件到根文件系統(tǒng)。

    假設(shè)我們要在根文件系統(tǒng)的 /etc/ 目錄下添加文件 overlay-test,可以按如下步驟操作:

    • 設(shè)置 rootfs-overlay 根目錄

    打開配置菜單 make menuconfig,通過設(shè)置 BR2_ROOTFS_OVERLAY 選項(xiàng),添加用于覆蓋的根目錄。對于 rk3288,默認(rèn)已添加了目錄 board/rockchip/rk3288/fs-overlay/

    • 添加文件到覆蓋目錄

    cd buildroot/board/rockchip/rk3288/fs-overlay/ mkdir etc/ touch etc/overlay-test
    • 編譯

    make
    • 下載根文件系統(tǒng)

    將編譯好的根文件系統(tǒng) output/rockchip_rk3288/images/rootfs.ext2 下載到設(shè)備。啟動設(shè)備,可以看到已添加文件 /etc/overlay-test

    也可以通過查看 target/ 目錄,驗(yàn)證是否添加成功:

    ls buildroot/output/rockchip_rk3288/target/etc/overlay-test

    交叉編譯 Qt-5.12.2?

    交叉編譯工具鏈?

    Firefly 提取了 Buildroot 的交叉編譯工具鏈,用戶可以直接使用該工具鏈開發(fā) Buildroot 上的 Qt 應(yīng)用程序,而無需下載編譯 SDK 代碼。

    工具鏈支持 EGLFS、LinuxFB、Wayland 等插件。

    使用環(huán)境:

    主機(jī):x86-64 / Ubuntu 16.04/18.04 設(shè)備: Firefly RK3399 RK3288 PX30 .. / Buildroot

    下載?

    對于 32位芯片,如 rk3288,下載 firefly-qt-5.12.2-arm.tar.gz;對于其它 64位芯片,如 rk3399,下載 firefly-qt-5.12.2-aarch64.tar.gz。

    下載鏈接(提取碼:6dg7)

    下文將以 firefly-qt-5.12.2-aarch64.tar.gz 為例進(jìn)行說明。

    目錄結(jié)構(gòu)?

    解壓下載好的壓縮包:

    tar -zxvf firefly-qt-5.12.2-aarch64.tar.gz

    目錄結(jié)構(gòu):

    firefly-qt-5.12.2-aarch64/ ├── aarch64.tar.gz # 用于 Qt 程序運(yùn)行的庫文件、插件等 ├── demo │?? └── mainwindow # demo 程序 ├── firefly-qt-5.12.2-aarch64 # 交叉編譯工具鏈 └── ReadMe # 使用說明

    配置交叉編譯環(huán)境?

    將工具鏈拷貝到主機(jī)的指定目錄:

    cd firefly-qt-5.12.2-aarch64/ # 該目錄 `/opt/` 不可修改 cp -rdf firefly-qt-5.12.2-aarch64 /opt/

    若拷貝失敗,先修改下目錄權(quán)限,再執(zhí)行上述操作:

    sudo chmod 777 /opt/

    交叉編譯?

    以 demo 程序?yàn)槔?#xff0c;運(yùn)行如下命令:

    cd demo/mainwindow/ /opt/firefly-qt-5.12.2-aarch64/host/bin/qmake make

    編譯完成后,會生成可執(zhí)行程序 demo/mainwindow/mainwindow

    配置運(yùn)行環(huán)境?

    使用 U盤將 aarch64.tar 拷貝到設(shè)備上:

    cp /media/usb0/aarch64.tar /userdata/

    解壓:

    cd /userdata/ tar -xvf aarch64.tar

    將文件拷貝到對應(yīng)目錄:

    cd aarch64/ cp -rdf usr/lib/* /usr/lib/ cp -rdf usr/qml/* /usr/qml/ cp usr/bin/gdbserver /usr/bin/

    運(yùn)行程序?

    將編譯好的可執(zhí)行程序 mainwindow 拷貝到設(shè)備上。

    默認(rèn)板子運(yùn)行了 Wayland 桌面環(huán)境,按如下方式運(yùn)行:

    # 設(shè)置環(huán)境變量 export XDG_RUNTIME_DIR=/tmp/.xdg # 運(yùn)行 ./mainwindow -platform wayland

    使用 eglfs 插件運(yùn)行:

    # 退出 Wayland 桌面環(huán)境 /etc/init.d/S50launcher stop # 運(yùn)行 ./mainwindow -platform eglfs

    Qt Creator?

    下面介紹 Qt Creator 的使用說明,在操作前,請先按前面的步驟配置好交叉編譯環(huán)境和運(yùn)行環(huán)境。

    安裝?

    進(jìn)入 Qt 官方下載頁面,下載 qt-opensource-linux-x64-5.12.2.run,下載完成之后,運(yùn)行安裝。

    配置?

    安裝完成后,啟動 Qt Creator,打開菜單 Tools -> Options,找到 Kits。

    • 配置 Qt Versions

      qmake:/opt/firefly-qt-5.12.2-aarch64/host/bin/qmake

    • 配置 Compilers

      g++:/opt/firefly-qt-5.12.2-aarch64/host/bin/aarch64-buildroot-linux-gnu-g++

      gcc:/opt/firefly-qt-5.12.2-aarch64/host/bin/aarch64-buildroot-linux-gnu-gcc

    為方便調(diào)試,配置 Debuggers 和 Devices 用于在線調(diào)試:

    • 配置 Debuggers

      gdb:/opt/firefly-qt-5.12.2-aarch64/host/bin/aarch64-buildroot-linux-gnu-gdb

    • 配置 Devices

    設(shè)置好設(shè)備的 IP、用戶名(root)和密碼(rockchip)。為了方便調(diào)試,可以在設(shè)備上設(shè)置靜態(tài) IP。

    • 配置 Kits

    將前面設(shè)置的配置項(xiàng)添加到 Kits。

    編譯運(yùn)行?

    打開 demo 程序,Welcome -> Open Project,選擇要使用的 Kits:

    之后打開 Projects -> Run,配置命令行參數(shù),這里設(shè)置為 -platform wayland

    配置環(huán)境變量,即 export XDG_RUNTIME_DIR=/tmp/.xdg

    編譯運(yùn)行:

    點(diǎn)擊 Build 交叉編譯 Qt 程序;點(diǎn)擊 RunDebug 在設(shè)備上運(yùn)行或調(diào)試程序。要重新運(yùn)行程序時(shí),記得手動點(diǎn)擊 Stop 關(guān)閉已經(jīng)運(yùn)行的程序。

    編譯生成目錄在 demo/build-mainwindow-qt_5_12_2_aarch64-Debug

    桌面應(yīng)用?

    官方發(fā)布的 Buildroot 固件,默認(rèn)已支持 Wayland 桌面環(huán)境以及一些 Qt 應(yīng)用,如下圖:

    這些 Qt 應(yīng)用提供了一些基礎(chǔ)功能,如,攝像頭預(yù)覽,文件管理器,多媒體播放器,WiFi 連接等。

    用戶和密碼?

    • 用戶:root

    • 密碼:rockchip

    WiFi 連接?

    # wifi_start.sh wifi-ssid password wifi_start.sh wifi-test 12345678

    音/視頻播放?

    # 播放 wav aplay test.wav gstwavplay.sh test.wav

    # 播放 mp3
    mp3play.sh test.mp3
    gstmp3play.sh test.mp3

    # 播放 mp4
    gstmp4play.sh test.mp4
    gstvideoplay.sh test.mp4

    SSH?

    Buildroot 默認(rèn)已支持 SSH 服務(wù)。

    • ssh 登錄設(shè)備

    讓設(shè)備處于聯(lián)網(wǎng)狀態(tài),在 PC 端執(zhí)行登錄命令:

    # 用戶:root;密碼:rockchip # IP:192.168.27.129 ~$ ssh root@192.168.27.129 The authenticity of host '192.168.27.129 (192.168.27.129)' can't be established. ECDSA key fingerprint is SHA256:+NwFawDiU0EwLHRFrIA/7snmlMc9ZfN6Nxa5vUSC7Pg. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.27.129' (ECDSA) to the list of known hosts. root@192.168.27.129's password: [root@rk3288:~]#
    • scp

    在 PC 端執(zhí)行命令,拷貝文件到設(shè)備:

    ~$ scp ./file root@192.168.27.129:/ root@192.168.27.129's password: file 100% 154 0.2KB/s 00:00

    MIPI 攝像頭(OV13850)?

    查看 ISP 驅(qū)動是否加載成功,成功可以看到如下設(shè)備信息:

    root@firefly:~# grep '' /sys/class/video4linux/video*/name /sys/class/video4linux/video0/name:rkisp1_mainpath /sys/class/video4linux/video1/name:rkisp1_selfpath /sys/class/video4linux/video2/name:rkisp1_dmapath /sys/class/video4linux/video3/name:rkisp1-statistics /sys/class/video4linux/video4/name:rkisp1-input-params

    root@firefly:~# ls /dev/video*
    video0 video1 video2 video3 video4

    查看 OV13850 設(shè)備是否注冊成功,成功可以看到如下打印:

    root@firefly:~# dmesg |grep 13850 [ 3.911130] ov13850 3-0010: driver version: 00.01.03 [ 3.911168] ov13850 3-0010: GPIO lookup for consumer reset [ 3.911171] ov13850 3-0010: using device tree for GPIO lookup [ 3.911187] of_get_named_gpiod_flags: parsed 'reset-gpios' property of node '/i2c@ff150000/ov13850@10[0]' - status (0) [ 3.911370] ov13850 3-0010: could not get default pinstate [ 3.911373] ov13850 3-0010: could not get sleep pinstate [ 3.911376] ov13850 3-0010: GPIO lookup for consumer pwdn [ 3.911379] ov13850 3-0010: using device tree for GPIO lookup [ 3.911403] of_get_named_gpiod_flags: parsed 'pwdn-gpios' property of node '/i2c@ff150000/ov13850@10[0]' - status (0) # 成功獲取設(shè)備 ID [ 3.914401] ov13850 3-0010: Detected OV00d850 sensor, REVISION 0xb2

    預(yù)覽:

    gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12,width=640,height=480, framerate=30/1 ! videoconvert ! kmssink &

    # 或者
    export XDG_RUNTIME_DIR=/tmp/.xdg
    gst-launch-1.0 v4l2src device=/dev/video0 ! video/x-raw,format=NV12,width=640,height=480, framerate=30/1 ! videoconvert ! waylandsink &

    外部存儲設(shè)備?

    Buildroot 支持自動掛載外部存儲設(shè)備:

    U 盤掛載路徑:/udisk

    TF 卡掛載路徑:/sdcard

    恢復(fù)出廠設(shè)置?

    Buildroot 支持恢復(fù)出廠設(shè)置。直接運(yùn)行 update 或者加上 factory/reset 參數(shù)均可進(jìn)入 recovery 恢復(fù)出廠設(shè)置。

    注意:此出廠設(shè)置表示恢復(fù)為設(shè)備最后一次升級固件之后的初始狀態(tài)。

    update # 或者 update factory / update reset

    升級固件?

    Buildroot 支持從外部存儲設(shè)備升級固件,以下是升級流程說明。

    • 制作升級固件

    按照正常的固件編譯流程,制作用于升級的固件。《編譯 Buildroot 固件》

    升級固件不一定要全分區(qū)升級,可修改 package-file 文件,將不要升級的分區(qū)去掉,這樣可以減少升級包的大小。

    例如,修改文件 tools/linux/Linux_Pack_Firmware/rockdev/rk3288-package-file,將 rootfs 的相對路徑改為 RESERVED,這樣就不會打包根文件系統(tǒng),即不升級根文件系統(tǒng)分區(qū)。

    # name relative path # #hwdef hwdef package-file package-file bootloader image/miniloaderall.bin parameter image/parameter.txt trust image/trust.img uboot image/uboot.img misc image/misc.img boot image/boot.img recovery image/recovery.img rootfs RESERVED oem image/oem.img userdata:grow image/userdata.img backup RESERVED

    將制作好的升級固件拷貝到 U 盤、TF 卡或者設(shè)備的 /userdata/ 目錄下,重命名為 update.img

    注意: 若將升級固件放至設(shè)備的 /userdata/ 目錄,則不要打包 userdata.img,將 image/userdata.img 改為 RESERVED

    • 升級

    啟動設(shè)備,在命令行執(zhí)行升級命令,update ota path/to/update.img,設(shè)備會進(jìn)入 recovery 進(jìn)行升級。

    # U 盤 update ota /udisk/update.img # TF 卡 update ota /sdcard/update.img # /userdata/ update ota /userdata/udpate.img

    等待升級完成,升級成功后,設(shè)備會重新啟動進(jìn)入系統(tǒng)。

    FirmwareOta?

    firmwareota 是一個(gè) Qt 桌面應(yīng)用,支持從網(wǎng)絡(luò)下載固件進(jìn)行固件升級,下面是使用說明。

    添加桌面應(yīng)用?

    • 下載

    下載鏈接(提取碼:1234)

    • 解壓

    tar -zxvf firmwareota.tar.gz
    • 按照目錄結(jié)構(gòu),將文件拷貝到設(shè)備

    └── usr├── bin│?? └── firmwareota└── share├── applications│?? └── firmwareota.desktop└── icon└── icon_firmwareota.png
    • 重啟桌面

    /etc/init.d/S50launcher stop /etc/init.d/S50launcher start
    • 啟動

    設(shè)置完成后,則可以在桌面啟動應(yīng)用。

    設(shè)置下載地址?

    程序會通過默認(rèn)的 Http 地址下載列表文件 ota_list,解析列表文件獲取固件下載鏈接。

    列表文件格式,例:

    firmware_name_1 http://192.168.2.11:8000/firmware_name_1 firmware_name_2 http://192.168.2.11:8000/firmware_name_2 ...

    我們可以通過添加 /userdata/list_url 文件,設(shè)置指定列表文件下載地址,例:

    http://192.168.2.11:8000/ota_list

    Weston 配置?

    我們可以通過配置 Weston 對顯示進(jìn)行一些自定義設(shè)置,下文對部分設(shè)置進(jìn)行說明。

    狀態(tài)欄設(shè)置?

    Weston 支持在 weston.ini 配置文件的 shell 段設(shè)置狀態(tài)欄的背景色、位置,以及在 launcher 段設(shè)置快捷啟動程序,如:

    # /etc/xdg/weston/weston.ini

    [shell]
    # 顏色格式為 ARGB8888
    panel-color=0xff002244
    # top|bottom|left|right|none
    panel-position=bottom

    [launcher]
    icon=/usr/share/weston/terminal.png
    path=/usr/bin/weston-terminal

    [launcher]
    # 圖標(biāo)路徑
    icon=/usr/share/weston/icon_flower.png
    # 快捷啟動命令
    path=/usr/bin/qsetting

    背景設(shè)置?

    Weston 支持在 weston.ini 配置文件的 shell 段設(shè)置背景圖案、顏色,如:

    # /etc/xdg/weston/weston.ini

    [shell]
    # 背景圖案(壁紙)絕對路徑
    background-image=/usr/share/weston/background.png
    # scale|scale-crop|tile
    background-type=scale
    # 顏色格式為 ARGB8888,未設(shè)置背景圖案時(shí)生效
    background-color=0xff002244

    待機(jī)及鎖屏配置?

    Weston 的超時(shí)待機(jī)時(shí)長可以在啟動參數(shù)中配置,也可以在 weston.ini 的 core 段配置,如:

    # /etc/init.d/S50launcherstart)...# 0 為禁止待機(jī),單位為秒weston --tty=2 -B=drm-backend.so --idle-time=0&

    或者:

    # /etc/xdg/weston/weston.ini

    [core]
    # 設(shè)置 5 秒未操作后進(jìn)入待機(jī)狀態(tài)
    idle-time=5

    顯示顏色格式配置?

    Buildroot SDK 內(nèi) Weston 目前默認(rèn)顯示格式為 ARGB8888,對于某些低性能平臺,可以在 weston.ini 的 core 段配置為 RGB565,如:

    # /etc/xdg/weston/weston.ini

    [core]
    # xrgb8888|rgb565|xrgb2101010
    gbm-format=rgb565

    也可以在 weston.ini 的 output 段單獨(dú)配置每個(gè)屏幕的顯示格式,如:

    # /etc/xdg/weston/weston.ini

    [output]
    # output 的 name 可以查看 /sys/class/drm/card0-name
    name=LVDS-1
    # xrgb8888|rgb565|xrgb2101010
    gbm-format=rgb565

    屏幕方向設(shè)置?

    Weston 的屏幕顯示方向可以在 weston.ini 的 output 段配置,如:

    # /etc/xdg/weston/weston.ini

    [output]
    name=LVDS-1
    # normal|90|180|270|flipped|flipped-90|flipped-180|flipped-270
    transform=180

    如果需要?jiǎng)討B(tài)配置屏幕方向,可以通過動態(tài)配置文件,如:

    echo "output:all:rotate90" > /tmp/.weston_drm.conf # 所有屏幕旋轉(zhuǎn) 90 度 echo "output:eDP-1:rotate180" > /tmp/.weston_drm.conf # eDP-1 旋轉(zhuǎn) 180 度

    分辨率及縮放配置?

    Weston 的屏幕分辨率及縮放可以在 weston.ini 的 output 段配置,如:

    # /etc/xdg/weston/weston.ini

    [output]
    name=HDMI-A-1
    # 需為屏幕支持的有效分辨率
    mode=1920x1080
    # 需為整數(shù)倍數(shù)
    scale=2

    如果需要?jiǎng)討B(tài)配置分辨率及縮放,可以通過動態(tài)配置文件,如:

    echo "output:HDMI-A-1:mode=800x600" > /tmp/.weston_drm.conf # 修改 HDMI-A-1 分辨率為800x600

    這種方式縮放時(shí)需要依賴 RGA 加速。

    凍結(jié)屏幕?

    在啟動 Weston 時(shí),開機(jī) logo 到 UI 顯示之間存在短暫切換黑屏。如需要防止黑屏,可以通過以下種動態(tài)配置文件方式短暫凍結(jié) Weston 屏幕內(nèi)容:

    # /etc/init.d/S50launcherstart)...export WESTON_FREEZE_DISPLAY=/tmp/.weston_freeze # 設(shè)置特殊配置文件路徑touch /tmp/.weston_freeze # 凍結(jié)顯示weston --tty=2 -B=drm-backend.so --idle-time=0&...sleep 1 && rm /tmp/.weston_freeze& # 1 秒后解凍

    多屏配置?

    Buildroot SDK 的 Weston 支持多屏同異顯及熱拔插等功能,不同顯示器屏幕的區(qū)分根據(jù) drm 的 name (通過 /sys/class/drm/card0-name 獲取),相關(guān)配置通過環(huán)境變量設(shè)置,如:

    # /etc/init.d/S50launcher start<span class="o">)</span>...<span class="nb">export</span> <span class="nv">WESTON_DRM_PRIMARY</span><span class="o">=</span>HDMI-A-1 <span class="c1"># 指定主顯為 HDMI-A-1</span><span class="nb">export</span> <span class="nv">WESTON_DRM_MIRROR</span><span class="o">=</span><span class="m">1</span> <span class="c1"># 使用鏡像模式(多屏同顯),不設(shè)置此環(huán)境變量即為異顯</span><span class="nb">export</span> <span class="nv">WESTON_DRM_KEEP_RATIO</span><span class="o">=</span><span class="m">1</span> <span class="c1"># 鏡像模式下縮放保持縱橫比,不設(shè)置此變量即為強(qiáng)制全屏</span><span class="nb">export</span> <span class="nv">WESTON_DRM_PREFER_EXTERNAL</span><span class="o">=</span><span class="m">1</span> <span class="c1"># 外置顯示器連接時(shí)自動關(guān)閉內(nèi)置顯示器</span><span class="nb">export</span> <span class="nv">WESTON_DRM_PREFER_EXTERNAL_DUAL</span><span class="o">=</span><span class="m">1</span> <span class="c1"># 外置顯示器連接時(shí)默認(rèn)以第一個(gè)外顯為主顯</span>weston --tty<span class="o">=</span><span class="m">2</span> -B<span class="o">=</span>drm-backend.so --idle-time<span class="o">=</span><span class="m">0</span><span class="p">&amp;</span>

    鏡像模式縮放顯示內(nèi)容時(shí)需要依賴 RGA 加速。

    同時(shí)也支持在 weston.ini 的 output 段單獨(dú)禁用指定屏幕:

    # /etc/xdg/weston/weston.ini

    [output]
    name=LVDS-1
    mode=off
    # off|current|preferred|<WIDTHxHEIGHT@RATE>

    輸入設(shè)備相關(guān)配置?

    Weston 服務(wù)默認(rèn)需要至少一個(gè)輸入設(shè)備,如無輸入設(shè)備,則需要在 weston.ini 中的 core 段特殊設(shè)置:

    # /etc/xdg/weston/weston.ini

    [core]
    require-input=false

    總結(jié)

    以上是生活随笔為你收集整理的Buildroot 开发的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

    91豆花在线| www.久久久 | 亚洲无在线| 久久久受www免费人成 | 韩日电影在线免费看 | 天天插狠狠干 | 亚洲欧美视屏 | 最近免费观看的电影完整版 | 国产欧美在线一区二区三区 | 中文字幕国语官网在线视频 | 欧美91片 | 在线视频一二三 | 亚洲精品中文字幕视频 | a级国产片 | 婷婷在线免费视频 | 91久久精品一区二区三区 | 99久久影视| 国产韩国日本高清视频 | 国产精品乱码久久久久 | 国产不卡在线播放 | 日韩特黄一级欧美毛片特黄 | 日韩免费视频在线观看 | 91丨九色丨蝌蚪丨老版 | 精品视频在线免费观看 | 久久久久久久久久久福利 | 成人午夜在线电影 | 日本午夜在线亚洲.国产 | 国产精品手机在线 | 天天干天天色2020 | 成人性生爱a∨ | 国产精品自产拍在线观看蜜 | 麻豆视频免费在线观看 | 国产一级视频在线观看 | 91精品在线播放 | 九九99 | 国精产品999国精产品视频 | 国产精品久久久久久妇 | 国产一级免费播放 | 久久视频在线观看 | 国产伦精品一区二区三区无广告 | 欧美日韩在线网站 | 伊人五月天婷婷 | 粉嫩av一区二区三区四区 | 国内精品久久久久久久久久久久 | 激情久久影院 | www.久久com| 成人a视频 | 国产男女爽爽爽免费视频 | 五月天国产精品 | 国产成人免费在线 | 中文字幕2021 | 欧美另类xxxxx| 日批视频在线播放 | 中国精品一区二区 | 成人免费xyz网站 | 国色天香在线观看 | 婷婷丁香在线观看 | 午夜精品久久 | 黄色小说在线观看视频 | 国产精品久久久久久久久搜平片 | 在线精品视频免费播放 | 亚洲黄色app | japanesefreesexvideo高潮 | 超碰免费97 | 99爱在线观看 | 亚洲综合成人婷婷小说 | 91精品国产福利 | 国产小视频在线播放 | 亚洲免费观看视频 | www久久| 日日弄天天弄美女bbbb | 亚洲区二区| 日韩中文字幕在线看 | 中文字幕免费看 | 91成人欧美 | 国产成人福利 | 免费高清av在线看 | 久久系列| 亚洲免费av观看 | 日韩资源在线观看 | 久久久av电影| 欧洲精品视频一区二区 | 欧美一区二区免费在线观看 | 国产精品乱码在线 | 99视频网站| 免费一级片观看 | 亚洲成av人片在线观看无 | 国产成人一区二区三区影院在线 | 天操夜夜操 | 欧美日韩一区二区免费在线观看 | 亚洲欧美精品一区二区 | 国产精品乱看 | 久久成人国产精品 | 亚洲伊人天堂 | 婷五月天激情 | 国产精品入口麻豆 | 久久精品2 | 狠狠色丁香婷婷综合最新地址 | 久久国产一区二区 | 免费在线成人av | 婷婷色在线资源 | 九九精品在线观看 | 探花视频在线观看免费版 | 色香网 | 久久一二区| 国产精品毛片久久久久久 | 久久不卡av| 亚洲人成在线电影 | 久久精品xxx| 午夜123| 黄在线免费观看 | 欧美va天堂在线电影 | 成人午夜精品福利免费 | 国产资源在线免费观看 | 97超碰人人模人人人爽人人爱 | 婷婷亚洲五月色综合 | 99精品国产一区二区三区不卡 | 日韩av中文字幕在线免费观看 | 久久精品国产免费看久久精品 | 国产精品久久在线 | 国产精品久久久久久久久久久久冷 | 天天躁日日 | 亚洲伊人天堂 | 中文字幕色网站 | 黄色av电影一级片 | 成年人免费看片 | 国产精品粉嫩 | 国产日韩精品一区二区在线观看播放 | 黄色毛片视频免费观看中文 | 亚洲黄色精品 | 五月婷在线播放 | 91视频黄色| 欧美日本不卡高清 | 欧美精品久久久久久久久久久 | 国产精品久久久久久久久久了 | 69精品在线观看 | 精品久久网站 | 91av视频免费在线观看 | 噜噜色官网 | 国产精品一区久久久久 | 亚洲一区二区91 | 91尤物在线播放 | 成人av av在线 | 天天色天天爱天天射综合 | 精品资源在线 | 日韩在线欧美在线 | 菠萝菠萝在线精品视频 | 国产这里只有精品 | 久久午夜电影 | 欧美日韩亚洲在线观看 | 亚洲国产影院av久久久久 | 一区二区三区国产欧美 | 成人免费视频播放 | 999国内精品永久免费视频 | 99免费看片| 最新av在线播放 | 公与妇乱理三级xxx 在线观看视频在线观看 | 五月天视频网 | 黄色av电影一级片 | a级国产乱理论片在线观看 伊人宗合网 | 国产精品系列在线观看 | 国产污视频在线观看 | 日韩免费在线视频观看 | 欧美激情第十页 | 热久久这里只有精品 | av黄色在线观看 | 免费美女久久99 | 四虎影视成人永久免费观看视频 | 久久久视频在线 | 伊人激情网 | 91九色精品女同系列 | 国产精品视频不卡 | 精品国产视频一区 | 亚洲黄色在线播放 | 天天艹天天操 | 九九久久免费 | 国产在线观看免费观看 | 看av在线| 久久久久久久久毛片 | 韩日av在线 | 成人理论在线观看 | 久久精品这里都是精品 | 久久国产精品99久久久久久丝袜 | 人人爽人人爱 | 日韩欧美xx| 99r在线播放 | 手机看国产毛片 | 国产色婷婷 | 精品国模一区二区 | 中文字幕亚洲在线观看 | 人人澡超碰碰 | 999视频精品| 成人视屏免费看 | 亚洲成aⅴ人片久久青草影院 | 97国产精品免费 | 丁香婷婷综合激情五月色 | 亚洲成人高清在线 | 国产黄色在线 | 激情亚洲综合在线 | 国产午夜精品免费一区二区三区视频 | 人人草人 | 久久久国产成人 | 久久综合五月天 | 国产成人一区二区三区在线观看 | 国产成人三级在线播放 | 日本高清久久久 | 岛国av在线 | 激情影院在线观看 | 国产精品一区二区三区免费看 | 免费人人干 | 91看片淫黄大片一级在线观看 | 深爱开心激情 | 国产资源在线播放 | 综合天天久久 | 成人免费看片98欧美 | 亚洲激情影院 | 国产免费嫩草影院 | 四虎国产精品成人免费影视 | 色在线视频网 | 日韩理论在线视频 | 久久在线免费 | 久久免费视频6 | 91精品一区二区三区蜜臀 | 久久成人国产精品入口 | 91av视频播放| 一二区av | 欧美一级片播放 | 亚洲精品欧美专区 | 国内外激情视频 | 一级a毛片高清视频 | 日韩激情影院 | 精品久操 | 91精品资源| 精品免费观看 | 国产区在线视频 | 国产婷婷精品 | 免费合欢视频成人app | 五月天天在线 | 亚洲精品午夜久久久久久久久久久 | 国产成人综合图片 | 成人免费在线视频 | 一本一道波多野毛片中文在线 | 欧美激情视频一二区 | 91精品国产成 | 国产欧美三级 | 欧美日韩精品在线免费观看 | 操操综合| 欧美国产一区二区 | 97电院网手机版 | 欧美日韩国产在线观看 | 国产成人精品一区二区三区 | 日本乱视频 | 懂色av懂色av粉嫩av分享吧 | 日韩精品免费专区 | 中文字幕久久精品一区 | 美女网站视频免费都是黄 | 久久99九九99精品 | 91视频久久 | 手机av网站 | av天天澡天天爽天天av | 国产又粗又猛又黄又爽 | 狠狠色狠狠色综合日日小说 | 伊人狠狠| 狠狠干,狠狠操 | 久久国产精品99久久久久久进口 | 日韩,精品电影 | 超碰人人乐 | 婷婷网站天天婷婷网站 | 麻豆极品 | 免费看三级 | 亚洲永久精品一区 | 黄色a级片在线观看 | 色综合色综合色综合 | av中文字幕在线观看网站 | 日韩两性视频 | 精品国产一区二区三区免费 | 亚洲清纯国产 | 国产精品嫩草影院99网站 | 在线 高清 中文字幕 | 久久免费视频网站 | 国产高清视频在线播放一区 | 国产伦理久久精品久久久久_ | 中文字幕在线观看免费高清完整版 | 激情欧美网| 麻豆精品传媒视频 | 国产精品乱看 | 国产成人免费 | 日批视频在线播放 | 亚洲,国产成人av | 探花视频在线版播放免费观看 | 99色在线观看视频 | 亚洲精品中文字幕在线观看 | 免费在线国产视频 | 人人插人人玩 | 国产精品视频永久免费播放 | 亚洲视频高清 | 黄色网免费 | 黄色特级一级片 | 丁香 婷婷 激情 | 日韩偷拍精品 | 91网页版免费观看 | 国产一区二区三精品久久久无广告 | 成人久久18免费网站图片 | 91精品国产乱码在线观看 | 婷婷丁香六月天 | 婷婷丁香激情综合 | 国产日本高清 | 中文字幕黄色网址 | 欧美激情综合五月色丁香 | 免费a级黄色毛片 | 欧美日韩天堂 | 久久中文字幕视频 | 婷婷在线免费 | 日韩在线视频在线观看 | 日韩精品免费在线 | 国产最新在线 | 亚洲精品乱码久久久久久按摩 | 久久亚洲福利 | 麻豆久久久久 | 久久99国产视频 | 国产精品久久久久久久久久久久久 | 中文字幕资源网在线观看 | 园产精品久久久久久久7电影 | av免费看在线 | 日日摸日日添日日躁av | 狠狠色伊人亚洲综合成人 | 99中文视频在线 | 麻豆小视频在线观看 | 日本韩国精品在线 | 丁香六月激情婷婷 | 国产欧美日韩一区 | 天天干.com | 欧美另类高清 | 精品国产欧美一区二区三区不卡 | 九九九在线 | www.啪啪.com| 亚洲一区美女视频在线观看免费 | 91中文字幕在线播放 | 99精品区 | 超碰在线个人 | 在线观看黄色的网站 | 免费中文字幕在线观看 | 一区二区三区三区在线 | 高清久久久久久 | 激情av五月婷婷 | 人人涩 | 夜色资源站国产www在线视频 | 五月激情五月激情 | 99热国产在线| 日韩精品免费 | 国产精品高潮呻吟久久久久 | 欧美三级高清 | 免费观看一级一片 | 91av视屏| 天天爽夜夜操 | 久久经典国产 | 在线电影a | 69av视频在线观看 | 五月亚洲婷婷 | 久久一视频 | 久久精品综合网 | 天天干夜夜想 | 免费97视频 | 久久国产美女 | 国产国语在线 | 久久精品欧美一区 | 久久综合给合久久狠狠色 | 99久久精品久久亚洲精品 | 在线性视频日韩欧美 | 99热精品视 | 亚洲在线资源 | 欧美国产日韩激情 | 五月婷婷激情综合网 | 911亚洲精品第一 | 91av成人 | 99久久精品国产免费看不卡 | 日日夜夜天天久久 | 丁香视频在线观看 | 成年人视频在线免费观看 | 精品国产成人在线影院 | 久久的色 | 亚洲国产播放 | 欧美成年人在线观看 | 友田真希x88av | 国产97在线播放 | 久久精品国产99 | 亚洲国产精品视频在线观看 | 日韩素人在线观看 | 最近更新好看的中文字幕 | 99热最新在线 | 亚洲国产av精品毛片鲁大师 | 久久99九九99精品 | 综合黄色网 | 成人国产在线 | 欧美国产高清 | 天天射天天干天天 | 丁香婷婷综合激情五月色 | 99精品久久99久久久久 | 天天射射天天 | 天天激情综合 | 99爱视频| 国产小视频免费在线网址 | 伊人天天操 | 欧美精品一区二区性色 | 日韩性xxxx | 亚洲精品国久久99热 | 在线视频18在线视频4k | 日韩激情视频在线观看 | 亚洲激情五月 | 视频一区亚洲 | 久久综合综合久久综合 | 91在线看免费 | av直接看| 五月天中文在线 | 国产一级在线免费观看 | 狠狠综合网 | 免费观看不卡av | 日本超碰在线 | 美女视频黄在线 | 国产精品久久久久久久久久久不卡 | 三级毛片视频 | 日本少妇久久久 | 欧美一级免费黄色片 | 日韩欧美99 | 日韩电影在线观看一区 | 激情久久综合网 | 丁香花中文在线免费观看 | 中文字幕日本电影 | 综合网伊人 | 国产精品美女久久久久久久久久久 | 国产色在线观看 | 成人免费91 | 黄色a在线 | 久久久久久国产一区二区三区 | 国产成人精品一区二区三区 | 亚洲免费永久精品国产 | 欧美日韩精品在线观看视频 | 成人网在线免费视频 | 91精品国产91 | www.91国产 | 欧美日韩中文字幕综合视频 | 深爱五月激情网 | 日韩久久精品一区二区 | 免费看一级黄色 | 97香蕉超级碰碰久久免费软件 | 久久国产精品久久精品国产演员表 | 在线观看理论 | 日韩av进入 | 香蕉在线观看 | 国产一级高清视频 | 欧美日韩国产精品一区 | 国产免费久久av | 一区二区三区四区久久 | 亚洲一区二区天堂 | 久久激情网站 | 国产精品久久久久婷婷 | 日韩一区二区三区免费电影 | 欧美极品少妇xxxxⅹ欧美极品少妇xxxx亚洲精品 | 亚洲精品在线观看网站 | 国产生活一级片 | 久久久久久久久久免费视频 | 亚洲午夜久久久久久久久电影网 | 亚洲精品国精品久久99热一 | 日韩黄色软件 | www.99在线观看 | 成人午夜电影久久影院 | 亚洲成人高清在线 | 免费高清在线观看电视网站 | 日日综合网 | 久久国产精品99久久人人澡 | 国产精品高 | 欧美日韩电影在线播放 | 久久综合色播五月 | 91毛片视频 | 五月激情丁香图片 | 99在线热播精品免费99热 | 日本中文字幕网 | 欧美激情视频一区 | 中午字幕在线 | 日韩中文字幕在线 | 日韩欧在线 | 久久久亚洲精品 | 中文字幕黄色av | 日韩1级片| 欧美日韩国产二区三区 | 国产69久久精品成人看 | 久久综合欧美精品亚洲一区 | 97操碰| 亚洲午夜av久久乱码 | 狠狠gao | 日本爱爱片 | 久久久污| 久久久国产高清 | 日韩毛片一区 | 国产很黄很色的视频 | 国产成人精品一区二区在线观看 | 日韩性xxx| 国产亚洲观看 | 国产一级在线观看视频 | 免费福利片2019潦草影视午夜 | 日韩电影精品一区 | 久久国产精品99久久久久久丝袜 | 久久精品福利 | 超碰在线天天 | 中文字幕在线一区二区三区 | 国产精品mv | 99一区二区三区 | 人人艹视频 | 丝袜+亚洲+另类+欧美+变态 | 色综久久 | 天天操天天操天天操天天 | 欧美日韩裸体免费视频 | 国产91在线 | 美洲 | 草久久精品 | 中文字幕在线久一本久 | 日韩网站视频 | 国产精品一区二区av影院萌芽 | 亚洲国产日韩在线 | 人人干人人草 | 国产精品福利一区 | 麻豆va一区二区三区久久浪 | 99高清视频有精品视频 | www国产亚洲精品久久网站 | 国产亚洲精品女人久久久久久 | 国产伦精品一区二区三区在线 | 欧美激情在线网站 | 手机av在线网站 | 久久伊人91| 色婷婷国产精品一区在线观看 | 国产一区二区在线精品 | 久久99国产精品久久99 | 国产午夜不卡 | 国产成人精品综合久久久 | 在线观看www视频 | 国产高清av在线播放 | 一区二区三区视频网站 | 99久久精品免费看国产一区二区三区 | 国产日韩视频在线观看 | 二区三区毛片 | 国产精品中文字幕在线观看 | 国产91国语对白在线 | 婷婷丁香色 | 午夜精品久久久久久久久久久 | 久久久久综合 | 黄色app网站在线观看 | 国产在线精品福利 | 久久久久国产精品免费网站 | 在线观看mv的中文字幕网站 | 亚洲黄色成人 | 久久精品99精品国产香蕉 | 亚洲人成综合 | 久久久久伦理电影 | 日韩成人av在线 | 中文字幕在线影院 | 久久久免费少妇 | 久久蜜桃av | 日韩毛片精品 | 成年人免费看 | 99久久9| 在线观看免费av网 | 99久久精品免费看国产一区二区三区 | 国产成人777777 | 国产精品久久久久久一区二区三区 | 久久高清免费视频 | 久久久久久网站 | 蜜桃传媒一区二区 | 色综合天天综合 | 最新av在线免费观看 | 午夜美女福利直播 | 国产成人三级在线 | 国产又粗又硬又爽视频 | 色婷婷综合久久久中文字幕 | 一区二区三区动漫 | 911免费视频 | 国产成人av免费在线观看 | 视频精品一区二区三区 | 激情久久综合 | 中文字幕在线播放一区 | av片在线观看免费 | 麻豆视频大全 | 国产精品av免费在线观看 | 成年人免费av网站 | 免费视频一区二区 | 在线观看精品国产 | 国产xvideos免费视频播放 | 在线97 | 国产糖心vlog在线观看 | 成年人免费av| av在线看片 | 人人干网 | 国产高清视频网 | 欧美性性网| 香蕉影视app | 五月天婷婷在线观看视频 | 免费福利在线视频 | 一级黄色大片在线观看 | 亚洲香蕉在线观看 | 精品婷婷 | 色五月色开心色婷婷色丁香 | 日韩精品在线视频 | 亚洲久草网 | 玖玖爱国产在线 | 日韩中文字幕a | 成人动漫一区二区三区 | 六月婷婷久香在线视频 | 97色综合| 久久久久97国产 | 久久久精品日本 | 色综合久久88色综合天天免费 | 在线一区电影 | 九九精品视频在线看 | 亚洲精品国产精品国自 | 在线观看日韩专区 | 丁香激情综合久久伊人久久 | 亚洲成人频道 | 91x色 | 亚洲精品男女 | 亚洲国产成人高清精品 | 国产手机在线播放 | a视频在线看 | 92国产精品久久久久首页 | 色婷婷免费视频 | 精品91久久久久 | 亚洲黄色一级大片 | 免费a一级 | 久久精品国产亚洲精品 | 视频在线一区 | 免费在线观看国产精品 | 在线观看免费观看在线91 | 天天色天天爱天天射综合 | 在线观看你懂的网站 | 精品视频123区在线观看 | 91看片看淫黄大片 | 中文字幕久久亚洲 | 中文字幕久久亚洲 | 在线不卡视频 | 欧美韩日在线 | 免费av网址在线观看 | 色噜噜日韩精品一区二区三区视频 | 福利视频导航网址 | 又湿又紧又大又爽a视频国产 | 欧美 日韩 视频 | 黄色在线免费观看网址 | 2021国产精品| 天天操夜夜做 | 麻豆国产露脸在线观看 | 久草在线手机观看 | 91看片黄色 | 伊人中文在线 | 久久黄色网页 | 91亚洲免费 | 国产精品自产拍在线观看蜜 | 午夜精品一区二区三区可下载 | 国产又黄又爽无遮挡 | 国产一区二区视频在线 | www.狠狠操.com | 色香蕉视频 | 精品国产一区二区三区久久影院 | 久久毛片高清国产 | 久久久久久久久电影 | 日韩欧美国产激情在线播放 | 91欧美视频网站 | 99亚洲天堂 | 日韩免费网站 | 日韩美视频 | 久久久久久久久免费视频 | 亚洲在线色 | 91九色国产| 亚洲dvd | 国产三级国产精品国产专区50 | 国产视频1 | 国内外激情视频 | 特级a老妇做爰全过程 | 久久精品99久久 | 九九在线免费视频 | 日韩大片免费在线观看 | 欧美日韩国产区 | 91av视频在线播放 | 国产黄色在线网站 | 天堂av在线网站 | 在线 视频 亚洲 | 天天综合色天天综合 | 日韩av一区二区三区在线观看 | 青草视频在线 | 五月婷婷综| 日韩欧美成 | 激情开心站 | 日本中文乱码卡一卡二新区 | 精品福利视频在线 | 99久久99 | 美女久久久久久 | av在观看 | 日韩精品2区 | 81精品国产乱码久久久久久 | 免费一级特黄毛大片 | 免费黄在线看 | 欧美激情第八页 | aaa亚洲精品一二三区 | 亚洲激情免费 | 五月天中文字幕 | www.久久免费视频 | 国产精品女同一区二区三区久久夜 | 久久草在线精品 | 精品久久久亚洲 | 亚洲综合色视频在线观看 | 日韩av线观看| 欧美三级免费 | 免费三级av | 免费亚洲精品 | 日三级在线 | 中文字幕免费国产精品 | 亚洲国产美女精品久久久久∴ | 久久大视频 | 在线观看精品黄av片免费 | 九九热视频在线免费观看 | 亚洲精品高清视频 | 久久情爱 | 国产高清精品在线观看 | 毛片网站在线观看 | 午夜视频在线观看一区二区 | 日韩在线网址 | 色偷偷88888欧美精品久久 | www.91av在线 | 久久99亚洲网美利坚合众国 | 91九色精品女同系列 | 日韩丝袜视频 | 国产美女久久久 | 久草视频免费在线观看 | 在线国产一区二区三区 | 国产精品igao视频网网址 | 最近中文字幕完整高清 | 黄色一级在线免费观看 | 欧美日韩成人 | 综合久久影院 | 99精品热视频 | 欧美精品一区二区免费 | 久久久久久久久影院 | 久久人人艹 | 超碰在线观看97 | 欧美一区在线看 | av黄色在线播放 | 久久精品亚洲一区二区三区观看模式 | 国产精品理论片在线播放 | 亚洲最新视频在线 | 成人免费视频播放 | 国产黄色av | 丁香激情视频 | 日韩黄色一级电影 | 免费黄色一区 | 日韩成人精品一区二区 | 亚洲国产中文字幕在线观看 | 美女久久久久 | 日韩在线视频免费播放 | 黄色大片入口 | 91在线影院 | 婷婷国产在线 | 一区二区视频免费在线观看 | 国产精品久久久久免费观看 | 国产999在线 | 久久精品网站免费观看 | 中文字幕 国产精品 | 精品资源在线 | 黄色av一区二区 | 国产精品一区二区久久精品爱微奶 | 久久天天躁狠狠躁夜夜不卡公司 | 精品av网站 | 日韩av一区二区在线播放 | 亚洲成人网在线 | 日本在线中文 | 九九九视频在线 | 精品视频在线免费观看 | 亚洲人片在线观看 | 91精品爽啪蜜夜国产在线播放 | 国产亚洲欧美日韩高清 | 日本黄色免费播放 | 久久久久免费精品视频 | 欧美aaa大片 | 久久一区二区三区四区 | 成人黄色电影在线 | 麻豆国产视频 | 狠狠久久伊人 | 狠狠狠操| 天天色天天上天天操 | 天天操天天操天天操天天操天天操 | 久久婷婷精品 | 免费大片黄在线 | 国产黄色大片免费看 | 亚洲精品在线二区 | 五月婷婷国产 | 成片人卡1卡2卡3手机免费看 | 国产精品一级在线 | 色婷婷视频在线观看 | 色网站视频 | 久久成人久久 | 国产xx在线 | www.一区二区三区 | 在线观看一二三区 | 免费a视频 | 毛片.com| 亚洲精品国偷拍自产在线观看蜜桃 | 久久综合五月天婷婷伊人 | 欧美一区二区在线 | 在线播放国产一区二区三区 | 亚洲永久精品一区 | 天堂av在线免费观看 | 97超碰资源站 | 久久毛片视频 | 99精品黄色 | 亚洲精品毛片一级91精品 | 粉嫩av一区二区三区四区在线观看 | 在线看中文字幕 | 综合色婷婷 | 亚洲一区精品人人爽人人躁 | 亚洲一区日韩在线 | 成人黄色大片 | 欧美a性 | 97福利在线观看 | 精品久久国产精品 | 天天做日日爱夜夜爽 | 婷婷在线不卡 | 国产成人一区二区三区久久精品 | 亚洲精品国产精品国自产观看 | 91av电影在线观看 | 国产裸体视频网站 | 欧美日韩一区二区三区免费视频 | 成人a在线 | 中文在线 | av天天草| 精品一区二区在线免费观看 | 天天操人人干 | 成人试看120秒 | 亚洲男男gaygayxxxgv| 日韩在线免费电影 | 中文字幕乱码日本亚洲一区二区 | 91自拍91| se视频网址| 毛片久久久 | 日本三级吹潮在线 | av三区在线 | 久久午夜色播影院免费高清 | 日日草夜夜操 | 国产精品久久久久四虎 | 国产 在线 日韩 | 丁香婷婷激情啪啪 | 日韩精品免费在线视频 | 国产91成人在在线播放 | 97视频免费播放 | 日韩电影在线一区二区 | 国产一在线精品一区在线观看 | 黄色大片免费网站 | 在线免费精品视频 | 国产特黄色片 | 97超碰人人澡人人 | 在线岛国av | 国产福利精品一区二区 | 超碰在线观看99 | 色诱亚洲精品久久久久久 | 欧美精品一区二区在线播放 | 男女啪啪视屏 | 亚洲精品美女视频 | 激情五月看片 | 亚洲国产精品久久久久婷婷884 | 久久69精品久久久久久久电影好 | 精品久久久久国产免费第一页 | 成人av在线播放网站 | 午夜精品在线看 | 国产成人精品久久久久 | 99产精品成人啪免费网站 | 91你懂的| 国产午夜精品福利视频 | 精品国产自 | 91福利区一区二区三区 | 麻豆视频在线 | 91精品亚洲影视在线观看 | 免费观看特级毛片 | 亚洲三级网站 | 国产精品久久久久免费观看 | 手机av在线网站 | 在线播放第一页 | 日本精品在线看 | 黄色免费网战 | 欧洲av不卡 | 国产成人精品电影久久久 | 欧美 亚洲 另类 激情 另类 | 97视频精品 | aaa毛片视频 | 最近中文字幕在线中文高清版 | 日韩在线播放av | 久草在线手机观看 | 日本精油按摩3 | 天天干天天色2020 | 国内少妇自拍视频一区 | 91免费观看 | 一级精品视频在线观看宜春院 | 在线免费看黄网站 | av亚洲产国偷v产偷v自拍小说 | 国产精品99久久久久人中文网介绍 | 亚洲国产中文字幕在线观看 | 日韩电影精品 | 99热 精品在线 | 亚洲精品一区二区三区四区高清 | 久久久久久久久国产 | 精品国产大片 | 久久久免费毛片 | 天天拍天天色 | 992tv人人网tv亚洲精品 | 夜色成人av | 日韩在线免费电影 | 一级国产视频 | 亚洲少妇天堂 | 欧美日韩精品影院 | 天天av天天 | 日韩videos| 五月婷社区 | 国产成人一区二区三区久久精品 | 日韩高清一区 | 高潮久久久久久 | 国产香蕉97碰碰碰视频在线观看 | 最新国产在线观看 | 久久精品一二三区 | www色| 国产成人av电影在线 | 97国产电影 | 亚洲色视频 | 天天干天天干天天色 | 欧美日韩视频 | 免费看黄的| 欧美日韩色婷婷 | 黄色av网站在线观看免费 | www.com操| 精品久久久久久国产 | 国产亚洲精品电影 | www.日日日.com | 婷婷丁香av | av成人免费网站 | 久久精品视频在线观看免费 | 国产精品成人aaaaa网站 | 美女久久 | 成人h视频在线播放 | 97在线免费 | 在线播放一区二区三区 | 黄色毛片一级 | 国产精品精品国产婷婷这里av | 一区三区在线欧 | 激情大尺度视频 | 成人网页在线免费观看 | av网站大全免费 | 久久大视频 | 国产日产亚洲精华av | 成人一级免费视频 | 亚洲 欧洲av | 在线电影日韩 | 中文字幕在线观看网 | 超碰97在线资源站 | 91久久久久久久一区二区 | 日日爽夜夜爽 | 国产高清在线观看av | 午夜久久影视 | 亚洲欧洲久久久 | 日韩久久久久久久久久久久 | 成人小视频在线观看免费 | 天天色图| 玖玖视频网| 一区二区三区精品在线视频 | 日韩 精品 一区 国产 麻豆 | 超碰人人国产 | 欧美va天堂va视频va在线 | 婷婷射五月 | 精品福利在线视频 | 欧美日韩精品影院 | 尤物一区二区三区 | 国产精品视频免费观看 | 婷婷 中文字幕 | 久章操 | 久久理论影院 | 欧美另类人妖 | 最新精品视频在线 | 五月婷婷中文 | 色欧美综合 | 日韩欧美在线高清 | 免费高清影视 | 人人干干人人 | 亚洲精品国产区 | 又爽又黄又无遮挡网站动态图 | 午夜三级影院 | 国产91精品在线播放 | a在线观看免费视频 | 娇妻呻吟一区二区三区 | 久久国产精品一区二区三区 | 亚洲电影av在线 | 日本深夜福利视频 | 中文字幕无吗 | av不卡免费看| 久久69av| 在线综合 亚洲 欧美在线视频 | 国产伦理久久精品久久久久_ | 婷婷免费在线视频 | 91福利社在线观看 |