uboot燒錄和啟動(dòng)Linux2.6.16內(nèi)核
以下這些在armfans上均有總結(jié)。。。
一.uboot燒錄
1.傳統(tǒng)的燒錄方法:調(diào)試環(huán)境Windows 系統(tǒng)下的ADS1.2 和MultiICE
(1)先對(duì)NorFlash 進(jìn)行擦除
(2)將u-boot.bin 文件load 到SDRAM 中
2.新的燒錄方法:采用Jlink
具體的步驟在阿虛的《SEP4020嵌入式競(jìng)賽培訓(xùn)》中(armfans中也有),很簡(jiǎn)單。。。
燒錄成功會(huì)在開(kāi)啟串口窗口時(shí)有顯示。用print命令可以顯示環(huán)境變量,用set可以改變環(huán)境變量,
***要save,哈哈OK
二.映像文件燒寫(啟動(dòng)Linux2.6.16 內(nèi)核)
1.內(nèi)核鏡像文件vmlinux.img,并放入tftp 服務(wù)器根目錄下,然后雙擊打開(kāi)TFTP 服務(wù)器。正確設(shè)
置TFTP 服務(wù)器的IP 地址以及根目錄。
2. 從宿主機(jī)下載內(nèi)核映像到開(kāi)發(fā)板。執(zhí)行UBOOT 命令:
=>tftp 30007fc0 vmlinux.img
=>set bootargs root=/dev/nfs rw nfsroot=192.168.0.3:/nfs
ip=192.168.0.2:192.168.0.3:192.168.0.1:255.255.255.0:sep4020:eth0:off
console=ttyS0,115200 mem=32mb
=>set bootcmd tftp 30007fc0 vmlinux.img\;bootm
=>save
=>reset
bootargs 參數(shù)是啟動(dòng)時(shí)傳遞給Linux 操作系統(tǒng)的信息
bootargs用來(lái)定義傳遞給Linux內(nèi)核的命令行參數(shù);
Bootcmd定義自動(dòng)啟動(dòng)時(shí)執(zhí)行的命令;
bootm10100000表示從0x10100000處引導(dǎo)內(nèi)核程序
三.內(nèi)核鏡像生成vmlinux.img
這部是應(yīng)該在前兩點(diǎn)前完成的。。。
進(jìn)入linux目錄下
#make menuconfig(內(nèi)核配置界面)
#make(生成vmlinux)(如果在/arch/arm/boot下沒(méi)有zImage文件,則make zImage)
#mkimage -n "Kernel 2.6.16" -A arm -O linux -T kernel -C none -a 30007fc0 -e
30008000 -d ./arch/arm/boot/zImage vmlinux.img(為內(nèi)核加uboot頭)
注:
#make menuconfig 圖形化的內(nèi)核配置make mrproper -----刪除不必要的文件和目錄.
#make config(基于文本的最為傳統(tǒng)的配置界面,不推薦使用)
#make menuconfig(基于文本選單的配置界面,字符終端下推薦使用)
#make xconfig(基于圖形窗口模式的配置界面,Xwindow下推薦使用)
#make oldconfig(如果只想在原來(lái)內(nèi)核配置的基礎(chǔ)上修改一些小地方,會(huì)省去不少麻煩)
【編輯推薦】