u-boot燒寫emmc方式
------------------------------------------------------------------------------------------------------------------------
U-boot 支援2種方式燒寫 emmc裝置:
Fastboot 命令:通過usb介面燒寫。
步驟:
1.編寫u-boot支援從sd卡啟動,裡面涉及到檔案的修改,下面講解。
2.按照上述方法,把u-boot燒錄到sd上,使開發板從sd卡啟動。
3.進入開發板命令終端 # :
4.首先格式emmc,目的是分配4個分割槽。分別為vfat 分割槽,
system
# : Fdisk -c 0
-c : 表示格式當前裝置
0:表示初始化的emmc裝置節點,mmc/sd裝置載入順序,分配的節點從0開始到3結束。不管你從哪個通道指定起始裝置,多從0開始分配。如:emmc 佔用通道0口,
分配的節點是 0,sd卡佔用通道2 口,分配的節點是 1.
如果不初始化emmc,只使用sd卡模式,在sd卡佔用通道2口時,分配的節點是 0.這點請
瞭解原始碼,後續會修改。
所以,如果想給板子上SD分割槽的話,使用如下命令(在emmc也初始化成功的情況下)
#: fdisk -c 1
檢視裝置分割槽情況:
#:fdisk -p 0
5.格式化分割槽,vfat 分割槽為fat32格式。其它都為 ext3 檔案系統格式.
格式vfat分割槽: #:fatformat mmc 0:1
0:同上意思,表示的已經載入的emmc裝置節點。
1:表示第1個分割槽,注意。程式預設第一個分割槽必須為fat分割槽,
只能指定為 1 ,程式會比較是否為分割槽1,不是就不會格式化。
格式ext3分割槽:
#:ext3format mmc 0:2 //system
#:ext3format mmc 0:3 //userdata
#:ext3format mmc 0:4 //cache
6:燒寫檔案:
#:fastboot
給開發板通過usb線跟pc連線。
下載工具:fastboot到windows下,把要燒錄的檔案 zImage system userdata放到fastboot檔案裡面。
點windows下開始 ----> 執行 :輸入:cmd
在控制行下進入fastboot所在的路徑如:
輸入命令: fastboot flash bootloader u-boot.bin
fastboot flash kernel zImage
fastboot flash ramdisk ramdisk-uboot.img
Fastboot flash system system..ext3
7.修改u-boot啟動引數:
Set bootcmd " movi read kernel c0008000 ;movi rootfs c0800000 180000;
Bootm c0008000 c0800000"
Save
---------------------------------------------------------------------------
Sdfuse 燒寫方式:
步驟:
1:編寫u-boot支援從sd卡啟動,裡面涉及到檔案的修改,下面講解。
:2:按照上述方法,把u-boot燒錄到sd上,使開發板從sd卡啟動。
3:在sd裡新建檔案目錄 sdfuse,然後把需要燒寫的檔案放入裡面。
4:從SD卡模式啟動開發板,進入開發板命令終端 # :
5:分割槽: fdisk -c 0
確保已經對emmc分配了節點 0 ,sd卡分配的節點 1.
6:格式化同上。
7:燒寫檔案:
Sdfuse flash bootloader u-boot.bin
Sdfuse flash kernel zImage
Sdfuse flash ramdisk ramdisk-uboot.img
Sdfuse flash system system.ext3
或者修改檔案,支援全部自動燒寫:
Sdfuse flashall
8: 修改u-boot啟動引數,同上。