U-boot 支持2種方式燒寫 emmc設(shè)備:
Fastboot命令:通過usb接口燒寫。
步驟:
1.編寫u-boot支持從sd卡啟動(dòng),里面涉及到文件的修改,下面講解。
2.按照上述方法,把u-boot燒錄到sd上,使開發(fā)板從sd卡啟動(dòng)。
3.進(jìn)入開發(fā)板命令終端 # :
4.首先格式emmc,目的是分配4個(gè)分區(qū)。分別為vfat分區(qū), system 分區(qū), userdata分區(qū), Cache分區(qū).
# : fdisk -c 0
-c :表示格式當(dāng)前設(shè)備
0: 表示初始化的emmc設(shè)備節(jié)點(diǎn),mmc/sd設(shè)備加載順序,分配的節(jié)點(diǎn)從0開始到3結(jié)束。不管你從哪個(gè)通道指定起始設(shè)備,多從0開始分配。如:emmc占用通道0口,
分配的節(jié)點(diǎn)是 0,sd卡占用通道2口,分配的節(jié)點(diǎn)是 1.
如果不初始化emmc,只使用sd卡模式,在sd卡占用通道2口時(shí),分配的節(jié)點(diǎn)是 0.這點(diǎn)請(qǐng)
了解源代碼,后續(xù)會(huì)修改。
所以,如果想給板子上SD分區(qū)的話,使用如下命令(在emmc也初始化成功的情況下)
#: fdisk -c 1
查看設(shè)備分區(qū)情況:
#:fdisk -p 0
5.格式化分區(qū),vfat分區(qū)為fat32格式。其它都為 ext3文件系統(tǒng)格式.
格式vfat分區(qū): #:fatformat mmc 0:1
0:同上意思,表示的已經(jīng)加載的emmc設(shè)備節(jié)點(diǎn)。
1:表示第1個(gè)分區(qū),注意。程序默認(rèn)第一個(gè)分區(qū)必須為fat分區(qū),
只能指定為 1,程序會(huì)比較是否為分區(qū)1,不是就不會(huì)格式化。
格式ext3分區(qū):
#:ext3format mmc 0:2 //system
#:ext3format mmc 0:3 //userdata
#:ext3format mmc 0:4 //cache
6:燒寫文件:
#:fastboot
給開發(fā)板通過usb線跟pc連接。
下載工具:fastboot到windows下,把要燒錄的文件 zImage system userdata放到fastboot文件里面。
點(diǎn)windows下開始 ---->運(yùn)行 :輸入:cmd
在控制行下進(jìn)入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啟動(dòng)參數(shù):
Set bootcmd " movi read kernel c0008000 ;movi rootfs c0800000 180000;
Bootm c0008000 c0800000"
Save
---------------------------------------------------------------------------
Sdfuse 燒寫方式:
步驟:
1:編寫u-boot支持從sd卡啟動(dòng),里面涉及到文件的修改,下面講解。
:2:按照上述方法,把u-boot燒錄到sd上,使開發(fā)板從sd卡啟動(dòng)。
3:在sd里新建文件目錄 sdfuse,然后把需要燒寫的文件放入里面。
4:從SD卡模式啟動(dòng)開發(fā)板,進(jìn)入開發(fā)板命令終端 # :
5:分區(qū): fdisk -c 0
確保已經(jīng)對(duì)emmc分配了節(jié)點(diǎn) 0 ,sd卡分配的節(jié)點(diǎn) 1.
6:格式化同上。
7:燒寫文件:
Sdfuse flash bootloader u-boot.bin
Sdfuse flash kernel zImage
Sdfuse flash ramdisk ramdisk-uboot.img
Sdfuse flash system system.ext3
或者修改文件,支持全部自動(dòng)燒寫:
Sdfuse flashall
8: 修改u-boot啟動(dòng)參數(shù),同上。