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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

系统烧写方法(MfgTool烧写工具)

發布時間:2023/12/10 windows 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 系统烧写方法(MfgTool烧写工具) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

  • MfgTool 工具簡介
  • MfgTool 工作原理簡介
    • USB接線
    • 系統燒寫原理
  • 燒寫NXP 官方系統
  • 燒寫自制的系統
    • 系統燒寫
    • 網絡開機自啟動設置
  • 改造我們自己的燒寫工具
    • 改造MfgTool
    • 燒寫測試
    • 解決Linux 內核啟動失敗
  • 總結

前面我們已經移植好了uboot 和linux kernle,制作好了根文件系統。但是我們移植都是通過網絡來測試的,在實際的產品開發中肯定不可能通過網絡來運行,否則沒網的時候產品豈不是就歇菜了。因此我們需要將uboot、linux kernel、.dtb(設備樹)和rootfs這四個文件燒寫到板子上的EMMC、NAND 或QSPI Flash 等其他存儲設備上,這樣不管有沒有網絡我們的產品都可以正常運行。本章我們就來學習一下如何使用NXP 官方提供的MfgTool 工具通過USB OTG 口來燒寫系統。

MfgTool 工具簡介

MfgTool 工具是NXP 提供的專門用于給I.MX 系列CPU 燒寫系統的軟件,可以在NXP 官網下載到。

此工具已經放到了開發板光盤中,路勁為:5、開發工具->3、NXP 官方原版MFG_TOOL燒寫工具->L4.1.15_2.0.0-ga_mfg-tools.tar.gz。此軟件在Windows下使用,對于我們來說太友好了。將此壓縮包進行解壓,解壓完成以后會出現一個名為L4.1.15_2.0.0-ga_mfg-tools的文件夾,進入此文件夾,此文件夾的內容如圖39.1.1 所示:


從圖39.1.1 可以看出,有兩個.txt 文件和兩個.gz 壓縮包。.txt 文檔就不去看了,重點是這兩個.gz 壓縮包,這兩個壓縮包的區別在名字上已經寫的很詳細了?!皐ithout-rootfs”和“with-rootfs”,一個是帶rootfs 和一個是不帶rootfs。mfg_tools 這個工具本意是給NXP 自己的開發板設計的燒寫軟件,所以肯定帶有自家開發板對應的uboot、linux kernel 和rootfs 的文件。我們肯定是要燒
寫文件系統的,所以選擇mfgtools-with-rootfs.tar.gz 這個壓縮包,繼續對其解壓,解壓出一個名為mfgtools-with-rootfs 的文件夾,此文件夾就包含有我們需要的燒寫工具。

進入目錄mfgtools-with-rootfs\mfgtools 中,在此目錄下有幾個文件夾和很多的.vbs 文件,如圖39.1.2 所示:

我們只關心圖39.1.2 中Profiles 這個文件夾,因為后面要燒寫文件就放到這個文件夾中。MfgTool2.exe 就是燒寫軟件,但是我們不會直接打開這個軟件燒寫,mfg_tools 不僅能燒寫I.MX6U,而且也能給I.MX7、I.MX6Q 等芯片燒寫,所以在燒寫之前必須要進行配置,指定燒寫的是什么芯片,燒寫到哪里去?

下面的這些眾多的.vbs 文件就是配置腳本,燒寫的時候通過雙擊這些.vbs 文件來打開燒寫工具。這些.vbs 燒寫腳本既可以根據處理器的不同,由用戶選擇向I.MX6D、I.MX6Q、I.MX6S、I.MX7、I.MX6UL 和I.MX6ULL 等的哪一款芯片燒寫系統。也可以根據存儲芯片的不同,選擇向EMMC、NAND 或QSPI Flash 等的哪一種存儲設備燒寫,功能非常強大!!我們現在需要向I.MX6U 燒寫系統,因此需要參考表39.1.1 所示的5 個燒寫腳
本:

腳本文件描述
mfgtool2-yocto-mx-evk-emmc.vbsEMMC 燒寫腳本。
mfgtool2-yocto-mx-evk-nand.vbsNAND 燒寫腳本
mfgtool2-yocto-mx-evk-qspi-nor-n25q256a.vbsQSPI Flash 燒寫腳本,型號為n25q256a
mfgtool2-yocto-mx-evk-sdcard-sd1.vbs如果SD1 和SD2 接的SD 卡,這兩個文件分
mfgtool2-yocto-mx-evk-sdcard-sd2.vbs別向SD1 和SD2 上的SD 卡燒寫系統。

本書用的是正點原子的EMMC 版核心板,因此只會用到mfgtool2-yocto-mx-evk-emmc.vbs 這個燒寫腳本,如果用其他的核心板請參考相應的燒寫腳本。

MfgTool 工作原理簡介

MfgTool 只是個工具,具體的原理不需要去深入研究,大概來了解一下其工作原理就行了,知道它的工作流程就行了。

USB接線

1、連接USB 線

MfgTool 是通過USB OTG 接口將系統燒寫進EMMC 中的,正點原子I.MX6U-ALPHA 開發板上的USB OTG 口如圖39.2.1.1 所示:

在燒寫之前,需要先用USB 線將圖39.2.2.1 中的USB_OTG1 接口與電腦連接起來。

2、撥碼開關撥到USB 下載模式

將圖39.2.2.1 中的撥碼開關撥到“USB”模式,如圖39.2.2.2 所示:

如果插了TF 卡,請彈出TF 卡,否則電腦不能識別USB!等識別出來以后再插上TF 卡!

一切準備就緒以后,按一下開發板的復位鍵,此時就會進入到USB 模式,如果是第一次進入USB 模式的話可能會久一點,這個是免驅的,因此不需要安裝驅動。第一次進入USB 模式會在電腦右下角有如圖39.2.2.3 所示提示:

一旦第一次設置好設備以后,后面每次連接都不會有任何提示了。到這里,我們的開發板已經和電腦連接好了,可以開始燒寫系統了。

系統燒寫原理

開發板連接電腦以后雙擊“mfgtool2-yocto-mx-evk-emmc.vbs”,打開下載對話框,如圖39.2.2.1 所示:


如果出現“符合HID 標準的供應商定義設備”就說明連接正常,可以進行燒寫,如果出現其他的字符那么就要檢查連接是否正確。點擊“Start”按鈕即可開始燒寫。

燒寫什么東西呢?肯定是燒寫uboot、Linux kernel、.dtb 和rootfs,那么這四個應該放到哪里MfgTool 才能訪問到呢?進入如下目錄中:

L4.1.15_2.0.0-ga_mfg-tools/mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware

此目錄中的文件如圖39.2.2.2 所示:

文件夾“OS Firmware”看名字就知道是存放系統固件的,我們重點關注files、firmware 這兩個文件夾,以及ucl2.xml 這個文件。

在具體看這三個文件和文件夾之前,我們先來簡單了解一下MfgTool 燒寫的原理,主要分兩個階段:

  • ①、將firmware 目錄中的uboot、linux kernel 和.dtb(設備樹),通過USB OTG 將這個文件下載到開發板的DDR 中(注意不需要下載rootfs),目的就是在DDR 中啟動Linux 系統,為后面的燒寫做準備。

  • ②、經過第①步的操作,此時Linux 系統已經運行起來了,系統運行起來以后就可以很方便的完成對EMMC 的格式化、分區等操作。EMMC 分區建立好以后就可以從files 中讀取要燒寫的uboot、linux kernel、.dtb(設備樹)和rootfs 這4 個文件,然后將其燒寫到EMMC 中,這個就是MfgTool 的大概工作流程。

1、firmeare 文件夾

打開firmware 文件夾,里面有很多的.imx 結尾的uboot 文件、一個zImage 鏡像文件、很多.dtb 結尾的設備樹文件。這些文件都是NXP 官方開發板使用的,不同的板子使用不同的文件,其中我們需要關心的只有表39.2.2.1 中的這三個文件:

腳本文件描述
zImageNXP 官方I.MX6ULL EVK 開發板的Linux 鏡像文件。
u-boot-imx6ull14x14evk_emmc.imxNXP 官方I.MX6ULL EVK 開發板的uboot 文件。
zImage-imx6ull-14x14-evk-emmc.dtbNXP 官方I.MX6ULL EVK 開發板的設備樹

表39.2.2.1 中的這三個文件就是I.MX6ULL EVK 開發板燒寫系統的時候第一階段所需的文件。如果要燒寫我們的系統,就需要用我們編譯出來的zImage、u-boot.imx 和imx6ull-alientek-emmc.dtb 這三個文件替換掉表39.2.2.1 中這三個文件。但是名字要和表39.2.2.1 中的一致,因此需要將u-boot.imx 重命名為u-boot-imx6ull14x14evk_emmc.imx,將imx6ull-alientek-emmc.dtb重命名為zImage-imx6ull-14x14-evk-emmc.dtb。

2、files 文件夾

將表39.2.2.1 中的這三個文件下載到開發板的DDR 上以后燒寫的第一階段就完成了,第二階段就是從files 目錄中讀取整個系統文件,并將其燒寫到EMMC 中。files 目錄中的文件和firmware 目錄中的基本差不多,都是不同板子對應的uboot、設備樹文件,同樣,我們只關心表39.2.2.2 中的四個文件:

腳本文件描述
zImageNXP 官方I.MX6ULL EVK 開發板的Linux 鏡像文件。
u-boot-imx6ull14x14evk_emmc.imxNXP 官方I.MX6ULL EVK 開發板的uboot 文件。
zImage-imx6ull-14x14-evk-emmc.dtbNXP 官方I.MX6ULL EVK 開發板的設備樹
rootfs_nogpu.tar.bz2根文件系統,注意和另外一個rootfs.tar.bz2 根文件系統區分開。nogpu 表示此根文件系統不包含GPU 的內容,I.MX6ULL 沒有GPU,因此要使用此根文件系統

如果要燒寫我們自己編譯出來的系統,就需要用我們編譯出來的zImage、u-boot.imx 和imx6ull-alientek-emmc.dtb 和rootfs 這四個文件替換掉表39.2.2.2 中這四個文件。

3、ucl2.xml 文件

files 和firmware 目錄下有眾多的uboot 和設備樹,那么燒寫的時候究竟選擇哪一個呢?這個工作就是由ucl2.xml 文件來完成的。

ucl2.xml 以“< UCL>”開始,以“< /UCL>”結束?!?lt; CFG>”和“< /CFG>”之間是配置相關內容,主要是判斷當前是給I.MX 系列的哪個芯片燒寫系統?!?lt; LIST>”和“< /LIST>”之間的是針對不同存儲芯片的燒寫命令。整體框架如下:

<UCL><CFG>......<!-- 判斷向I.MX系列的哪個芯片燒寫系統-->......</CFG><LIST name="SDCard" desc="Choose SD Card as media"><!-- 向SD卡燒寫Linux系統--></LIST><LIST name="eMMC" desc="Choose eMMC as media"><!-- 向EMMC燒寫Linux系統--></LIST><LIST name="Nor Flash" desc="Choose Nor flash as media"><!-- 向Nor Flash燒寫Linux系統--></LIST><LIST name="Quad Nor Flash" desc="Choose Quad Nor flash as media"><!-- 向Quad Nor Flash燒寫Linux系統--></LIST><LIST name="NAND Flash" desc="Choose NAND as media"><!-- 向NAND Flash燒寫Linux系統--></LIST><LIST name="SDCard-Android" desc="Choose SD Card as media"><!-- 向SD卡燒寫Android系統--></LIST><LIST name="eMMC-Android" desc="Choose eMMC as media"><!-- 向EMMC燒寫Android系統--></LIST><LIST name="Nand-Android" desc="Choose NAND as media"><!-- 向NAND Flash燒寫Android系統--></LIST><LIST name="SDCard-Brillo" desc="Choose SD Card as media"><!-- 向SD卡燒寫Brillo系統--></LIST> </UCL>

ucl2.xml 首先會判斷當前要向I.MX 系列的哪個芯片燒寫系統,代碼如下:

21 <CFG> 22 <STATE name="BootStrap" dev="MX6SL" vid="15A2" pid="0063"/> 23 <STATE name="BootStrap" dev="MX6D" vid="15A2" pid="0061"/> 24 <STATE name="BootStrap" dev="MX6Q" vid="15A2" pid="0054"/> 25 <STATE name="BootStrap" dev="MX6SX" vid="15A2" pid="0071"/> 26 <STATE name="BootStrap" dev="MX6UL" vid="15A2" pid="007D"/> 27 <STATE name="BootStrap" dev="MX7D" vid="15A2" pid="0076"/> 28 <STATE name="BootStrap" dev="MX6ULL" vid="15A2" pid="0080"/> 29 <STATE name="Updater" dev="MSC" vid="066F" pid="37FF"/> 30 </CFG>

通過讀取芯片的VID 和PID 即可判斷出當前要燒寫什么處理器的系統,如果VID=0X15A2,PID=0080,那么就表示要給I.MX6ULL 燒寫系統。確定了處理器以后就要確定向什么存儲設備燒寫系統,這個時候打開mfgtool2-yocto-mx-evk-emmc.vbs ,此文件內容如下:

Set wshShell = CreateObject("WScript.shell") wshShell.run "mfgtool2.exe -c ""linux"" -l ""eMMC"" -s ""board=sabresd"" -s ""mmc=1"" -s ""6uluboot=14x14evk"" -s ""6uldtb=14x14-evk""" Set wshShell = Nothing

重點是“wshShell.run”這一行,這里一行調用了mfgtool2.exe 這個軟件,并且還給出了一堆的參數,其中就有“eMMC”字樣,說明是向EMMC 燒寫系統,要燒寫的存儲設備就這樣確定下來了。“wshShell.run”后面還有一堆的其他參數,這些參數都有對應的值,如下所示:

board=sabresd mmc=1 6uluboot=14x14evk 6uldtb=14x14-evk

我們繼續回到ucl2.xml 中,既然現在已經知道了是向I.MX6ULL 的EMMC 中燒寫系統,那么直接在ucl2.xml 中找到相應的燒寫命令就行了,因為相應的命令太長,為了縮小篇幅,我們就以uboot 的燒寫為例講解一下。前面說了燒寫分兩個階段,第一步是通過USB OTG 向DDR中下載系統,第二步才是正常的燒寫。通過USB OTG 向DDR 下載uboot 的命令如下:

<CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-imx6ul%lite%%6uluboot%_emmc.imx" ifdev="MX6ULL">Loading U-boot </CMD>

上面的命令就是BootStrap 階段,也就是第一階段,“file”表示要下載的文件位置,在firmware目錄下,文件名字為

u-boot-imx6ul%lite%%6uluboot%_emmc.imx

在L4.1.15_2.0.0-ga_mfg-tools\mfgtools-with-rootfs\mfgtools-with-rootfs\mfgtools 下找到cfg.ini 文件,該文件里包含了開發板的一些信息,查看cfg.ini 文件可得lite=l 以及一些字符串代表的值。
“%lite%”和“%6uluboot%”分別表示取lite 和6uluboot 的值,而lite=l,6uluboot=14x14evk,因此將這個值代入以后就是:

u-boot-imx6ull14x14evk _emmc.imx

所以,這里向DDR 中下載的是firmware/ u-boot-imx6ull14x14evk _emmc.imx 這個uboot 文件。同樣的方法將.dtb(設備樹)和zImage 都下載到DDR 中以后就會跳轉去運行OS,這個時候會在MfgTool 工具中會有“Jumping to OS image”提示語句,ucl2.xml 中的跳轉命令如下:

<CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD>

啟動Linux 系統以后進入第二階段,就是在EMMC 上創建分區,然后燒寫uboot、zImage、.dtb(設備樹)和根文件系統。

這個就是MfgTool 的整個燒寫原理,弄懂了燒寫原理以后就可以開始試著先將NXP 官方的系統燒寫到正點原子的I.MX6U-ALPHA 開發板中。

燒寫NXP 官方系統

我們先試著將NXP 官方的系統燒寫到正點原子的I.MX6U-ALPHA 開發板中,主要是先熟悉一下燒寫過程。因為正點原子的EMMC 核心版用的也是512MB 的DDR3 加8G 的EMMC,因此燒寫NXP 官方的系統是沒有任何問題的。燒寫步驟如下:

①、連接好USB,撥碼開關撥到USB 下載模式。
②、彈出TF卡,然后按下開發板復位按鍵。
③、打開SecureCRT。
③、雙擊“mfgtool2-yocto-mx-evk-emmc.vbs”,打開下載軟件,如果出現“符合HID 標準的供應商定義設備”等字樣就說明下載軟件已經準備就緒。點擊“Start”按鈕開發燒寫NXP 官方系統,燒寫過程如圖39.3.1 所示:

這個時候可以在SecurCRT 上看到具體的燒寫過程,如圖39.3.2 所示:

等待燒寫完成,因為NXP 官方的根文件系統比較大,因此燒寫的時候耗時會久一點。燒寫完成以后MfgTool 軟件如圖39.3.3 所示:

燒寫完成以后點擊“Stop”按鈕停止燒寫,然后點擊“Exit”鍵退出。拔出USB 線,將開發板上的撥碼開關撥到EMMC 啟動模式,然后重啟開發板,此時就會從EMMC 啟動。只是啟動以后的系統是NXP 官方給I.MX6ULL EVK 開發板制作的,這個系統需要輸入用戶名,用戶名為“root”,沒有密碼,如圖39.3.3 所示:

在“imx6ul7d login:”后面輸入“root”用戶名,然后點擊回車鍵即可進入系統中,進入系統以后就可以進行其他操作了。所以說,NXP 官方的系統其實是可以在正點原子的EMMC 版核心板上運行的。

燒寫自制的系統

系統燒寫

上一小節我們試著將NXP 官方提供的系統燒寫到正點原子的I.MX6U-ALPHA 開發板中,目的是體驗一下通過MfgTool 燒寫系統的過程。本小節我們就來學習如何將我們做好的系統燒寫到開發板中,首先是準備好要燒寫的原材料:

  • ①、自己移植編譯出來的uboot 可執行文件:u-boot.imx。
  • ②、自己移植編譯出來的zImage 鏡像文件和開發板對應的.dtb(設備樹),對于I.MX6U-ALPHA 開發板來說就是imx6ull-alientek-emmc.dtb。
  • ③、自己構建的根文件系統rootfs,這里我們需要對rootfs 進行打包,進入到Ubuntu 中的rootfs 目錄中,然后使用tar 命令對其進行打包,命令如下:
cd rootfs/ tar -vcjf rootfs.tar.bz2 *

完成以后會在rootfs 目錄下生成一個名為rootfs.tar.bz2 的壓縮包,將rootfs.tar.bz2 發送到windows 系統中。

將上面提到的這4 個“原材料”都發送到Windows 系統中,如圖39.4.1 所示:


材料準備好以后還不能直接進行燒寫,必須對其進行重命名,否則的話ucl2.xml 是識別不出來的,前面講解ucl2.xml 語法的時候已經說過了,圖39.4.1 中的這四個文件重命名見表39.4.1:

原名字重命名
u-boot.imxu-boot-imx6ull14x14evk_emmc.imx
zImagezImage(不需要重命名)
imx6ull-alientek-emmc.dtbzImage-imx6ull-14x14-evk-emmc.dtb
rootfs.tar.bz2rootfs_nogpu.tar.bz2

完成以后如圖39.4.2 所示:

接下來就是用我們的文件替換掉NXP 官方的文件,先將圖39.4.2 中的zImage、u-boot-imx6ull14x14evk_emmc.imx 和zImage-imx6ull-14x14-evk-emmc.dtb 這三個文件拷貝到mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/firmware目錄中,替換掉原來的文件。然后將圖39.4.2 中的所有4 個文件都拷貝到mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/files目錄中,這兩個操作完成以后我們就可以進行燒寫了。

雙擊“mfgtool2-yocto-mx-evk-emmc.vbs”,打開燒寫軟件,點擊“Start”按鈕開始燒寫,由于我們自己制作的rootfs 比較小,因此燒寫相對來說會快一點。燒寫完成以后設置開發板從EMMC 啟動,啟動我們剛剛燒寫進去的系統,測試有沒有問題。

注意!一旦自己改造的mfgtools 工具能夠正常燒寫系統,那么mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/firmware 目錄下的文件以后就不能再修改!否則可能導致燒寫失敗!

網絡開機自啟動設置

大家在測試網絡的時候可能會發現網絡不能用,這并不是因為我們將系統燒寫到EMMC中以后網絡壞了,是因為網絡沒有打開。

前面我們用NFS 掛載根文件系統的時候因為要使用NFS服務,因此Linux 內核會打開eth0 這個網卡,現在我們不使用NFS 掛載根文件系統,因此Linux內核也就不會自動打開eth0 網卡了。

我們可以手動打開網卡,首先輸入

ifconfig -a

命令查看一下eth0 和eth1 網卡是否都存在,結果如圖39.4.3 所示:

可以看出eth0 好eth1 都存在,既然存在我們就打開,以打開eth0 網卡為例,輸入如下命令打開eth0:

ifconfig eth0 up

打開網卡的時候會有如圖39.4.4 所示的提示信息:

打開的時候會提示使用LAN8710/LAN8720 的網絡芯片,eth0 連接成功,并且是100Mpbs全雙工,eth0 鏈接準備就緒。這個時候輸入“ifconfig”命令就會看到eth0 這個網卡,如圖39.4.6所示:

接下來就是給每個eth0網卡設置IP 地址,如果你的開發板連接的路由器,那么可以通過路由器自動分配IP 地址,命令如下:

udhcpc -i eth0 //通過路由器分配IP 地址

如果你的開發板連接著電腦,那么就可以手動設置IP 地址,比如設置為192.168.1.251,命令如下:

ifconfig eth0 192.168.1.251 netmask 255.255.255.0 //設置IP 地址和子網掩碼 route add default gw 192.168.1.1 //添加默認網關

推薦大家將開發板連接到路由器上,設置好IP 地址以后就可以測試網絡了,比如ping 一下電腦IP 地址,或者ping 一下百度官網。

每次開機以后都要自己手動打開網卡,然后手動設置IP 地址也太麻煩了,有沒有開機以后自動啟動網卡并且設置IP 地址的方法呢?肯定有的,我們將打開網卡,設置網卡IP 地址的命令添加到/etc/init.d/rcS 文件中就行了,完成以后的rcS 文件內容如下所示:

1 #!/bin/sh 2 3 PATH=/sbin:/bin:/usr/sbin:/usr/bin 4 LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/lib:/usr/lib 5 export PATH LD_LIBRARY_PATH runlevel 6 7 #網絡開機自啟動設置 8 ifconfig eth0 up 9 #udhcpc -i eth0 10 ifconfig eth0 192.168.1.251 netmask 255.255.255.0 11 route add default gw 192.168.1.1 ...... 12 #cd /drivers 13 #./hello & 14 #cd /

第8 行,打開eth0 網卡
第9 行,通過路由器自動獲取IP 地址。
第10 行,手動設置eth0 的IP 地址和子網掩碼。
第11 行,添加默認網關。

修改好rcS 文件以后保存并退出,重啟開發板,這個時候eth0 網卡就會在開機的時候自動啟動了,我們也就不用手動添加相關設置了。

改造我們自己的燒寫工具

改造MfgTool

在上一小節中我們已經實現了將自己的系統燒寫到開發板中,但是使用的是“借雞生蛋”的方法。我們通過將NXP 官方的系統更換成我們自己制作的系統來完成系統燒寫,本節我們就來學習一下如何將MfgTool 這個工具改造成我們自己的工具,讓其支持我們自己的開發板。要改造MfgTool,重點是三方面:

  • ①、針對不同的核心版,確定系統文件相關名字。
  • ②、新建我們自己的.vbs 文件。
  • ③、修改ucl2.xml 文件。

1、確定系統文件名字

確定系統文件名字完全是為了兼容不同的產品,比如某個產品有NAND 和EMMC 兩個版本,那么EMMC 和NAND 這兩個版本的uboot、zImage、.dtb 和rootfs 有可能不同。為了在MfgTool 工具中同時支持EMMC 和NAND 這兩個版本的核心板,EMMC 版本的系統文件命名如圖39.5.1.1 所示:

2、新建.vbs 文件

直接復制mfgtool2-yocto-mx-evk-emmc.vbs 文件即可,將新復制的文件重命名為mfgtool2-alientek-alpha-emmc.vbs,文件內容不要做任何修改,.vbs 文件我們就新建好了。

3、修改ucl2.xml 文件

在修改ucl2.xml 文件之前,先保存一份原始的ucl2.xml。將ucl2.xml 文件改為如下所示內容:

<!-- 正點原子修改后的ucl2.xml文件--> <UCL> <CFG> <STATE name="BootStrap" dev="MX6UL" vid="15A2" pid="007D"/> <STATE name="BootStrap" dev="MX6ULL" vid="15A2" pid="0080"/> <STATE name="Updater" dev="MSC" vid="066F" pid="37FF"/> </CFG> <!-- 向EMMC燒寫系統--> <LIST name="eMMC" desc="Choose eMMC as media"> <CMD state="BootStrap" type="boot" body="BootStrap" file ="firmware/u-boot-alientek-emmc.imx" ifdev="MX6ULL">Loading U-boot</CMD> <CMD state="BootStrap" type="load" file="firmware/zImage-alientek-emmc" address="0x80800000" loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Kernel.</CMD> <CMD state="BootStrap" type="load" file="firmware/%initramfs%" address="0x83800000" loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6SL MX6SX MX7D MX6UL MX6ULL">Loading Initramfs.</CMD> <CMD state="BootStrap" type="load" file="firmware/imx6ull-alientek-emmc.dtb" address="0x83000000" loadSection="OTH" setSection="OTH" HasFlashHeader="FALSE" ifdev="MX6ULL">Loading device tree.</CMD> <CMD state="BootStrap" type="jump" > Jumping to OS image. </CMD> <!-- create partition --> <CMD state="Updater" type="push" body="send" file="mksdcard.sh.tar">Sending partition shell</CMD> <CMD state="Updater" type="push" body="$ tar xf $FILE "> Partitioning...</CMD> <CMD state="Updater" type="push" body="$ sh mksdcard.sh /dev/mmcblk%mmc%"> Partitioning...</CMD> <!-- burn uboot --> <CMD state="Updater" type="push" body="$ dd if=/dev/zero of=/dev/mmcblk%mmc% bs=1k seek=768 conv=fsync count=8">clear u-boot arg</CMD> <!-- access boot partition --> <CMD state="Updater" type="push" body="$ echo 0 > /sys/block/mmcblk%mmc%boot0/force_ro">access boot partition 1</CMD> <CMD state="Updater" type="push" body="send" file="files/u-boot-alientek-emmc.imx" ifdev="MX6ULL">Sending u-boot.bin</CMD> <CMD state="Updater" type="push" body="$ dd if=$FILE of=/dev/mmcblk%mmc%boot0 bs=512 seek=2">write U-Boot to sd card</CMD> <CMD state="Updater" type="push" body="$ echo 1 > /sys/block/mmcblk%mmc%boot0/force_ro"> re-enable read-only access </CMD> <CMD state="Updater" type="push" body="$ mmc bootpart enable 1 1 /dev/mmcblk%mmc%">enable boot partion 1 to boot</CMD> <!-- create fat partition --> <CMD state="Updater" type="push" body="$ while [ ! -e /dev/mmcblk%mmc%p1 ]; do sleep 1; echo \"waiting...\"; done ">Waiting for the partition ready</CMD> <CMD state="Updater" type="push" body="$ mkfs.vfat /dev/mmcblk%mmc%p1">Formatting rootfs partition</CMD> <CMD state="Updater" type="push" body="$ mkdir -p /mnt/mmcblk%mmc%p1"/> <CMD state="Updater" type="push" body="$ mount -t vfat /dev/mmcblk%mmc%p1 /mnt/mmcblk%mmc%p1"/> <!-- burn zImage --> <CMD state="Updater" type="push" body="send" file="files/zImage-alientek-emmc">Sending kernel zImage</CMD> <CMD state="Updater" type="push" body="$ cp $FILE /mnt/mmcblk%mmc%p1/zImage">write kernel image to sd card</CMD> <!-- burn dtb --> <CMD state="Updater" type="push" body="send" file="files/imx6ull-alientek-emmc.dtb" ifdev="MX6ULL">Sending Device Tree file</CMD> <CMD state="Updater" type="push" body="$ cp $FILE /mnt/mmcblk%mmc%p1/imx6ull-alientek-emmc.dtb" ifdev="MX6ULL">write device tree to sd card</CMD> <CMD state="Updater" type="push" body="$ umount /mnt/mmcblk%mmc%p1">Unmounting vfat partition</CMD> <!-- burn rootfs --> <CMD state="Updater" type="push" body="$ mkfs.ext3 -F -E nodiscard /dev/mmcblk%mmc%p2">Formatting rootfs partition</CMD> <CMD state="Updater" type="push" body="$ mkdir -p /mnt/mmcblk%mmc%p2"/> <CMD state="Updater" type="push" body="$ mount -t ext3 /dev/mmcblk%mmc%p2 /mnt/mmcblk%mmc%p2"/> <CMD state="Updater" type="push" body="pipe tar -jxv -C /mnt/mmcblk%mmc%p2" file="files/rootfs-alientek-emmc.tar.bz2" ifdev="MX6UL MX7D MX6ULL">Sending and writting rootfs</CMD> <CMD state="Updater" type="push" body="frf">Finishing rootfs write</CMD> <CMD state="Updater" type="push" body="$ umount /mnt/mmcblk%mmc%p2">Unmounting rootfs partition</CMD> <CMD state="Updater" type="push" body="$ echo Update Complete!">Done</CMD> </LIST> </UCL>

燒寫測試

MfgTool 工具修改好以后就可以進行燒寫測試了,將imx6ull-alientek-emmc.dtb、u-boot-alientek-emmc.imx 和zImage-alientek-emmc 這三個文件復制到mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/firmware 目錄中。
將imx6ull-alientek-emmc.dtb、u-boot-alientek-emmc.imx、zImage-alientek-emmc 和rootfs-alientek-emmc.tar.bz2 這四個文件復制到
mfgtools-with-rootfs/mfgtools/Profiles/Linux/OS Firmware/files 目錄中(相當于刪除了其他無關的內容,只保留了4個有用的文件)。

點擊“mfgtool2-alientek-alpha-emmc.vbs”打開MfgTool 燒寫系統,等待燒寫完成,然后設置撥碼開關為EMMC 啟動,重啟開發板,系統啟動信息如圖39.5.2.1 所示:

從圖39.5.2.1 可以看出,出現“Starting kernel …”以后就再也沒有任何信息輸出了,說明Linux 內核啟動失敗了。接下來就是解決為何Linux 內核啟動失敗這個問題。

解決Linux 內核啟動失敗

上一小節啟動Linux 的時候出問題了,仔細觀察uboot 輸出的log 信息,會發現如圖39.5.3.1 所示兩行信息:

從圖39.5.3.1 可以看出,在讀取“imx6ull-14x14-evk.dtb”這個設備樹文件的時候出錯了。

重啟uboot,進入到命令行模式,輸入如下命令查看EMMC 的分區1 里面有沒有設備樹文件:

mmc dev 1 //切換到EMMC ls mmc 1:1 //輸出EMMC1 分區1 中的所有文件

結果如圖39.5.3.2 所示:

從圖39.5.3.2 可以看出,此時EMMC 的分區1 中是存在設備樹文件的,只是文件名字為:imx6ull-alientek-emmc.dtb,因此讀取imx6ull-14x14-evk.dtb 肯定會出錯的,因為根本就不存在這個文件。之所以出現這個錯誤的原因是因為uboot 里面默認的設備樹名字就是imx6ull-14x14-evk.dtb,這個我們在講解uboot 的時候就已經說過了。解決方法很簡單,有兩種方法:

方法一:重新設置bootcmd 環境變量值

進入uboot 的命令行,重新設置bootcmd 和bootargs 這兩個環境變量的值,這里要注意的是bootargs 的值也要重新設置一下,命令如下:

setenv bootcmd 'mmc dev 1;fatload mmc 1:1 80800000 zImage;fatload mmc 1:1 83000000 imx6ull-alientek-emmc.dtb;bootz 80800000 - 83000000' setenv bootargs 'console=ttymxc0,115200 root=/dev/mmcblk1p2 rootwait rw' saveenv

設置好bootcmd 和bootargs 這兩個環境變量以后重啟開發板,Linux 系統就可以正常啟動。

方法二:修改uboot 源碼

第1 種方法每次重新燒寫系統以后都要先手動設置一下bootcmd 的值,這樣有點麻煩,有沒有一勞永逸的方法呢?肯定是有的,就是直接修改uboot 源碼。打開uboot 源碼中的文件include/configs/mx6ull_alientek_emmc.h,在宏CONFIG_EXTRA_ENV_SETTINGS 中找到如下所示內容:

194 "findfdt="\ 195 "if test $fdt_file = undefined; then " \ 196 "if test $board_name = EVK && test $board_rev = 9X9; then " \ 197 "setenv fdt_file imx6ull-9x9-evk.dtb; fi; " \ 198 "if test $board_name = EVK && test $board_rev = 14X14; then " \ 199 "setenv fdt_file imx6ull-14x14-evk.dtb; fi; " \ 200 "if test $fdt_file = undefined; then " \ 201 "echo WARNING: Could not determine dtb to use; fi; " \ 202 "fi;\0" \

findfdt 就是用于確定設備樹文件名字的環境變量,fdt_file 環境變量保存著設備樹文件名。

第196 行和197 行用于判斷設備樹文件名字是否為imx6ull-9x9-evk.dtb,第198 行和199 行用于判斷設備樹文件名字是否為imx6ull-14x14-evk.dtb。這兩個設備樹都是NXP 官方開發板使用的,I.MX6U-ALPHA 開發板用不到,因此直接將示例代碼39.5.3.1 中findfdt 的值改為如下內容:

194 "findfdt="\ 195 "if test $fdt_file = undefined; then " \ 196 "setenv fdt_file imx6ull-alientek-emmc.dtb; " \ 197 "fi;\0" \

第196 行,如果fdt_file 未定義的話,直接設置fdt_file= imx6ull-alientek-emmc.dtb,簡單直接,不需要任何的判斷語句。修改以后重新編譯uboot,然后用將新的uboot 燒寫到開發板中,燒寫完成以后重啟測試,Linux 內核啟動正常。

總結

關于系統燒寫就講解到這里,本章我們使用NXP 提供的MfgTool 工具通過USB OTG 口向開發板的EMMC 中燒寫uboot、Linux kernel、.dtb(設備樹)和rootfs 這四個文件。在本章我們主要做了五個工作:

①、理解MfgTool 工具的工作原理。
②、使用MfgTool 工具將NXP 官方系統燒寫到I.MX6U-ALPHA 開發板中,主要是為了體
驗一下MfgTool 軟件的工作流程以及燒寫方法。
③、使用MfgTool 工具將我們自己編譯出來的系統燒寫到I.MX6U-ALPHA 開發板中。
④、修改MfgTool 工具,使其支持我們所使用的硬件平臺。
⑤、修改相應的錯誤。

關于系統燒寫的方法就講解到這里,本章內容不僅僅是為了講解如何向I.MX6ULL 芯片中燒寫系統,更重要的是向大家詳細的講解了MfgTool 的工作原理。如果大家在后續的工作或學習中使用I.MX7 或者I.MX8 等芯片,本章同樣適用。

隨著本章的結束,本書第三篇的內容也正式結束了,第三篇是系統移植篇,重點就是uboot、Linux kernel 和rootfs 的移植,看似簡簡單單的“移植”兩個字,引出的卻是一篇300 多頁的“愛恨情仇”。授人以魚不如授人以漁,本可以簡簡單單的教大家修改哪些文件、添加哪些內容,怎么去編譯,然后得到哪些文件。但是這樣只能看到表象,并不能深入的了解其原理,為了讓大家能夠詳細的了解整個流程,筆者義無反顧的選擇了這條最難走的路,不管是uboot 還是Linux kernel,從Makefile 到啟動流程,都盡自己最大的努力去闡述清楚。奈何,筆者水平有限,還是有很多的細節沒有處理好,大家有疑問的地方可以一起討論學習。

總結

以上是生活随笔為你收集整理的系统烧写方法(MfgTool烧写工具)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

精品久久久久一区二区国产 | 日韩一区二区三区高清免费看看 | av不卡中文字幕 | 992tv在线成人免费观看 | 久艹视频免费观看 | 久久精品视频18 | 视频在线91 | 国产一线天在线观看 | 韩国av不卡 | 97视频在线观看视频免费视频 | 欧美亚洲精品一区 | 91综合在线| 久久人人爽人人人人片 | 中文字幕在线专区 | 日韩精品视频免费在线观看 | 91成人在线观看高潮 | 日本黄色免费电影网站 | 91精品国产高清自在线观看 | www.夜夜骑.com | 日日爽天天 | 99精品亚洲 | 国模精品在线 | 久久久精品久久 | 色www.| 午夜精品麻豆 | 天天操夜夜想 | 亚洲 综合 激情 | www.色国产 | 91久久爱热色涩涩 | 国产精品18久久久久久首页狼 | 久久五月婷婷丁香社区 | 中文字幕国产 | 中文字幕日韩av | 成人中文字幕av | 免费色视频 | 国产一级片一区二区三区 | 欧美日产一区 | 91九色网站 | 91麻豆精品国产午夜天堂 | 久久久久综合视频 | 五月婷婷中文字幕 | 四虎国产精品免费观看视频优播 | av在线播放国产 | 一区二区电影网 | 伊人手机在线 | 免费av在| 国产精品网在线观看 | 九九热在线视频免费观看 | 国产传媒中文字幕 | 久久九九免费 | 久久99精品久久只有精品 | 六月丁香婷婷网 | 国产精品一区二区麻豆 | 午夜精品久久久久久久爽 | 精品久久精品久久 | 国产精品久久久久国产a级 激情综合中文娱乐网 | 久久久久久久久福利 | 欧美日韩国产在线一区 | 国产一级片直播 | 日本成人黄色片 | 久久人人射 | 国产日本三级 | 九九亚洲视频 | 国产精品系列在线播放 | 国产69精品久久99不卡的观看体验 | 亚洲成色777777在线观看影院 | 麻豆视频入口 | 四虎在线永久免费观看 | 在线免费观看黄网站 | 国产一区二区高清 | 不卡视频一区二区三区 | 欧美不卡在线 | 久久99精品国产91久久来源 | 麻豆免费视频 | 国产精品久久久精品 | a'aaa级片在线观看 | 超碰在线成人 | 国产视频一区二区三区在线 | 色网站在线免费观看 | 在线日韩| 91桃色视频| 欧美va在线观看 | 成人亚洲免费 | 国产一二三四在线观看视频 | 特级西西www44高清大胆图片 | 成人午夜性影院 | 国产精品理论视频 | 国产免费观看av | 久久视频在线观看中文字幕 | 欧美成人亚洲成人 | 97超碰在线资源 | 91av电影在线| 久久人人看 | 亚洲热久久| 日日爱夜夜爱 | 久久久久久久99 | 久久这里有 | 欧美日韩视频在线观看一区二区 | 91精品国产91热久久久做人人 | 亚洲高清视频一区二区三区 | 91在线视频免费91 | 91一区二区在线 | 亚洲精品在线观看的 | 麻花豆传媒mv在线观看网站 | 六月丁香激情综合 | 久久精精品| 亚洲婷婷在线视频 | 99久久久国产精品免费观看 | 国产精品福利午夜在线观看 | 久久精品国产精品亚洲精品 | 国产精品免费在线播放 | 国产国产人免费人成免费视频 | 国产日产av| 日日摸日日爽 | 91网站观看 | 国产精品久久久久久久久毛片 | 黄色av免费看 | 综合色狠狠 | 99热在线精品观看 | 久久精品aaa | 天天操偷偷干 | 亚洲最大激情中文字幕 | 国产麻豆果冻传媒在线观看 | 欧美在线视频日韩 | 日韩电影一区二区三区在线观看 | 日韩av中文字幕在线免费观看 | 91麻豆产精品久久久久久 | 欧美analxxxx| 久久综合丁香 | 一区二区三区高清 | 日韩av资源站 | 久久精品亚洲综合专区 | 国产一级不卡毛片 | 久久线视频 | 国产精品网红福利 | 成人一区二区在线 | 国产a精品 | 性色xxxxhd| 日韩一区二区免费视频 | 色婷婷啪啪免费在线电影观看 | 国产91精品一区二区麻豆亚洲 | 免费成人在线网站 | 五月天色综合 | 麻豆免费看片 | 久久综合久久综合这里只有精品 | 精品国产电影 | 999电影免费在线观看2020 | 亚洲精品99久久久久久 | 国产视频18| 6080yy精品一区二区三区 | 国产一级免费视频 | 丰满少妇对白在线偷拍 | 97精品国产97久久久久久春色 | 国产黄色av影视 | 国内精品久久久久久久久久 | 麻豆av一区二区三区在线观看 | 99久久久国产精品免费99 | 中文字幕亚洲欧美 | 在线a亚洲视频播放在线观看 | 成人精品福利 | 亚洲欧美国产日韩在线观看 | 国产精品手机看片 | 黄色小说免费观看 | 伊在线视频 | 亚洲精品久久在线 | 免费碰碰 | 视频国产区 | 香蕉视频网站在线观看 | 欧美精品在线观看免费 | 亚洲va欧美 | aⅴ视频在线| av看片网址 | 国产精品久久久久久999 | 亚洲国产无 | 久久黄色网页 | 免费视频一区二区 | 精品在线观看免费 | 香蕉视频在线网站 | 一级欧美日韩 | 碰天天操天天 | av成人免费网站 | 中文字幕第一页在线播放 | 婷婷色在线播放 | 日韩精品欧美视频 | 久久手机免费视频 | 人人澡超碰碰97碰碰碰软件 | 久久99久久精品国产 | 国产视频美女 | 国产又粗又猛又色 | 国产无区一区二区三麻豆 | 天天天天天天干 | 色多多在线观看 | 欧美日韩国产一区 | 精品国产a | 亚洲欧美日韩一级 | 久久婷婷亚洲 | 国产精品一区二区无线 | 国产精久久久 | 国产精品一区二区 91 | 天天干天天干天天 | 区一区二区三区中文字幕 | 亚洲欧美成人网 | 在线观看免费一级片 | 中文字幕在线播放视频 | 国产特级毛片 | 在线a视频免费观看 | 黄色小说网站在线 | 色久五月 | 亚洲欧美精品一区 | 国产视频999 | 久久成人麻豆午夜电影 | 亚洲精品日韩在线观看 | 高清国产午夜精品久久久久久 | 国产 在线 高清 精品 | 国产精品一区二区在线观看 | 24小时日本在线www免费的 | 一级久久精品 | 特黄免费av| 999久久国产精品免费观看网站 | 久久久国产精品一区二区三区 | 久久另类小说 | 丁香花在线视频观看免费 | 在线观看你懂的网站 | 欧美少妇bbwhd| 一区二区中文字幕在线播放 | 亚洲日日日 | 91在线成人| 亚洲国产精品影院 | 久久久精品久久日韩一区综合 | 欧美成人亚洲 | 国产亚洲情侣一区二区无 | 亚洲国产免费看 | 亚洲精品玖玖玖av在线看 | 欧美天天综合网 | 又黄又色又爽 | 精品视频一区在线观看 | 国产精品久久久久一区 | 成人精品国产 | 日韩欧美在线综合网 | 国产亚洲精品久久久久5区 成人h电影在线观看 | 五月婷婷在线播放 | 欧美国产日韩一区二区 | 久久久久综合精品福利啪啪 | 99精品乱码国产在线观看 | 一区二区三区免费在线观看 | 99精品亚洲 | 成年人免费观看在线视频 | www.久久com | 久久久久久国产精品亚洲78 | 国产麻豆果冻传媒在线观看 | 狠狠操狠狠干天天操 | 亚洲视频一级 | 国产一区二区三区午夜 | 国产精品原创 | 国产白浆视频 | 亚州精品一二三区 | 午夜精品久久久久久99热明星 | 天天干天天插伊人网 | 国产在线中文 | 涩涩在线 | 日韩视频www | 在线播放 日韩专区 | 热久久最新地址 | 美女视频黄是免费的 | 久草影视在线观看 | 亚洲日b视频| 97免费视频在线播放 | 欧美日韩不卡一区二区三区 | 亚洲国产中文在线 | 天堂av在线7 | 黄色特级毛片 | 欧美精品久久久久久久久老牛影院 | 在线小视频你懂的 | 成人在线播放网站 | 美女很黄免费网站 | 亚洲播放一区 | 国产高清av在线播放 | 欧美精品色 | 97夜夜澡人人双人人人喊 | 久久九九精品久久 | 久久夜色精品国产欧美乱 | 91成人小视频 | 二区三区av | 天堂av免费在线 | 国产亚洲激情视频在线 | 88av视频 | 久久久国产精品电影 | 国产黑丝袜在线 | 亚洲黄色在线播放 | 综合天天| 99久久免费看 | 日韩av手机在线看 | 精品美女久久久久久免费 | 一区二区三区电影 | 在线草| 欧美在线观看禁18 | 91精品啪在线观看国产81旧版 | 在线成人小视频 | 国产精品毛片一区视频播不卡 | 日韩在线无| 国产在线一区观看 | 国产一卡二卡在线 | 日本久久影视 | 欧美 激情在线 | 一区二区三区免费在线观看视频 | 在线不卡中文字幕播放 | 麻花天美星空视频 | 日韩成人在线一区二区 | 九月婷婷人人澡人人添人人爽 | 国产不卡在线看 | 99久久99视频只有精品 | 日日碰夜夜爽 | 成人va天堂 | 久久这里只有精品1 | 久久网址| 欧美日韩免费视频 | 91试看| 国产精品美女久久久久久久 | 在线观看小视频 | 涩涩网站在线观看 | 日日爽日日操 | 国产视频18 | 中文字幕专区高清在线观看 | 91亚洲狠狠婷婷综合久久久 | 成人av在线影院 | 日日干 天天干 | 人人舔人人舔 | 天堂在线一区二区 | 视色网站 | 成人app在线免费观看 | 国产精品麻豆视频 | 特黄特色特刺激视频免费播放 | 国产99区 | 久久99久久精品 | 欧美一区二区日韩一区二区 | 日韩精品高清视频 | 在线观看91网站 | 国产精品一区在线观看你懂的 | 美女视频黄免费的 | 五月婷婷丁香激情 | 亚洲国产精品久久久 | 欧美另类视频 | 精品久久久999 | 四虎免费在线观看视频 | 色94色欧美 | 午夜的福利 | 久草在线欧美 | 97日日碰人人模人人澡分享吧 | 成年人网站免费在线观看 | 日韩欧美成人网 | 国产资源在线观看 | 欧美亚洲久久 | 97av.com | 最新真实国产在线视频 | 亚洲在线不卡 | 麻豆综合网 | 九九热99视频| 激情开心色| 国产精品涩涩屋www在线观看 | 五月香视频在线观看 | 中文字幕在线网址 | 亚州五月| 狠狠操操网| 亚洲精品中文字幕在线观看 | 国产成免费视频 | 国产香蕉97碰碰久久人人 | 深夜激情影院 | 日韩免费一级电影 | 欧美福利精品 | 五月婷婷六月丁香在线观看 | 97成人精品视频在线观看 | 精品在线一区二区三区 | 狠狠精品| 91九色视频观看 | 欧美坐爱视频 | 婷婷丁香国产 | 99精品黄色片免费大全 | av资源在线看 | 91亚洲精品久久久蜜桃 | 91在线观 | 嫩草91影院 | 在线а√天堂中文官网 | 国产精品a久久 | 日韩在线播放av | 日韩高清一二区 | 中文字幕在线观看视频一区二区三区 | 亚洲免费av在线播放 | 四虎影视8848dvd | 一二三区视频在线 | 久久99深爱久久99精品 | 91一区二区三区在线观看 | 日本精品久久久久中文字幕5 | 波多野结依在线观看 | 一区二区三区四区五区在线 | 婷婷国产v亚洲v欧美久久 | 免费观看成人网 | 国产精品免费观看久久 | 视频成人永久免费视频 | 久久99九九99精品 | 国产精品爽爽爽 | 高清免费av在线 | 97免费视频在线播放 | 国产精品色在线 | 丁香伊人网 | 国产一级电影网 | 国产色婷婷精品综合在线手机播放 | 日韩精品一区二区三区三炮视频 | 在线观看黄av | 亚洲综合干 | 亚洲婷婷综合色高清在线 | 人人爽人人爽人人爽 | 欧美日韩xxxxx | 欧美影院久久 | 久久99久久99久久 | 欧美一级爽| 国产午夜精品免费一区二区三区视频 | 狠狠狠色丁香婷婷综合激情 | 久久综合五月 | 天天综合网 天天 | 国产韩国精品一区二区三区 | 久久99精品国产99久久 | 人人爽人人看 | 天天插伊人 | 国产精品一区二区三区四 | 日韩视频免费 | 五月天综合激情网 | 久久xx视频| 成人aaa毛片| 国产黄色大片 | 亚洲精品玖玖玖av在线看 | 超碰电影在线观看 | 91亚州| 日本一区二区免费在线观看 | 欧美少妇影院 | 精品国产aⅴ麻豆 | 九色91av | 在线视频18在线视频4k | 成 人 黄 色 视频免费播放 | 国产精品免费在线 | 国产视频1 | 狠狠色丁婷婷日日 | 国产视频一区二区在线观看 | 超碰免费久久 | 久久久久亚洲国产精品 | 色网站在线观看 | 91 在线视频 | 特级黄录像视频 | 日韩欧美一区二区三区免费观看 | 国产一区成人在线 | 成人黄在线 | 免费v片| 99热在线精品观看 | 九九九九九国产 | 免费瑟瑟网站 | avlulu久久精品 | 456免费视频 | 国产这里只有精品 | 天天摸日日操 | 日韩aa视频 | 久久夜靖品 | 国产亚洲资源 | 免费又黄又爽的视频 | 91成人天堂久久成人 | 免费国产黄线在线观看视频 | 中文字幕在线播出 | 国产中文字幕在线免费观看 | 天天曰夜夜爽 | 国产精品毛片完整版 | www免费看| 国产亚洲一级高清 | 久草在线视频首页 | 国产精品18久久久久久久久 | 五月天色婷婷丁香 | 精品国产精品一区二区夜夜嗨 | 超碰伊人网 | 一区二区成人国产精品 | 久久久午夜电影 | 亚洲一二区视频 | 91尤物国产尤物福利在线播放 | 国产精品美女久久久久久2018 | www.伊人网 | 久久综合九色九九 | 一区二区三区精品在线视频 | 免费看的视频 | 婷婷视频在线播放 | 99re8这里有精品热视频免费 | 973理论片235影院9 | 午夜精品视频福利 | 国产999在线观看 | 国产黄色成人av | 少妇bbb好爽 | 久久艹中文字幕 | 日韩色高清 | 亚洲激情视频在线 | 国产精品久久久久久久妇 | 中文字幕 91 | 成人av免费在线 | 国产国语在线 | 天天天干天天天操 | 国产日韩三级 | 一本到视频在线观看 | 国产精品久久久久av免费 | 久久久人 | 97看片吧| japanesexxx乱女另类 | 91在线亚洲 | 天天做日日做天天爽视频免费 | 91视频高清| 中文字幕有码在线观看 | 国内外成人在线 | 精品国产区在线 | 国产精品免费大片视频 | 久久久99精品免费观看app | 日韩av播放在线 | 天天干天天干天天干 | 欧美另类美少妇69xxxx | 在线免费高清视频 | 亚洲日本va中文字幕 | av免费在线网站 | 在线亚洲欧美日韩 | 成人在线观看资源 | 最新中文字幕在线观看视频 | 免费黄色一区 | 国产精品一级视频 | 丁香婷婷电影 | 国产精品毛片久久蜜 | 欧美一级大片在线观看 | 久久久国产精品麻豆 | 日日成人网 | 不卡视频一区二区三区 | 怡春院av| 欧美aaa视频 | www.人人草 | 亚洲闷骚少妇在线观看网站 | 日韩三级视频在线观看 | 成人片在线播放 | 日韩成人免费观看 | 91香蕉嫩草| 欧美在线视频一区二区 | 国内精品久久久久久久影视麻豆 | 国产视频1区2区3区 久久夜视频 | 99久久精品免费一区 | 青青河边草观看完整版高清 | 欧美最猛性xxxxx亚洲精品 | 国产精品av免费在线观看 | 婷婷日日 | 狠狠躁夜夜躁人人爽超碰97香蕉 | 最新色站| 久久这里只有精品视频99 | 国产精品久久久久av福利动漫 | 激情伊人五月天 | 久久成人免费视频 | 午夜.dj高清免费观看视频 | 欧美一级片免费在线观看 | 成人黄色影片在线 | 欧美日韩一区二区在线观看 | 日本中文字幕系列 | 99视频免费看 | 狠狠色丁香婷婷综合久久片 | 久久精品国亚洲 | 91av综合 | 久久91久久久久麻豆精品 | 精品国模一区二区三区 | 91成人精品 | 国产一及片 | 奇米777777| 免费看黄在线网站 | 91最新网址在线观看 | 日韩免费一区二区在线观看 | 国产免费一区二区三区最新6 | 91色亚洲 | 99婷婷 | 天天操天天爱天天爽 | 福利视频一二区 | 国产乱对白刺激视频不卡 | 久久精品爱视频 | 天天干.com| 91 在线视频播放 | 国产在线日本 | 最近免费中文字幕mv在线视频3 | 911免费视频 | 欧美日韩中 | 亚洲精品在线电影 | 久久综合狠狠综合久久综合88 | 最新超碰在线 | 欧美成年网站 | 国产手机av在线 | 97免费| 欧美性性网 | 激情视频在线高清看 | 久久久免费精品国产一区二区 | 欧美精品一区二区蜜臀亚洲 | 欧美日韩xxx | 亚洲天堂网站 | 成人一级视频在线观看 | 97超级碰碰| 久久久成人精品 | 91在线网址 | 天天操欧美 | 日日夜夜中文字幕 | 午夜精品在线看 | 中文字幕 第二区 | 欧美巨乳波霸 | 国产亚洲精品成人 | 人人艹人人 | 最新99热| 一区二区三区中文字幕在线 | 99国产精品一区二区 | 亚洲精品女人 | 国产偷国产偷亚洲清高 | 天天操天天草 | 中文字幕视频一区二区 | 波多野结衣理论片 | 免费av的网站| 97色噜噜| 国产成人在线观看免费 | 91桃色视频 | 国产一二区在线观看 | 黄色日视频 | 不卡av电影在线观看 | 日韩在线观看网址 | 99精品久久久久久久久久综合 | 日本99热 | 九九爱免费视频在线观看 | 五月香视频在线观看 | 久久最新视频 | 久久不卡免费视频 | 国产精品1区2区在线观看 | 在线观看亚洲专区 | 国产成人99久久亚洲综合精品 | 国产成人亚洲在线观看 | 午夜精品av在线 | av在线看片| 2019中文字幕网站 | 蜜桃视频日本 | 99热这里是精品 | 午夜精品视频福利 | 婷婷亚洲激情 | 97在线观看视频 | 91精品国产一区二区三区 | 高清久久久久久 | 欧美日韩性 | 91九色老| 国产亚洲一区二区在线观看 | 久久久久日本精品一区二区三区 | 男女视频91 | 人人舔人人干 | 国产91区 | 黄色av电影网 | 人人爽人人做 | 国产精品久久久久9999 | 日韩毛片在线播放 | 久久国产精品99精国产 | 久久激情视频 久久 | 91成人免费在线视频 | 日本久久中文字幕 | 97超碰人人模人人人爽人人爱 | 国产福利精品在线观看 | 亚洲四虎影院 | 在线观看91 | 激情久久小说 | 国产在线久久久 | 国产午夜三级一二三区 | 狠狠躁日日躁狂躁夜夜躁 | 成人免费观看网址 | 欧美色图亚洲图片 | 国产99久久久国产精品免费二区 | 人人超碰97| 亚洲欧洲av | 国产精品高清一区二区三区 | 一区二区三区四区五区在线 | 国产视频亚洲精品 | 超碰97中文 | 天堂av影院 | 久久久久麻豆v国产 | 亚洲高清在线视频 | 国产精品美女视频 | 亚洲天天在线日亚洲洲精 | 麻豆视频免费入口 | 2020天天干夜夜爽 | 国产xxxxx在线观看 | 黄网站色| 粉嫩av一区二区三区四区五区 | 九九热视频在线免费观看 | 六月激情丁香 | 97电影在线看视频 | 91在线中字| 西西4444www大胆无视频 | 永久免费毛片在线观看 | 黄色影院在线播放 | 91免费观看网站 | 成人h动漫精品一区二 | 美女免费视频一区二区 | 欧美国产在线看 | 中文字幕在线一区观看 | 在线а√天堂中文官网 | 国产精品av免费观看 | 国产精品高潮呻吟久久久久 | 激情九九 | 午夜美女福利 | 国产精品久久久久久久久久东京 | 91精品久久久久久久91蜜桃 | 在线成人小视频 | 五月天亚洲激情 | 国产精品久久久影视 | 午夜精品视频福利 | 欧美天天射 | 天天色天天操天天爽 | 99精品视频在线播放免费 | 91视视频在线直接观看在线看网页在线看 | 国产免费久久久久 | 日本特黄特色aaa大片免费 | 成年人免费看 | 婷婷丁香狠狠爱 | 久久精品视频3 | 国产视频在线观看一区 | 欧美影片 | 岛国大片免费视频 | 中文字幕在线播放av | 成人91在线 | 91精品蜜桃 | 日韩视频a | 欧美另类一二三四区 | 国产精品久久久久久久久久久免费 | 在线免费黄 | 91精品国产高清自在线观看 | 亚洲japanese制服美女 | 亚洲播播| 在线亚洲午夜片av大片 | 麻豆国产精品永久免费视频 | 99久久久国产精品免费观看 | 欧美a级在线 | 五月婷婷狠狠 | 久久66热这里只有精品 | 日韩精品一区二区三区丰满 | 丁香五婷| 国产欧美日韩精品一区二区免费 | 亚洲人成人天堂h久久 | 911香蕉 | 国产麻豆视频在线观看 | 波多野结衣资源 | 成人一区二区三区在线观看 | 激情六月婷婷久久 | 深夜国产福利 | 成人免费在线视频 | 99精品视频免费观看视频 | 国产一级高清视频 | 免费看黄网站在线 | 91插插插免费视频 | 国产精品九九九九九 | 欧美日韩一区二区免费在线观看 | 国产精品一区一区三区 | 久久精品网址 | 日韩欧美一区二区三区免费观看 | 日本精品xxxx | 国产在线专区 | 免费观看91视频大全 | 免费日韩高清 | 久av电影 | 久久免费高清 | 欧美九九九 | 国产精品字幕 | 亚洲闷骚少妇在线观看网站 | 91在线精品视频 | 久久精品一 | 麻豆视频国产精品 | 久久久这里有精品 | 丁香九月激情综合 | av一区二区三区在线观看 | 精品免费久久久久久 | 四虎在线永久免费观看 | 精品久久五月天 | 天天操夜夜操 | 永久免费毛片 | 最近中文字幕免费大全 | 久久av影院| 一个色综合网站 | 激情综合站 | 亚洲最快最全在线视频 | 久久精品电影网 | 国产免费观看久久黄 | 福利一区二区 | 久久96国产精品久久99漫画 | 久久国产精品一二三区 | 天堂在线免费视频 | 国产精品igao视频网入口 | 欧美在线99 | 三级动态视频在线观看 | 韩日电影在线 | 一区二区三区在线视频观看58 | 久久久免费精品国产一区二区 | 色操插| 97成人在线 | av在线网站大全 | 最新av免费在线观看 | av福利网址导航 | 在线免费黄网站 | 永久免费视频国产 | www.成人精品 | 国产精品国产三级国产不产一地 | 亚洲精品66 | 夜夜操综合网 | 欧美韩日视频 | 国产91精品看黄网站在线观看动漫 | 久久国产麻豆 | 91久草视频 | 国产很黄很色的视频 | 综合成人在线 | 欧美性免费| 伊人色综合久久天天 | 欧美日韩伦理一区 | 一区二区三区在线观看免费 | 亚洲精品tv久久久久久久久久 | 一区二区男女 | 国产精品免费视频久久久 | 久久久成人精品 | 91完整版在线观看 | 久久国产电影院 | 伊人中文字幕在线 | 久久99热这里只有精品 | 国产成人精品一区二区三区 | 色91av | a黄色片在线观看 | 国产精品久久99综合免费观看尤物 | 久久激情婷婷 | 中文超碰字幕 | av软件在线观看 | 久久亚洲热 | 97国产精品一区二区 | 韩国av电影在线观看 | 国产精品一区二区在线看 | 免费观看午夜视频 | 色播99 | 免费在线91 | 欧美淫视频| 福利电影久久 | 又黄又刺激 | 91精品国产福利在线观看 | 成年在线观看 | www色com | 婷婷综合五月天 | 播五月婷婷 | 亚洲一区视频在线播放 | 香蕉视频在线免费看 | 在线视频观看亚洲 | 久久国产影视 | 99性视频 | 免费热情视频 | 国产高清在线免费 | 亚洲一级二级三级 | 欧美网站黄色 | 在线亚洲小视频 | 国产91国语对白在线 | 欧美日韩视频在线播放 | 久久成电影 | 麻豆视频成人 | 五月天婷婷视频 | 欧美在线视频免费 | 91麻豆精品一区二区三区 | 欧美视频www | 日韩欧美视频免费看 | 午夜精品麻豆 | 日韩色综合 | 在线激情网 | 日韩一区二区三区视频在线 | 日韩av中文字幕在线 | 69av在线视频 | 国产视频 亚洲视频 | 黄色视屏在线免费观看 | 久久久久久久久久久影院 | 久久久久一区二区三区 | 日韩免费高清在线观看 | 婷婷久久综合网 | 欧美色黄 | 日韩欧美高清一区二区 | 精品国产一区二区久久 | 成人av久久 | 日黄网站 | 国内揄拍国内精品 | 99热这里是精品 | 久久一级电影 | www黄色 | 久久免费电影网 | 久久视频这里有久久精品视频11 | 国产一线在线 | 亚洲最大av网站 | 国产99区 | 国产精品嫩草69影院 | 91chinesexxx| 97在线公开视频 | av黄色一级片| 国产不卡视频在线播放 | 国产成人av电影在线 | 久久人人爽爽 | 国产91勾搭技师精品 | 亚洲天堂在线观看完整版 | 国产女人40精品一区毛片视频 | 亚洲一级黄色大片 | 人人干天天射 | 91成人免费 | 91av视屏| 在线观看中文字幕一区二区 | 日韩毛片在线一区二区毛片 | 亚洲视频综合 | 男女靠逼app | 91成人精品一区在线播放69 | 国产精品久久久影视 | 亚洲va在线va天堂 | 久久艹在线观看 | 免费视频久久 | 99久久精品国产免费看不卡 | 久久精品成人欧美大片古装 | 午夜在线日韩 | 日韩中文在线播放 | 波多野结衣在线观看一区 | 五月婷婷香蕉 | 久久精品久久精品久久精品 | 99视频精品免费观看, | 四虎伊人| 狠狠干成人 | 四虎影视成人精品国库在线观看 | 狠狠狠狠狠狠天天爱 | 99精品国产一区二区三区麻豆 | 久久国产精品影视 | 亚洲天天综合 | 视频一区二区国产 | 亚洲在线视频观看 | 国产在线观看地址 | 久久久久久久国产精品视频 | 热久久视久久精品18亚洲精品 | 久久福利剧场 | 日韩精品一区二区不卡 | 国产午夜精品一区二区三区在线观看 | 青青看片 | 一区二区三区污 | 久久久久久看片 | 免费中文字幕 | 国产精品av在线 | 婷婷色在线 | 99久久99久国产黄毛片 | 欧美日韩不卡一区二区 | 国产精品一码二码三码在线 | 高潮毛片无遮挡高清免费 | 久久久久久久久久影院 | 欧美亚洲国产日韩 | 色综合久久久久综合体桃花网 | 中文字幕在线视频第一页 | 天天干天天操天天爱 | 国产精品久久久久久久久久直播 | 在线中文字幕电影 | 四川妇女搡bbbb搡bbbb搡 | 日韩精品一区二区三区免费视频观看 | 黄色网址a | 国产色a在线观看 | 在线精品视频在线观看高清 | 91试看| a视频免费在线观看 | 99午夜| 欧美韩国在线 | 亚洲精品国产欧美在线观看 | 91精品啪在线观看国产81旧版 | 午夜视频导航 | 精品成人国产 | 久久精品久久久久久久 | 亚洲精品一区二区三区在线观看 | 91一区啪爱嗯打偷拍欧美 | 黄网站色欧美视频 | 国产精品欧美一区二区 | ,久久福利影视 | 最近中文字幕大全 | 中文字幕亚洲字幕 | 天天色天天操综合网 | 在线观看一区二区视频 | 99精品视频观看 | 日韩欧美在线中文字幕 | 日韩色视频在线观看 | 91av在线免费看 | 欧美日韩国产精品一区二区亚洲 | 久久成人免费电影 | 在线日本v二区不卡 | 国产不卡片 | 天天干视频在线 | 狠狠地操| 久久国产亚洲 | 日韩av一区二区三区在线观看 | 超碰97久久 | 国产精品乱码在线 | 国产生活一级片 | 国产你懂的在线 | 国产一区二区成人 | 涩涩网站免费 | 婷婷久久综合九色综合 | 亚洲伊人天堂 | 国产日韩欧美在线观看视频 | 日本中文字幕在线免费观看 | 性色av免费在线观看 | 在线观看亚洲专区 | 涩涩网站在线观看 |