新手必讀,u-boot入門(mén)
一、U-BOOT命令詳解
1.1 幫助命令
# help
盡管UBOOT提供了豐富的命令集,但不同的開(kāi)發(fā)板所支持的命令卻不一樣(可配置),help 命令可用于察看當(dāng)前單板所支持的命令。
1.2 查看環(huán)境變量
printenv:查看環(huán)境變量
# printenv
1.3 修改環(huán)境變量
setenv 添加、修改、刪除環(huán)境變量
#setenv myboard 210
#printenv
serverip=192.168.1.5
myboard=210
1.4 保存環(huán)境變量
saveenv?保存環(huán)境變量,將當(dāng)前定義的所有變量及其值存入flash中。
1.5 文件下載
tftp 通過(guò)網(wǎng)絡(luò)下載文件
注意:使用tftp,需要先配置好網(wǎng)絡(luò)
#setenv ethaddr 12:34:56:78:9A:BC
#setenv ipaddr 192.168.0.3
#setenv serverip 192.168.0.2 (tftp服務(wù)器的地址)
#ping 192.168.0.2(tftp服務(wù)器的地址)
1.6 執(zhí)行程序
bootm {addr} {arg}
執(zhí)行固定格式的2進(jìn)制程序
范例:
#bootm 0xc0008000
1.7 查看內(nèi)存內(nèi)容
md 顯示內(nèi)存區(qū)的內(nèi)容。
md采用十六進(jìn)制和ASCII碼兩種形式來(lái)顯示存儲(chǔ)單元的內(nèi)容。
這條命令還可以采用長(zhǎng)度標(biāo)識(shí)符 .l, .w和.b :
md [.b, .w, .l] address
范例:
md.w 100000
00100000: 2705 1956 5050 4342 6f6f 7420 312e 312e
00100010: 3520 284d 6172 2032 3120 3230 3032 202d
1.8 修改內(nèi)存內(nèi)容
mm 修改內(nèi)存,地址自動(dòng)遞增。
mm [.b, .w, .l] address
mm 提供了一種互動(dòng)修改存儲(chǔ)器內(nèi)容的方法。它會(huì)顯示地址和當(dāng)前值
,然后提示用戶(hù)輸入。如果你輸入了一個(gè)合法的十六進(jìn)制數(shù),這
個(gè)新的值將會(huì)被寫(xiě)入該地址。然后提示下一個(gè)地址。如果你沒(méi)有
輸入任何值,只是按了一下回車(chē),那么該地址的內(nèi)容保持不變。
如果想結(jié)束輸入,則輸入空格,然后回車(chē)。
=> mm 100000
00100000: 27051956 ? 0
00100004: 50504342 ? AABBCCDD
1.9 擦除nand flash
nand erase 起始地址start 長(zhǎng)度len
擦除start處開(kāi)始的,長(zhǎng)度為len的區(qū)域
范例:
#nand erase 0x400000 0x500000
1.10 寫(xiě)/讀nand flash
nand write 內(nèi)存起始地址 flash起始地址 長(zhǎng)度len
將內(nèi)存起始地址處,長(zhǎng)度為len的數(shù)據(jù),寫(xiě)入flash起始地址處。
范例:
#nand write c0008000 400000 500000
nand read 內(nèi)存起始地址 flash起始地址 長(zhǎng)度len
將flash起始地址處,長(zhǎng)度為len的數(shù)據(jù),讀到內(nèi)存起始地址處。
范例:
#nand read c0008000 400000 500000
1.11 設(shè)置自啟動(dòng)
1: 設(shè)置從nand flash自動(dòng)啟動(dòng)
#setenv bootcmd nand read c0008000 400000 500000 ; bootm c0008000
2:設(shè)置自動(dòng)下載內(nèi)核到內(nèi)存后啟動(dòng)
#setenv bootcmd tftp c0008000 uImage ; bootm c0008000
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?
? ? ? ? ? ? ? ?
?
? ? ? ? ? ? ? ??