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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从零开始的ZYNQ学习(基于矿卡EBAZ4205)(二)

發布時間:2023/12/16 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从零开始的ZYNQ学习(基于矿卡EBAZ4205)(二) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前情提要:從零開始的ZYNQ學習(基于礦卡EBAZ4205)(一)

文章目錄

  • 0. 聲明
  • 6. 基于Petalinux的鏡像構建、驗證和燒錄
    • 6.1 Petalinux介紹
    • 6.2 在Ubuntu中安裝Petalinux
      • (1)安裝包下載
      • (2)參考手冊下載
      • (3)虛擬機環境搭建
      • (4)安裝依賴包
      • (5)安裝Petalinux
      • (6)安裝驗證
    • 6.3 網口、TF卡的適配和Vivado工程修改
      • (1)電路修改
      • (2)修改ZYNQ7的IP核配置
      • (3)修改塊設計
      • (4)綜合、實現和比特流生成
    • 6.4 Petalinux工程構建過程
      • (1)準備工作
      • (2)創建Petalinux工程
      • (3)配置Petalinux工程
        • ·1)從hdf文件初始化工程
        • ·2)修改Petalinux工程配置
        • ·3)修改Uboot配置(可選)
      • (4)編譯Petalinux工程
      • (5)生成啟動鏡像
      • (6)使用TF卡啟動方式驗證鏡像
    • 6.5 將啟動鏡像固化到NAND Flash
      • (1)生成啟動鏡像
      • (2)使用Xilinx SDK燒錄鏡像
      • (3)擴展:通過串口燒錄image.ub
    • 6.6 相關知識
      • (1)從image.ub文件到FIT
      • (2)RAMDisk Filesystem
  • 參考資料
    • 1. 相關信息
    • 2. 參考描述

0. 聲明

本文由長春理工大學電子信息工程學院C&I實驗室所有,已獲得原作者發布授權。轉載請注明出處。

本文編寫過程中參考了很多前輩的記錄,在此表示感謝,已將所有參考項列于文末。

當前版本R1.0(預發布)。

作者聯系方式:E-mail: WindForest@yeah.net

6. 基于Petalinux的鏡像構建、驗證和燒錄

網上有大佬前輩從源碼構建了礦卡可用的鏡像,參見zynq[2] Linux from scratch,實在是太詳細了,因此不再重復(實際上是我太懶不想去做)。本章嘗試使用官方提供的Petalinux工具生成啟動鏡像,使用TF卡啟動方式驗證鏡像的正確性,并將其燒錄到NAND Flash中。

本章涉及到的外設有:DDR、UART1、TF、NET0。

6.1 Petalinux介紹

PetaLinux 是一種嵌入式Linux軟件開發套件(SDK),主要用于XILINX FPGA基片上系統設計。由于其采用Buildroot構建系統,因此可以在簡單的配置下,一步生成所需要的bootloader、kernel、rootfs鏡像以及應用軟件庫。

Petalinux由Xilinx官方提供,對于不同版本的Vivado,Petalinux也有對應的版本,安裝時需注意選擇和區分。

6.2 在Ubuntu中安裝Petalinux

這里必須得意一下,安裝流程我曾經在CSDN上寫過,慶幸于使用的同樣是Markdown語言,我可以輕松將那些文字和圖片拷貝過來,哈哈。

對于使用流程來說,大部分人可能還是比較喜歡Windows環境,而且因為本機安裝的是Windows,而計算機硬件的資源又有限,所以在虛擬機中運行XILINX所有的開發工具不太方便。在參考了大部分開發環境搭建方式后,個人覺得“在Windows下使用Vivado生成板級描述文件,傳到虛擬機中使用Petalinux生成燒錄鏡像,再使用Windows下的SDK進行燒寫”的開發方式是在本地計算機資源有限的情況下比較容易被接受的。

安裝準備包括安裝文件和參考文件。

(1)安裝包下載

安裝文件的名稱是petalinux-v2017.4-final-installer.run,官方網站可以下載,頁面鏈接:

XILINX下載頁-petalinux存檔

安裝包選擇其中MD5值為9b406fa5cc732da52944b3ce6718e19d的7.86GB的單文件。

(2)參考手冊下載

UG1144是非常實用的手冊,該用戶指南中介紹了Petalinux的一切官方讓你知道的。上圖中的右側,點擊 Petalinux工具文檔 項,在頁面中找到 《UG1144 - PetaLinux 工具文檔:參考指南 (中文版) (v2019.1)》 文檔下載之(當然你照著這篇文章安裝的話可以不用參考此指南)。

可能你想問,我安裝的是2017.4版本的Petalinux,為什么這里要下載的是2019.1版本的呢?因為截至目前,官網中只有這個版本的UG1144是中文的,讀起來比較順暢,而且與2017.4版本在大體描述上相差不大(…也許吧)。

(3)虛擬機環境搭建

搭建過程網上有的是說明,在此只說一下硬盤空間分配的問題,我把我目前安裝完之后的情況告訴你,在Ubuntu采用最小安裝、移除無關組件、安裝必要組件、安裝vmware-tool、保存安裝文件和安裝完之后的文件的情況下,硬盤占用小于30GB。

注意,這個版本的Petalinux推薦使用Ubuntu16.04.6LTS進行安裝,因為其它版本的Ubuntu對它的支持可能不是很好,會出問題,比如在Ubuntu18.04中,安裝后執行settings.sh后會出現下圖所示錯誤、以及使用petalinux-build命令編譯的時候會出現“需要支持en_US.UTF8”等問題,而在Ubuntu16.04中是正常的。比如:

(4)安裝依賴包

《UG1144 - PetaLinux 工具文檔:參考指南 (中文版) (v2019.1)》文檔對Ubuntu下依賴包的配置描述不完全適用于2017.4版本的Petalinux。Petalinux2017.4的依賴包如下,直接復制粘貼運行就行了(其中有可能安裝時會重復,但是無關緊要),安裝時注意保持網絡暢通:

sudo apt install make net-tools libncurses-dev libncurses-dev zlib1g:i386 flex libssl-dev bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tftpd unzip texinfo zlib1g-dev gcc-multilib build-essential gzip pax screen gawk tofrodos xvfb python git libsdl1.2-dev libglib2.0-dev

(5)安裝Petalinux

首先要注意此程序不能在root權限下安裝,比如運行前加“sudo”是不行的,它會提示并且運行不下去。

在運行時如果不指定安裝的目錄,會安裝到安裝文件所在目錄下,而且還不會自動新建文件夾,如果安裝到opt之類的目錄,記得把目錄權限改成rwxr-xr-x(755),不然等上十幾分鐘之后安裝不了心情是很崩潰的。

./petalinux-v2017.4-final-installer.run /安裝位置

安裝流程大致為:對安裝包校驗->解壓文件->確認3個協議->(安裝目錄提示——如果沒有指明目錄的話)->完成安裝。

(6)安裝驗證

首先進入到安裝目錄下執行:

source settings.sh

而后在終端中輸入 petalinux- 并按兩次TAB鍵,如果出現命令補全提示,那么就是OK了。

如果這臺虛擬機只用來開發Petalinux,那么可以把source語句寫入到.bashrc文件中,這樣在每次啟動終端的時候都會自動加載了。

即在~/.bashrc文件最后增加如下語句:

source /petalinux安裝路徑/settings.sh

那這些petalinux命令是用來干嘛的呢?參考手冊中13頁中的說明如下:


至此,Petalinux2017.4在Ubuntu16.04下的環境配置完成。

6.3 網口、TF卡的適配和Vivado工程修改

(1)電路修改

在使用Etron的DRAM版本的礦卡上,建議斷開R1485電阻并焊接C377、C380電容(22pF)和Y3晶振(25.000MHz)為IP101GA提供時鐘信號,否則在U-Boot和Linux下網絡功能將不可用。具體說明參見4.6-(1)小節。

注:為方便本章后續調試,建議修改R2584和R2577電阻接法,使用開關選擇啟動引腳MIO[5]為高電平或低電平,進而實現TF卡啟動方式和NAND啟動方式的切換。

若采用上圖焊接方法,確認無誤后切記固定,防止外力導致電阻焊盤脫落!

(2)修改ZYNQ7的IP核配置

Vivado工程的修改緊接著5.4-(2)小節進行,TF卡可用于內核鏡像的快速驗證,網口則是Linux開發的必備接口。

在ZYNQ配置界面“MIO Configuration”中,繼續勾選“ENET 0”和“SD 0”:

其中,ENET 0的IO選擇EMIO,因為在PS_MIO[16:27]中,MIO[24]和MIO[25]已經被UART1占用了。SD 0的IO保持默認,其CD、WP和Power均不需選擇,因為礦卡上未做引出。

注:因為SD 0僅引出了數據/時鐘引腳,故不支持插拔檢測。例如從NAND啟動后再插入TF卡,不會自動生成設備節點;在TF卡空閑狀態下帶電拔出后重新插入不一定會影響后續讀寫等。

解釋:在ZYNQ中,EMIO是指從PL端引出的PS端口,與此相對的MIO是在PS內部集成,功能固定的具有復用功能的引腳。

在“Clock Configuration”中,設置ENET 0為百兆速度:

接著,把之前裸機調試時精簡掉的選項增加上(注:暫不清楚是否有必要):

  • 選擇“Clock Configuration”->“PL Fabric Clocks”中“FCLK_CLK0”項;
  • 選擇“PS-PL Configuration”->“AXI Non Secure Enablement”->“GP Master AXI Interface”中“M AXI GP0 interface”項。
  • 最后,增加一個TTC模塊,Linux需要它:

    (3)修改塊設計

    因為礦卡的網口通過EMIO引出,因此需手動分配這些引腳。另外,由于IP101GA是千兆網卡,查看原理圖可知,其TXD和RXD共有8個,而在百兆網卡使用的MII接口中,TXD和RXD僅有4個,故需顯式地增加兩個Concat模塊將8位轉為4位,否則多余的引腳引出但未分配IO,最后生成比特流文件時會報錯

    注:在ZYNQ的Block Design中,Concat IP可用于將分離的線拼接成單一線輸出,相當于Verilog描述的拼接操作。其輸入端口數和位寬均可配置。在其它參考設計中,有使用Slice模塊代替下圖中xlconcat_1模塊的,其最終實現效果與下圖所示一致。

    增加IP核的操作與增加ZYNQ7的IP核操作相同。

    最后將這些器件按照下圖所示連接起來:

    注:可通過右鍵端口->“Make External”做端口引出;通過右鍵端口->“Disconnect Pin”取消引出。

    (4)綜合、實現和比特流生成

    點擊左側邊欄“Run Synthesis(運行綜合)”,綜合過程中會彈出關于數據位寬的警告,此處忽略:


    而后點擊“Open Synthesized Design(打開綜合設計)”對網口的引腳進行分配,在彈出的框中點“Define Target”


    點擊以生成引腳約束文件:


    點擊“Create File”,并輸入文件名:



    在“Source(資源)”視窗中打開該引腳約束文件:


    并在編輯器中輸入下列約束:

    set_property IOSTANDARD LVCMOS33 [get_ports ENET0_GMII_RX_CLK_0] set_property IOSTANDARD LVCMOS33 [get_ports ENET0_GMII_TX_CLK_0] set_property IOSTANDARD LVCMOS33 [get_ports {ENET0_GMII_TX_EN_0[0]}] set_property IOSTANDARD LVCMOS33 [get_ports {enet0_gmii_txd[0]}] set_property IOSTANDARD LVCMOS33 [get_ports {enet0_gmii_txd[1]}] set_property IOSTANDARD LVCMOS33 [get_ports {enet0_gmii_txd[2]}] set_property IOSTANDARD LVCMOS33 [get_ports {enet0_gmii_txd[3]}] set_property IOSTANDARD LVCMOS33 [get_ports ENET0_GMII_RX_DV_0] set_property IOSTANDARD LVCMOS33 [get_ports MDIO_ETHERNET_0_0_mdc] set_property IOSTANDARD LVCMOS33 [get_ports MDIO_ETHERNET_0_0_mdio_io] set_property IOSTANDARD LVCMOS33 [get_ports {enet0_gmii_rxd[0]}] set_property IOSTANDARD LVCMOS33 [get_ports {enet0_gmii_rxd[1]}] set_property IOSTANDARD LVCMOS33 [get_ports {enet0_gmii_rxd[2]}] set_property IOSTANDARD LVCMOS33 [get_ports {enet0_gmii_rxd[3]}]set_property PACKAGE_PIN U14 [get_ports ENET0_GMII_RX_CLK_0] set_property PACKAGE_PIN U15 [get_ports ENET0_GMII_TX_CLK_0] set_property PACKAGE_PIN W19 [get_ports {ENET0_GMII_TX_EN_0[0]}] set_property PACKAGE_PIN W18 [get_ports {enet0_gmii_txd[0]}] set_property PACKAGE_PIN Y18 [get_ports {enet0_gmii_txd[1]}] set_property PACKAGE_PIN V18 [get_ports {enet0_gmii_txd[2]}] set_property PACKAGE_PIN Y19 [get_ports {enet0_gmii_txd[3]}] set_property PACKAGE_PIN W16 [get_ports ENET0_GMII_RX_DV_0] set_property PACKAGE_PIN W15 [get_ports MDIO_ETHERNET_0_0_mdc] set_property PACKAGE_PIN Y14 [get_ports MDIO_ETHERNET_0_0_mdio_io] set_property PACKAGE_PIN Y16 [get_ports {enet0_gmii_rxd[0]}] set_property PACKAGE_PIN V16 [get_ports {enet0_gmii_rxd[1]}] set_property PACKAGE_PIN V17 [get_ports {enet0_gmii_rxd[2]}] set_property PACKAGE_PIN Y17 [get_ports {enet0_gmii_rxd[3]}]

    此處EMIO的設計流程大致為:將設計圖中的端口名與PL端擴展IO建立對應關系,并對這些擴展IO的基本屬性和狀態進行設置即可。

    Ctrl+S保存,此時效果如下:


    直接點擊左側邊欄的“Generate Bitstream(生成比特流)”,一鍵完成綜合、實現和比特流生成。

    注:這里點擊“Generate Bitstream”只是為了方便,Petalinux構建過程中將基于hdf文件自動生成FSBL和需要的比特流文件。

    6.4 Petalinux工程構建過程

    (1)準備工作

    接續上一步,Petalinux需要Vivado生成的硬件描述文件(*.hdf)作為生成鏡像的配置依據,且可自動生成FSBL和比特流文件。因此SDK中只需要建立前文中適配礦卡的下載用FSBL即可。

    (2)創建Petalinux工程

    恭喜你走到這一步!接下來我們轉到Ubuntu平臺,開始激動人心的Petalinux工程!

    注意:這里假設你已經安裝好了Petalinux2017.4環境。

    注意:請確保每一次打開Terminal運行“petalinux-xxx”命令之前,總是執行了“source settings.sh”操作。每次打開Terminal都需重新進行該操作。

    說明:本文示例目錄在/home/wind/下(我的用戶名為wind),后續示例基于此路徑。

    在當前用戶目錄下打開Terminal,執行:

    petalinux-create --type project --template zynq --name EBAZ4205-linux

    即可在當前目錄下建立一個名為EBAZ4205-linux、面向ZYNQ的空白Petalinux工程。

    (3)配置Petalinux工程

    ·1)從hdf文件初始化工程

    將Vivado中導出的硬件描述文件(*.hdf)拷貝到Petalinux工程目錄下,并在工程目錄執行:

    petalinux-config --get-hw-description=./

    即可完成工程的初始化。

    ·2)修改Petalinux工程配置

    在工程目錄下執行:

    petalinux-config

    進入Petalinux的配置菜單,并做以下修改:

    注:在“Linux Components Selection”項中我們可以看到其中默認已經勾選了自動生成FSBL。

  • 修改“Subsystem AUTO Hardware Settings(子系統自動硬件設置)”->“Advance bootable images storage Settings(高級啟動鏡像存儲設置)”->“boot image settings(啟動鏡像設置)”->“image storage media(鏡像存儲介質)”,如果需要從NAND Flash啟動,請選擇“primary flash(Flash優先)”,如果需要從TF卡啟動,請選擇“primary sd(SD優先)”;

    注:在此修改過程中可注意到,啟動鏡像名(默認為BOOT.BIN)在此處修改。

  • 修改“Subsystem AUTO Hardware Settings(子系統自動硬件設置)”->“Advance bootable images storage Settings(高級啟動鏡像存儲設置)”->“kernel image settings(內核鏡像設置)”->“image storage media(鏡像存儲介質)”,如果需要從NAND Flash啟動,請選擇“primary flash(Flash優先)”,如果需要從TF卡啟動,請選擇“primary sd(SD優先)”;

    注:在此修改過程中可注意到,Uboot載入的鏡像名(默認為image.ub)在此處修改。

  • 修改“u-boot Configuration”->“netboot offset”項的值為0x08000000;

    注:該值為Uboot將鏡像加載到的內存地址,默認為0x10000000,即256MiB,然而礦卡采用的DDR3是單片的256MiB顆粒,如果保持默認值,會在啟動時出現以下提示:

    ...... Loading Kernel Image ... OK Loading Ramdisk to 07a8a000, end 07fff726 ... OK ERROR: image is not a fdt - must RESET the board to recover. FDT creation failed! hanging...### ERROR ### Please RESET the board ###
  • 建議修改“Image Packaging Configuration(鏡像打包配置)”,取消選擇“Copy final images to tftpboot(拷貝最終鏡像到tftp啟動目錄)”,這可以消除掉編譯結束后的惱人提示,讓結果展示的更加完美一點>v<;

  • 建議修改“Image Packaging Configuration(鏡像打包配置)”->“Root filesystem type(根文件系統類型)”為“INITRAMFS”,這將使本章進行的更加順利,并降低學習難度。

    注:不要因為從TF卡啟動而將此項選擇為“SD Card”,否則默認將從TF卡的第二分區啟動根文件系統,而本章還沒進行到“制作、構建和移植根文件系統”那一步。

  • 而后保存并退出,等待命令完成。

    ·3)修改Uboot配置(可選)

    在工程目錄下執行:

    petalinux-config -c u-boot

    進入Uboot的配置菜單,并可做以下修改:

  • 建議修改“delay in seconds before automatically booting”為2(秒),減少系統啟動時間,從而提高調試效率;

  • 建議使能“Networking support”項,以便于網絡調試;

  • 建議在“Command line interface”->“Network commands”中,增加對tftp相關命令和ping命令的支持,以便于網絡調試;

  • 可以修改“Command line interface”->“Shell prompt”為自己喜歡的字符。

  • 而后保存并退出,等待命令完成。

    (4)編譯Petalinux工程

    在工程目錄下執行:

    petalinux-build

    有記錄如此說:二次修改后可使用:

    petalinux-build -x mrproper -f

    清除編譯緩存以防止出現修改不生效的情況。

    注意:此命令會重置整個工程目錄,petalinux-config需要重新讀取hdf文件,但u-boot等的配置文件不會被重置。

    注:作者在首次編譯通過后,使用該命令清除緩存,再次編譯出現了不通過的情況,不知何故。

    編譯可能需要幾十分鐘(取決于計算機配置),編譯完成后,在./images/linux/下存放著生成的鏡像文件。

    (5)生成啟動鏡像

    在工程目錄下執行:

    cd ./images/linux/ petalinux-package --boot --format BIN --fsbl zynq_fsbl.elf --fpga ZYNQ7010_wrapper.bit --u-boot

    即可在當前目錄下生成BOOT.BIN和image.ub兩個文件,其中BOOT.BIN=FSBL+bitstream+SSBL(U-Boot);image.ub=dtb+kernel+rootfs。

    注:如果./images/linux/下已經存在BOOT.BIN和image.ub文件,則需在上述命令末尾增加“–force”以執行覆蓋,否則會出現失敗提示。

    (6)使用TF卡啟動方式驗證鏡像

    取一張TF卡,格式化為FAT或FAT32,將上一步生成的BOOT.BIN和image.ub保存其中。插入到礦卡的TF卡槽中,并設置礦卡為SD啟動方式。連接調試串口到計算機并在終端中打開,礦卡上電即可看到輸出。默認的用戶名和密碼均為“root”。

    注:需從TF卡啟動時,請確保Petalinux工程配置中“image storage media(鏡像存儲介質)”設置為“primary sd(SD優先)”,修改后需重新編譯并生成鏡像。詳見6.4-(3)-2)章節。

    6.5 將啟動鏡像固化到NAND Flash

    (1)生成啟動鏡像

    首先,為了使Petalinux構建出從NAND啟動的鏡像,需確保Petalinux工程配置中“image storage media(鏡像存儲介質)”設置為“primary flash(Flash優先)”。詳見6.4-(3)-2)章節。

    注:如果將TF卡啟動鏡像的BOOT.BIN下載到NAND,其Uboot依然會嘗試從MMC加載,縱使SD卡存在且存有有效鏡像,這也不是我們希望的。

    TF和NAND啟動方式最大的不同在于,前者使用的啟動命令:

    fatload mmc SD器件號[0,1] 內存載入地址 鏡像名稱

    是基于文件名的,因為文件系統的存在,文件的存儲位置顯得不那么重要。但在NAND啟動方式中,Uboot使用的:

    nand read 內存載入地址 存儲起始地址 數據長度

    則是基于地址的拷貝。因此,我們需要對Uboot分區做一些調整。

    在這里我們不妨貼出兩種啟動方式下的Uboot啟動指令,在Uboot命令行執行:

    printenv

    即可打印當前Uboot環境設置,它們有點多,因此我只摘抄了默認啟動指令部分。

    SD啟動方式的啟動指令如下:

    bootcmd=run default_bootcmd default_bootcmd=run cp_kernel2ram && bootm ${netstart} cp_kernel2ram=mmcinfo && fatload mmc 0 0x8000000 image.ub netstart=0x8000000

    NAND啟動方式的啟動指令如下:

    bootcmd=run default_bootcmd default_bootcmd=run cp_kernel2ram && bootm ${netstart} cp_kernel2ram=nand read ${netstart} ${kernelstart} ${kernelsize} netstart=0x08000000 kernelstart=0x300000 kernelsize=0xa00000

    這里的具體設置與后文匹配。

    在工程目錄下執行:

    petalinux-config

    進入Petalinux工程配置,修改“Subsystem AUTO Hardware Settings(子系統自動硬件設置)”->“Flash Settings(Flash設置)”為下圖所示的參數:

    注:這些參數取決于生成的鏡像的大小,上面的設置留出了一部分余量。

    而后執行編譯和打包,重新生成BOOT.BIN和image.ub文件,具體過程如前文所述。

    (2)使用Xilinx SDK燒錄鏡像

    打開Xilinx SDK的下載界面,連接好礦卡的JTAG、串口線和供電。首先燒錄BOOT.BIN,注意BOOT.BIN的偏移為0:


    而后再下載image.ub,將該文件重命名為*.bin,因為SDK的下載器只認.mcs和.bin類型的文件。另外別忘了設置下載偏移:


    確保礦卡為NAND啟動方式。連接調試串口到計算機并在終端中打開,礦卡重新上電即可看到輸出。默認的用戶名和密碼均為“root”。

    注:Uboot啟動時打印:

    *** Warning - bad CRC, using default environment

    表示從bootenv空間(前文分配的0x2E0000~0x300000)讀取的數據的CRC校驗不正確,這是因為首次下載時該區域中沒有有效內容,只需在Uboot命令行中執行一次:

    saveenv

    保存啟動環境配置到指定分區即可消除該警告。

    (3)擴展:通過串口燒錄image.ub

    在已經有Uboot的情況下,可使用Uboot本身提供的讀寫命令燒錄鏡像,這里用此方式嘗試一下吧!這里使用的終端軟件為SecureCRT V8.5.3。

    在Uboot命令行執行:

    mw.b 0x800000 ff 0xA00000 #將內存中8MiB~18MiB的空間全部填充0xFF loadb 0x800000 #使用Kermit傳輸,向0x800000地址寫入二進制數據

    而后選擇“傳輸”->“發送Kermit(K)…”,找到image.ub文件并發送(下圖中發送的是之前改名之后的image.bin):


    發送有點慢,它的速度還是很穩定的,所以剩余時間也基本是它顯示的時長,趁著它下載,起來走動走動休息一下吧!

    完成后依次執行以下命令將內存中的鏡像拷貝到NAND中:

    nand erase 0x300000 0xA00000 #擦除NAND Flash中3MiB~13MiB的空間 nand write 0x800000 0x300000 0xA00000 #將內存中的數據寫入到NAND Flash

    整個過程的打印如下:


    而后重新上電即可。

    6.6 相關知識

    (1)從image.ub文件到FIT

    如果你有過嵌入式開發經驗,一定見過許多種不同的啟動鏡像結構,例如海思的uboot+kernel(with dtb)+rootfs的形式、全志的u-boot spl+u-boot+dtb+kernel+rootfs的形式等等,更別說從網絡啟動以及眾多的文件系統類型。但是Petalinux中使用的image.ub是什么?

    還記得Petalinux的編譯過程嗎?我覺得大部分人都會在第一次編譯的時候興奮地盯著屏幕看完這一整個過程的。你會發現petalinux-build命令的執行過程中依然包含了對u-boot和kernel的單獨編譯,在工程目錄下的./images/linux/下生成的文件也證實了這一點。另外,在配置Petalinux的時候,有指定啟動鏡像名稱的設置項。好吧,不賣關子了,餡兒都快漏出來了,image.ub是由mkimage命令生成的鏡像,是一種打包文件。(Linux中“打包”的想法真是很常見呢!)

    在Terminal中運行如下命令:

    mkimage -l image.ub

    可查看某次生成的image.ub的文件組織結構如下:

    FIT description: U-Boot fitImage for plnx_arm kernel Created: Sat Nov 7 14:30:08 2020Image 0 (kernel@0)Description: Linux KernelCreated: Sat Nov 7 14:30:08 2020Type: Kernel ImageCompression: uncompressedData Size: 3745696 Bytes = 3657.91 kB = 3.57 MBArchitecture: ARMOS: LinuxLoad Address: 0x00008000Entry Point: 0x00008000Hash algo: sha1Hash value: bacb21fcc869a66f89282c1445a1bf233792c66fImage 1 (fdt@0)Description: Flattened Device Tree blobCreated: Sat Nov 7 14:30:08 2020Type: Flat Device TreeCompression: uncompressedData Size: 13641 Bytes = 13.32 kB = 0.01 MBArchitecture: ARMHash algo: sha1Hash value: 4df8b976010f034a10f63072b61051413c6ed443Image 2 (ramdisk@0)Description: ramdiskCreated: Sat Nov 7 14:30:08 2020Type: RAMDisk ImageCompression: uncompressedData Size: 5723987 Bytes = 5589.83 kB = 5.46 MBArchitecture: ARMOS: LinuxLoad Address: unavailableEntry Point: unavailableHash algo: sha1Hash value: 726dbb5b6575cdf601e6ad4973507afcd1f68b79Default Configuration: 'conf@1'Configuration 0 (conf@1)Description: Boot Linux kernel with FDT blob + ramdiskKernel: kernel@0Init Ramdisk: ramdisk@0FDT: fdt@0Configuration 1 (conf@2)Description: Boot Linux kernel with FDT blobKernel: kernel@0FDT: fdt@0

    從上述信息中,我們可以發現,在所生成的image.ub中,打包了Kernel鏡像、FDT設備樹、一個RAMDisk鏡像和兩份配置,一份啟動到RAMDisk,另一份則僅啟動到Kernel。

    在早期的Uboot鏡像格式中,Kernel(±dtb)被包裝成uImage的形式,即在二進制文件前增加一個文件頭,用以說明壓縮格式、鏡像類型等。隨著FDT(Flattened Device Tree,扁平設備樹)在ARM中逐漸普及,為了達成“同一內核”的目標,Uboot設計了一種全新的鏡像格式,即FIT uImage,FIT即Flattened Image Tree(扁平鏡像樹)。FIT格式可以在一個文件中包含多個鏡像和配置,這樣同一份鏡像文件就可以適配多個平臺。

    FIT鏡像的使用依賴其中保存的配置項,使用非默認配置項可使用如下Uboot命令(其中#和@必須有,配置號參照上面的文件結構):

    bootm 鏡像所在內存地址#conf@配置號

    具體的內容可參見這篇博文:u-boot FIT image介紹

    (2)RAMDisk Filesystem

    我們在配置Petalinux的時候選擇的根文件系統類型為“INITRAMFS”,還記得嗎?這種文件系統在啟動時加載到內存,因為其運行基于內存,因此讀寫速度很快,但它是一個只讀文件系統。因此想要將礦卡作為開發板,則最好的方法還是使用可讀寫的文件系統管理存儲器。

    當然我不打算在這章嘗試使用NAND常用的yaffs2或者TF卡常用的ext4,那是后面章節要做的事情,我只是想稍微了解一下RAMFS,并記錄下來而已。

    “Initramfs”背后似乎隱藏著一個龐大的故事個長長的時間線。在了解Initramfs之前,我們要首先了解Initrd(Init RAM Disk,初始化RAM磁盤)。Initrd是一個在系統引導過程中掛載的、以磁盤結構存儲在內存中的臨時根文件系統,用來支持兩階段的引導過程。Initrd中包含必要的工具和腳本,用于在將控制權交給根文件系統上的init應用程序之前掛載所需的文件系統。Linux內核在此根磁盤上觸發安裝腳本(通常稱為 linuxrc,但該名稱不是必需的),此腳本的工作是準備系統、切換到真正的根文件系統,然后調用init。

    雖然在一些情況下使用Initrd是必要的,但是它有一些缺點:

    • Initrd是一個完整的塊設備,他需要整個文件系統的開銷,它有一個固定的大小。選擇的Initrd太小了,所需要的腳本不適用;過大的話則會浪費內存。
    • 因為它是一個真實的、 靜態的設備,它消耗 Linux 內核中的緩存內存和易于使用的文件(如分頁),這使得 Initrd 有更大的內存消耗。

    Initramfs 的誕生就是為了解決這些問題。Initramfs基于tmpfs,使用cpio進行歸檔,通過gzip進行壓縮,它不是一個單獨的塊設備,所以沒有緩存和額外的開銷。

    更多的介紹來源已放在文末參考資料列表中。

    參考資料

    本文編寫過程中參考的所有資料均列在下方。本文若與任何列表之外的文章、博客、視頻、教程等描述相同或相似則純屬巧合。

    另在此處再次對以下資料的作者們表示感謝。

    1. 相關信息

  • ZYNQ Block Design中總線位寬的截取與合并操作
  • ZYNQ跑系統 系列(二) petalinux方式移植linux_CSDN
  • zynq的uboot模式下TFTP更新bit、內核等文件_CSDN
  • ZYNQ petalinux系統啟動文件固化到FLASH
  • Petalinux制作linux系統(續)image.ub文件來龍去脈_CSDN
  • u-boot FIT image介紹
  • ZYNQ SoC嵌入式開發(一):配置SD卡作為根文件系統_CSDN
  • PetaLinux啟動過程解析
  • [Bootloader]uboot的環境變量保存在哪?
  • U-Boot移植–環境變量保存位置
  • nandflash啟動設置環境變量導致不能啟動
  • NAND上 u-boot 保存環境變量
  • linux中的rootfs/initrd/ramfs/initramfs
  • Initramfs/指南
  • initramfs
  • 2. 參考描述

  • zynq7010之EBAZ4205入門改造_CSDN
  • “關于EBAZ4205的PL部分的時鐘的說明_OSCHINA”
  • zynq7010之EBAZ4205之helloworld_CSDN
  • 100塊學會ZYNQ-礦板Nand Flash燒寫和啟動_CSDN
  • zynq 制作鏡像_CSDN
  • EBAZ4205 ZYNQ 7Z010 裸機程序NAND固化 JTAG調試方法_簡書
  • 【ZYNQ】EBAZ4205 ZYNQ 7010礦板改造開發板_CSDN
  • ZYNQ 從NAND flash啟動應用筆記_CSDN
  • zynq[1] 礦板helloworld
  • zynq[2] Linux from scratch
  • zynq[3] bootstrap Ubuntu
  • EBAZ4205礦板petalinux開發 LINUX工程_CSDN
  • ————2020-11-17 @燕衛博————

    總結

    以上是生活随笔為你收集整理的从零开始的ZYNQ学习(基于矿卡EBAZ4205)(二)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    性色av香蕉一区二区 | 97视频在线观看网址 | 久久综合色影院 | 91精品天码美女少妇 | 亚洲影院色 | 婷婷国产在线 | 国产精品成人一区二区 | 97色在线视频 | 中文字幕一区二区三区乱码不卡 | 97成人在线视频 | 永久av免费在线观看 | 国产香蕉视频 | 日本成人中文字幕在线观看 | 免费在线黄 | 91精品在线麻豆 | 久久综合加勒比 | 精品一区欧美 | 欧美精品网站 | 亚洲欧美日韩精品久久奇米一区 | 国产高清视频在线 | 久久不色 | 亚洲成a人片在线观看网站口工 | 午夜色婷婷 | 热久精品| 国产精品一区二区三区四 | 国产成人av网址 | 国产免费久久 | 99久热在线精品视频观看 | 日韩精品中文字幕在线不卡尤物 | 四虎视频 | 伊人久久五月天 | 国产午夜精品视频 | 免费黄色小网站 | 欧美xxxx性xxxxx高清 | 久久久国产精品久久久 | 999毛片| 天天操天天拍 | 免费三级骚 | 黄色软件在线看 | 免费看黄网站在线 | 久久久久久国产精品久久 | 欧美日韩国产在线一区 | 91手机在线看片 | 国产一区二区三区黄 | av色图天堂网 | 久久精选视频 | 日本久久成人中文字幕电影 | 免费av在线网站 | 久草在线视频在线观看 | 国产一区二区三区在线 | 免费福利视频导航 | 国产96精品| 国内精品久久久久久 | 国产亚洲精品久久久久久无几年桃 | 夜夜爱av | 在线99视频 | 五月天天色| 最新国产精品久久精品 | 午夜精品成人一区二区三区 | 久久综合狠狠综合 | 国产 在线观看 | 久久久久成人精品亚洲国产 | 91av在| 3d黄动漫免费看 | 香蕉网在线播放 | 99综合电影在线视频 | 最近中文字幕完整视频高清1 | 久久精品com| 欧美久草视频 | 九九九九热精品免费视频点播观看 | 午夜av剧场 | 九色91福利| www.天天射| 欧美性另类 | 亚洲天堂网站视频 | 天天色草 | 亚洲人在线视频 | 日韩在线免费高清视频 | 精品视频专区 | 天天综合婷婷 | 亚洲黄污 | 欧美视屏一区二区 | 欧美精品久久久久a | 友田真希av| 日韩在线观看你懂的 | 高清免费在线视频 | 91成品视频 | 国产视频在线一区二区 | 国产一区91 | 国产精品原创 | 久久成人精品 | 在线亚州 | 在线免费观看av网站 | 中文字幕不卡在线88 | 日韩一区二区三区高清免费看看 | 亚洲91视频 | av电影一区二区三区 | 亚洲激情综合网 | 欧美精品三级在线观看 | 精品久久久久亚洲 | a在线观看国产 | 91亚洲精品久久久久图片蜜桃 | 日韩毛片在线播放 | 色网站在线 | 日本三级中文字幕在线观看 | 在线免费高清 | 久久艹综合 | 在线观看视频福利 | 欧美黄色特级片 | 97人人超 | 久久免费福利 | 色视频网站免费观看 | 亚洲国产97在线精品一区 | 青青视频一区 | 日本最新一区二区三区 | 免费观看性生活大片3 | 五月婷婷视频在线 | 99热精品国产 | av3级在线 | 国内免费的中文字幕 | 色婷婷亚洲精品 | 午夜精品福利在线 | 久久超级碰| 久久免视频 | 99视频网址| 你操综合| 中文字幕国产一区二区 | 国产韩国日本高清视频 | 精品视频免费在线 | 国产精品九色 | 亚洲另类视频在线观看 | 成人宗合网 | 日日夜夜亚洲 | 人人爽人人爽 | 黄a在线看 | 国产午夜不卡 | 亚洲影音先锋 | av不卡网站 | 久久夜av | 日日综合 | 亚洲黄色网络 | 一区二区三区中文字幕在线观看 | 精品国产一区二 | 91久久国产综合精品女同国语 | 久久婷五月 | 久久首页 | 92国产精品久久久久首页 | 国内精品在线一区 | 国产一级一片免费播放放 | 揉bbb玩bbb少妇bbb | 国产精品免费观看国产网曝瓜 | 久久精品超碰 | 免费h精品视频在线播放 | 91热爆在线观看 | 99久热在线精品 | 久久综合色综合88 | 天堂av在线免费观看 | 99久久精品国产观看 | 日韩乱码中文字幕 | 久久国色夜色精品国产 | 国产二区精品 | 性色av一区二区三区在线观看 | 色搞搞| 精品国产免费观看 | 超级碰碰碰碰 | 日韩免费在线视频 | 国产中文字幕精品 | 国产精品欧美精品 | 中文字幕免费不卡视频 | 国产a级片免费观看 | 超碰在线观看av.com | 国产精品久久久久久高潮 | 色婷婷伊人 | 少妇bbw揉bbb欧美 | 国产自在线 | 最近高清中文字幕在线国语5 | 婷色在线 | 超碰在线公开免费 | 久久在线视频在线 | 午夜视频免费在线观看 | 欧美大片www | 91麻豆视频网站 | 日本黄色a级大片 | 人人看人人草 | 日韩在线理论 | 国产一区二区精品久久 | 91伊人久久大香线蕉蜜芽人口 | 人人爽爽人人 | 免费网站在线观看成人 | 婷婷丁香激情五月 | 久久精品久久精品 | av不卡在线看 | 天天玩天天干天天操 | 国产在线精品一区二区 | 在线观看视频黄色 | 91精选 | 久久国产高清视频 | 久久视屏网 | 人人爽久久久噜噜噜电影 | 最新国产在线 | 亚洲精品ww | 亚州精品视频 | 日韩视频免费 | 在线观看视频你懂得 | 99久久综合狠狠综合久久 | 天天干天天干天天射 | 99视频一区 | 天天插天天干天天操 | 深夜免费福利视频 | 狠狠色狠狠色综合日日92 | 国产美女视频免费观看的网站 | 久久久久麻豆v国产 | 久久婷综合| 国产成人三级一区二区在线观看一 | 91手机电影 | 91麻豆精品国产自产在线 | 天天操网址| 97超碰成人在线 | 亚洲在线视频免费 | 成年人看片 | 久久久视频在线 | 99婷婷 | 成人欧美在线 | 天天透天天插 | 最新色视频 | 久久久久久久看片 | 欧美一级久久久 | 久综合网 | 中文字幕日韩免费视频 | 久久国内精品 | 在线观看国产91 | 亚洲国产影院av久久久久 | 午夜视频在线观看网站 | 精品国产乱码 | 久草热视频 | 人人干干人人 | 午夜久久久久久久久久久 | 在线观看av小说 | 国产精品1区2区3区 久久免费视频7 | 97国产精品久久 | 伊人电影天堂 | 欧美一区,二区 | 狠狠色丁香久久婷婷综合五月 | 一区二区三区高清不卡 | 蜜臀一区二区三区精品免费视频 | 国产玖玖精品视频 | 最新动作电影 | 黄色1级毛片 | 丰满少妇对白在线偷拍 | 可以免费观看的av片 | 探花视频免费在线观看 | 精品在线观看一区二区三区 | 四虎国产精品成人免费影视 | 97成人精品视频在线播放 | 黄色免费观看视频 | 亚洲黄色小说网 | 亚洲精品黄色片 | 久久久久综合精品福利啪啪 | 国产成人精品一区二区三区在线观看 | 国产在线观看国语版免费 | 中文字幕中文字幕在线中文字幕三区 | 亚洲专区在线视频 | 亚洲人成在| 四虎在线观看 | 激情图片久久 | 国产午夜影院 | 中文字幕亚洲欧美日韩 | 91视频在线看| 国产99一区二区 | 国产精品三级视频 | 人人添人人 | 亚洲永久精品视频 | 国产香蕉视频在线观看 | 超碰在线人人爱 | 日本精品视频网站 | 精品国产电影一区 | 成年人网站免费观看 | 在线观看不卡视频 | 日本午夜在线观看 | 久草观看视频 | 日韩av网址在线 | 制服丝袜亚洲 | 日韩a在线| 免费精品在线视频 | 三级免费黄 | www.久艹| 黄色软件在线看 | 亚洲黄色在线观看 | 中文字幕在线看视频国产中文版 | 国产精品va在线观看入 | 成人免费在线看片 | 日日操日日插 | 欧美激情精品久久久久久 | 国内精品视频一区二区三区八戒 | 久久久精品免费观看 | 激情开心 | 久久久久免费 | 99久久精品无码一区二区毛片 | 五月天婷亚洲天综合网鲁鲁鲁 | 91中文在线视频 | 正在播放 久久 | 久久国产成人午夜av影院潦草 | 97国产在线播放 | 夜夜操天天 | 久久99偷拍视频 | 黄色精品久久 | 久久99爱视频 | 网站在线观看日韩 | 亚洲午夜精品一区二区三区电影院 | 99热在线看| 国产成人精品一区二区三区 | 欧美精品视 | 国产精品 亚洲精品 | 欧美日韩免费一区 | 97免费视频在线播放 | 欧美性天天 | 日韩乱色精品一区二区 | 久久国产综合视频 | 欧美一区二视频在线免费观看 | 欧美国产日韩一区二区 | 精品国产一区二区三区久久久蜜臀 | 狠狠躁夜夜av | 日本久久综合视频 | 久久综合99 | 久久久亚洲成人 | 久久综合中文字幕 | 正在播放国产一区二区 | 午夜电影一区 | 久久不卡国产精品一区二区 | 中文字幕在线观看网站 | 色综合久久88 | 在线观看视频在线 | 久久欧洲视频 | 五月激情av| 色欧美日韩 | 91毛片在线观看 | 欧美日韩色婷婷 | 日韩在线视频国产 | 成人 国产 在线 | 狠狠色丁香九九婷婷综合五月 | 国产视频二 | 又黄又爽的视频在线观看网站 | 蜜桃传媒一区二区 | 国产一区二区三区网站 | 精品国产乱码久久久久 | 日韩性色 | 免费一级日韩欧美性大片 | 成人啪啪18免费游戏链接 | 91成熟丰满女人少妇 | 亚洲国产成人在线播放 | 久久精品国产v日韩v亚洲 | 综合色婷婷 | 四虎成人精品永久免费av九九 | 久久久免费精品 | 免费在线中文字幕 | 99久久精品国产亚洲 | 中文字幕高清 | 三级大片网站 | 中文字幕在线国产精品 | 91精品国产乱码在线观看 | 久久久久久久久久久网 | 欧美激情精品久久久久久免费印度 | 欧美人交a欧美精品 | 亚洲精品在线观看av | 婷婷久月 | 久久精品久久久久久久 | 麻豆av电影 | japanesexxxhd奶水| 99re8这里有精品热视频免费 | 麻豆视频免费版 | 最新精品视频在线 | 超级碰碰碰碰 | 五月天亚洲激情 | 中文字幕国内精品 | 亚洲精品在线电影 | 天天操天天谢 | 欧美国产日韩一区二区三区 | 国产黄色免费 | 日本在线视频一区二区三区 | 伊人久操 | 天天操天天干天天干 | av丝袜在线 | 9999精品| 在线日韩精品视频 | 天天曰天天射 | 国产v欧美 | 国产高清一级 | 91成品视频| 国产又粗又猛又黄又爽的视频 | 久久久av电影 | 黄色影院在线免费观看 | 国产精品门事件 | 欧美一区二区三区在线 | 久久视精品 | 超碰在线公开免费 | 在线观看一区 | 亚洲一区在线看 | 亚洲精品18日本一区app | www.69xx | 男女视频久久久 | 91亚洲精品国偷拍 | 免费一区在线 | 午夜av在线免费 | 久久久受www免费人成 | 黄色在线观看网站 | 亚洲精品乱码久久 | 国产精品理论视频 | 天天综合导航 | 999久久久 | 日韩欧美视频二区 | 成人国产精品 | av再线观看 | 五月天激情综合 | 久久草网站 | 久久成人国产精品 | 日产乱码一二三区别免费 | 婷婷丁香狠狠爱 | 中文字幕日本特黄aa毛片 | 日韩 国产 | 久久久久夜色 | 欧美日韩在线看 | 最近中文字幕视频网 | 麻豆成人精品 | 欧美精品v国产精品v日韩精品 | 日日夜夜av| 在线免费视频a | 国产 日韩 在线 亚洲 字幕 中文 | 精品v亚洲v欧美v高清v | 国产黄色视 | 国产视频黄 | 国内久久久久久 | 免费看三级黄色片 | 久久久精品亚洲 | 亚洲狠狠婷婷综合久久久 | 狠狠色狠狠综合久久 | 99精品视频网 | 狠狠色丁香久久婷婷综合丁香 | 天堂av在线免费观看 | 国产三级精品三级在线观看 | 在线 成人| 日韩精品不卡在线观看 | 日日操网 | 亚洲乱码在线观看 | 欧美一级视频免费看 | 天天爱天天射天天干天天 | 国产精品99久久久久久大便 | 国产精品毛片一区视频播 | 久久久久久久久久久久亚洲 | 免费在线观看不卡av | 免费日韩在线 | 黄色网在线免费观看 | 粉嫩高清一区二区三区 | 日韩网站视频 | 日韩免费在线视频观看 | 国产精品3 | 久久老司机精品视频 | 国产无套一区二区三区久久 | 国内一级片在线观看 | 国产精品自在线拍国产 | 欧美成人手机版 | 在线观看亚洲国产精品 | 一区二区视频免费在线观看 | 国产精品久久久久久电影 | 婷婷色在线 | 国产免费叼嘿网站免费 | 国产v亚洲v| 在线电影av | 日本精品视频免费 | 亚洲天天看 | 黄色a一级片 | 天天操天天干天天 | 最新超碰在线 | 一级一片免费视频 | av在线收看| 亚洲极色 | 91麻豆福利 | 免费看黄在线网站 | 久久天堂影院 | 狠狠干夜夜操天天爽 | 国产婷婷 | 国产成人一二三 | 国产小视频你懂的在线 | 九九免费观看视频 | 日韩精品免费在线观看视频 | 国产香蕉97碰碰碰视频在线观看 | 亚洲高清在线观看视频 | 亚州国产视频 | japanese黑人亚洲人4k | 欧美人操人 | 超碰免费公开 | 久久久久国产精品免费免费搜索 | 欧美成人久久 | 亚洲视频久久久久 | 97在线公开视频 | 永久免费av在线播放 | 麻豆高清免费国产一区 | 国产精品美女视频网站 | 玖草影院| 成年人在线播放视频 | 日韩中文字幕在线观看 | 久草在线在线 | 久久精品影片 | 国产精品一区在线观看 | av手机版| 亚洲精品在线观看av | 日韩网站免费观看 | 99久久久久久久久 | 亚洲国产资源 | 中文在线a在线 | 在线观看成人一级片 | 麻豆影视网站 | 91精品久久久久久久91蜜桃 | 欧美大片在线观看一区 | 国产一性一爱一乱一交 | 婷婷丁香花 | 欧美一区影院 | 国产精品18久久久久vr手机版特色 | www操操操| 激情五月婷婷激情 | 久久影视精品 | 日韩欧美在线综合网 | 国产精品美女久久 | 欧美疯狂性受xxxxx另类 | 久久久久久久久网站 | 亚洲精品午夜久久久久久久 | 日韩美女免费线视频 | 激情久久网 | 人人超碰免费 | 超碰在线免费福利 | 欧美性久久久久久 | 亚洲一区二区黄色 | 亚洲国产精品激情在线观看 | 国产精品视频线看 | 色视频在线观看免费 | 中文字幕高清av | 久精品在线 | 亚洲区视频在线 | 亚洲成av人片一区二区梦乃 | 精品极品在线 | 黄色aa久久 | 成人三级视频 | 夜夜骑天天操 | 中文视频在线播放 | 国产在线观看 | 欧美日韩首页 | 日韩欧美国产精品 | 欧美一区二区三区特黄 | 成人va在线观看 | 1024手机基地在线观看 | 亚洲精品久久激情国产片 | 99久热在线精品 | 麻豆国产精品永久免费视频 | 粉嫩一二三区 | 午夜91视频 | 99久久精品久久久久久清纯 | 99色精品视频 | 色在线网 | 亚洲激情校园春色 | 精品视频一区在线 | 欧美日韩高清在线观看 | 麻豆精品在线视频 | 91人人干| 久久国产精品久久久久 | 永久免费毛片在线观看 | 日日干天天爽 | 成人一级视频在线观看 | 日韩一级精品 | 日韩亚洲在线观看 | 日本不卡视频 | 天天爱天天操天天爽 | 精品免费99久久 | 亚洲一区二区黄色 | 成人免费视频播放 | 久热久草在线 | 亚洲天天在线 | 日韩欧美在线一区二区 | 热re99久久精品国产66热 | 国产裸体无遮挡 | 久久综合网色—综合色88 | 久久99在线视频 | 日韩在线免费观看视频 | 在线日韩一区 | 黄色www免费 | 99成人免费视频 | 国产成人一区二区三区电影 | 日韩精品久久久久久久电影99爱 | 亚洲精品久久久久久久蜜桃 | 精品久久美女 | 91视频 - x99av | 久久久久久亚洲精品 | 黄色大片免费播放 | 日韩精品久久久久久 | 国产中文欧美日韩在线 | 久久精品免费电影 | 中文字幕在线观看免费高清完整版 | 日韩中文字幕一区 | 久久高清视频免费 | 中文字幕亚洲五码 | 精品国产91亚洲一区二区三区www | 欧美激情精品久久久久 | 久久精品视频一 | 久久久久99精品成人片三人毛片 | 日本精品视频一区 | 国产成人精品一区二区三区在线观看 | 国产一区二区三区网站 | 亚洲一区精品二人人爽久久 | 国产99色 | av免费在线看网站 | 精品亚洲视频在线观看 | 日韩艹 | 亚洲视频电影在线 | 国产精品亚洲成人 | 久久久综合精品 | 中文字幕二区在线观看 | 日韩精品免费在线 | 欧美一区二视频在线免费观看 | 久久视频网 | 99热最新地址 | 日韩精品一区二区三区免费观看 | 国产一区福利 | 69国产在线观看 | 国产精品毛片一区二区在线看 | 久久精品9 | 婷婷日| 久99久视频 | 国产美女视频免费 | 夜夜高潮夜夜爽国产伦精品 | 中文字幕在线观看免费高清完整版 | 二区三区av | 成人黄色大片在线观看 | 日韩av免费在线电影 | 国产剧情一区 | 九九热在线视频免费观看 | 天天se天天cao天天干 | 欧美孕交vivoestv另类 | 国产精品一区在线播放 | 久久久久激情 | 精品久久一 | 久久久久伦理电影 | 国产麻豆剧果冻传媒视频播放量 | 一区二区三区在线观看中文字幕 | 久久久99久久 | 午夜精品中文字幕 | 国产精品成人一区二区三区吃奶 | 97在线观看免费 | 日韩精品一区二区在线 | 欧美日本高清视频 | 在线超碰av| 91伊人久久大香线蕉蜜芽人口 | 五月天亚洲综合小说网 | 视频一区二区国产 | 国产视频精选在线 | 国产原创在线 | 国产精品乱码久久久久久1区2区 | av激情五月| 欧美日韩国产在线精品 | 九九九热精品免费视频观看网站 | a√天堂资源 | 最近中文字幕高清字幕免费mv | 成人综合免费 | 久爱综合| 黄色av电影在线观看 | 亚洲视频久久久久 | 国产日产欧美在线观看 | 成人高清av在线 | 国产va饥渴难耐女保洁员在线观看 | 日日夜夜免费精品 | 国产一区免费观看 | 久久婷婷久久 | 久久综合中文字幕 | 亚洲春色成人 | 久草视频播放 | 日韩国产欧美视频 | 日韩黄色大片在线观看 | 免费福利片2019潦草影视午夜 | 免费av小说 | 国产精品扒开做爽爽的视频 | 欧美性精品 | 午夜国产福利在线 | 亚洲日韩中文字幕在线播放 | 麻豆影视在线免费观看 | 亚洲年轻女教师毛茸茸 | 国产精品日韩久久久久 | 亚洲精品网站在线 | 成人久久18免费网站麻豆 | 久久久久久高潮国产精品视 | 国产一二区精品 | 欧美日bb| av在线免费播放 | 日本在线观看中文字幕无线观看 | 欧美日韩中文国产一区发布 | 综合久久综合久久 | 亚洲欧美成aⅴ人在线观看 四虎在线观看 | 国产精品成人aaaaa网站 | 91在线入口 | 亚洲国产日韩在线 | 福利区在线观看 | 热九九精品 | 五月婷亚洲 | av解说在线 | 超碰在线91 | 黄色一级大片在线免费看产 | 午夜精品视频一区二区三区在线看 | 九九一级片| 日韩电影在线视频 | 久久久免费毛片 | 在线观看a视频 | 国产资源精品在线观看 | 亚洲成人黄色在线观看 | 国产第一页在线播放 | 色欧美88888久久久久久影院 | 69欧美视频| 国产一区高清在线观看 | 免费a一级 | 999毛片 | 亚洲婷婷丁香 | 天天干天天干天天射 | 在线观看 国产 | 日女人电影 | 亚洲综合视频在线播放 | 色天天 | 韩国一区视频 | 婷婷激情在线 | 亚洲理论电影 | 欧美9999| 91在线影院| 丁香视频在线观看 | 久久久久久综合网天天 | 国产精品高潮呻吟久久久久 | 日本韩国精品一区二区在线观看 | 国产成人免费在线 | 超级碰碰免费视频 | 亚洲精品国产精品国自 | 一本一本久久a久久精品综合小说 | 久久久久久久久免费视频 | 播五月综合 | 69xxxx欧美 | 免费看一级一片 | 91中文字幕在线 | av电影在线不卡 | 成人va在线观看 | 久久99国产精品视频 | 久草国产在线 | 特级a老妇做爰全过程 | 国产成人精品国内自产拍免费看 | www.五月激情.com | 国产不卡av在线 | 国产视频在线观看一区 | 99国产在线视频 | 久草在线高清 | www.狠狠色| 日韩大片在线免费观看 | 在线涩涩 | 91丨九色丨高潮丰满 | 久久综合影院 | 五月婷婷,六月丁香 | 在线免费色视频 | 久久综合电影 | 九九免费在线观看视频 | 国产一区欧美二区 | 九九热免费在线观看 | 51久久夜色精品国产麻豆 | 精品久久久久久久久中文字幕 | 亚洲精品在线观看免费 | 一区二区三区在线不卡 | 免费日韩 精品中文字幕视频在线 | www.亚洲在线 | 九九影视理伦片 | 欧美日韩有码 | 亚洲日本欧美在线 | 美女在线免费观看视频 | 欧美另类交在线观看 | 一区二区三区在线观看免费 | 成人在线视频一区 | 精品国产乱码久久久久久天美 | 国产综合精品一区二区三区 | 日韩在线免费视频 | 久久国产精品一区二区 | 久久成人亚洲欧美电影 | 天天干一干 | 粉嫩av一区二区三区入口 | 色干干 | 爱色婷婷 | 久久久久久蜜av免费网站 | 日本中文在线观看 | 天天干一干 | 国产在线不卡一区 | 国产成a人亚洲精v品在线观看 | 亚洲专区路线二 | 91色在线观看 | 9幺看片| 国产精品毛片久久久久久久 | 亚洲欧洲国产精品 | 亚洲美女精品视频 | 国产伦理久久精品久久久久_ | 亚洲精品资源 | 91精品国产网站 | 国产一线二线三线性视频 | 国产黄大片在线观看 | 美女视频久久黄 | 国产中文字幕第一页 | 成人xxxx | 日韩免费一级a毛片在线播放一级 | 国产中文在线播放 | 日韩免费三级 | 国产做aⅴ在线视频播放 | 亚洲高清视频一区二区三区 | 九九热只有精品 | 草久久久 | 中文字幕九九 | 色综合久久久久 | 日韩在线色 | 国产麻豆果冻传媒在线观看 | 国产日韩中文在线 | 91热爆视频 | 日韩有码专区 | 午夜精品久久久久久久99热影院 | 国产精品电影一区 | 日韩免费电影网站 | 天干啦夜天干天干在线线 | 日本中文字幕在线 | 国产精品亚洲片夜色在线 | 久久伊99综合婷婷久久伊 | 婷婷综合伊人 | 日韩专区 在线 | 国产精品视频你懂的 | 99久久婷婷国产一区二区三区 | 久热这里有精品 | 久久精品一二区 | 99视频久| 亚洲欧洲精品一区二区 | 免费成人黄色片 | 欧美日韩国产综合一区二区 | 看片一区二区三区 | 久久伊人操 | 欧美日韩二区三区 | 久久精品免费观看 | 久久久久久久久影院 | 国产精品视频不卡 | 免费看日韩片 | 欧美日本不卡 | 天天操天天爱天天干 | 国产精品一区二区久久国产 | 在线免费av电影 | 欧美三级在线播放 | 丁香久久五月 | 在线视频欧美亚洲 | 久精品视频在线 | 免费看一级一片 | 久久综合狠狠综合 | 手机av电影在线 | 欧美 日韩 性 | 福利网在线 | 亚洲精品一区二区三区高潮 | 亚洲日本成人网 | 13日本xxxxxⅹxxx20 | 玖玖精品在线 | 精品国产一区二 | 国产精品一区在线观看你懂的 | 麻豆成人精品视频 | 久久福利在线 | av免费在线观看网站 | 91日本在线播放 | 黄色精品网站 | 日本性视频| 九九三级毛片 | 久久涩涩网站 | 在线观看岛国av | 夜夜摸夜夜爽 | 国产99久久久国产精品成人免费 | 日韩欧美精品免费 | 精品a在线 | 毛片美女网站 | 欧美日韩性视频 | 久久亚洲福利 | 美女在线免费视频 | 亚洲 欧美 成人 | 99在线视频免费观看 | 免费久久久久久久 | 午夜精品一区二区三区免费视频 | 欧美日韩一级久久久久久免费看 | 成人中文字幕av | 五月婷社区 | 欧美伦理一区 | 91色国产在线| 国产日韩欧美视频在线观看 | 黄色av成人在线 | 国产视频精品视频 | 久产久精国产品 | 国产高清 不卡 | 精品国产免费人成在线观看 | 午夜国产福利在线观看 | 日韩精品中文字幕久久臀 | 久久精品欧美一区 | 亚洲精品乱码久久久久v最新版 | 91在线观 | 黄在线免费观看 | www色com| 91日韩在线专区 | 最新中文字幕在线观看视频 | 成人av在线一区二区 | 天堂中文在线播放 | 国产一区免费在线观看 | av高清一区二区三区 | 香蕉网站在线观看 | 99在线免费观看视频 | 不卡的av在线 | 免费观看不卡av | 黄色在线网站噜噜噜 | 欧美日韩在线视频一区二区 | 免费看的黄色录像 | 97伊人网| a在线一区 | 探花视频在线观看免费版 | 99精品在线播放 | 久久精品一区二区三区国产主播 | 婷婷av网| 亚洲欧美一区二区三区孕妇写真 | 久久国产精品网站 | 国产不卡在线观看 | 国产精品资源在线观看 | 国产亚洲在 | 色香蕉网 | 国产裸体bbb视频 | 一区二区三区 中文字幕 | 五月丁香 | 国产成a人亚洲精v品在线观看 | 午夜精品久久久久久久99水蜜桃 | 欧美日韩国产综合网 | 亚洲成人中文在线 | 字幕网资源站中文字幕 | 中文字幕在线视频免费播放 | 黄色精品国产 | 精品一区二区精品 | 亚洲香蕉视频 | 午夜精品一区二区三区视频免费看 | 久久精品久久99 | 99视频在线精品 | 在线观看涩涩 | 午夜久久久久久久久久久 | 日韩久久精品一区二区三区下载 | 在线观看成人网 | 国产91国语对白在线 | 免费男女网站 | 在线午夜av | 97网站| 午夜av日韩 | 国产日产高清dvd碟片 | 首页国产精品 | 911国产精品 | 亚洲精品中文在线资源 | av三级av| 国产高清不卡 | 久久久久一区二区三区四区 | 国产精品igao视频网入口 | 久久久精品网站 | 超碰免费成人 | 91丨九色丨国产丨porny精品 | 亚洲欧洲国产日韩精品 | 激情五月婷婷综合网 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 一本色道久久精品 | 色在线最新| 最近能播放的中文字幕 | 777久久久| 丁香六月天 | 亚洲色图激情文学 | 久久亚洲影院 | 亚洲日韩欧美视频 | 黄色成人av| 欧美国产视频在线 | 久久久久久网址 | 精品女同一区二区三区在线观看 | 欧美日韩高清一区二区 国产亚洲免费看 | 久久9999久久免费精品国产 | 久久综合九色综合欧美就去吻 | 久久精品99久久久久久 | 色综合久久88色综合天天人守婷 | 69视频永久免费观看 | 五月天中文在线 | 日韩高清久久 | 在线视频免费观看 | 在线视频日韩欧美 | 在线成人一区二区 | 97成人在线观看视频 | 99热精品国产一区二区在线观看 | 黄色aaaaa| 久草在在线视频 | 天天av在线播放 | 久久视频网址 | 国产精品久一 | 久久99久| 91中文在线 | 狠狠色丁香婷婷综合橹88 | 中文字幕资源站 | 欧美精品你懂的 | 亚洲电影第一页av | 992tv人人草|