U-boot發(fā)展到現(xiàn)在,他的命令行模式已經(jīng)非常接近Linux下的shell了,在我編譯的U-boot-2009.11中的命令行模式模式下支持“Tab”鍵的命令補(bǔ)全和命令的歷史記錄功能。而且如果你輸入的命令的前幾個(gè)字符和別的命令不重復(fù),那么你就只需要打這幾個(gè)字符即可,比如我想看這個(gè)U-boot的版本號(hào),命令就是“ version”,但是在所有的命令中沒(méi)有其他任何一個(gè)的命令是由“v”開(kāi)頭的,所以只需要輸入“v”即可。
由于U-boot支持的命令實(shí)在太多,由于開(kāi)發(fā)過(guò)程的需要,有必要先把U-Boot命令的用法弄清楚。接下來(lái),根據(jù)每一條命令的幫助信息,解釋一下這些命令的功能和參數(shù)。
進(jìn)入uboot的命令行提示后,通過(guò)help指令,可以得知當(dāng)前的uboot支持的所有命令
help 指令名稱,可以得知對(duì)應(yīng)指令的相關(guān)幫助, 如help setenv
? u-boot的環(huán)境變量
u-boot的環(huán)境變量用來(lái)存儲(chǔ)一些經(jīng)常使用的參數(shù)變量,uboot希望將環(huán)境變量存儲(chǔ)在靜態(tài)存儲(chǔ)器中(如nand nor eeprom mmc)。
其中有一些也是大家經(jīng)常使用,有一些是使用人員自己定義的,更改這些名字會(huì)出現(xiàn)錯(cuò)誤,下面的表中我們列出了一些常用的環(huán)境變量:
bootdelay 執(zhí)行自動(dòng)啟動(dòng)的等候秒數(shù)
baudrate 串口控制臺(tái)的波特率
ethaddr 以太網(wǎng)卡的網(wǎng)卡物理地址
bootfile 缺省的下載文件
bootargs 傳遞給內(nèi)核的啟動(dòng)參數(shù)
bootcmd 自動(dòng)啟動(dòng)時(shí)執(zhí)行的命令
serverip 服務(wù)器端的ip地址
ipaddr 本地ip 地址
stdin 標(biāo)準(zhǔn)輸入設(shè)備
stdout 標(biāo)準(zhǔn)輸出設(shè)備
stderr 標(biāo)準(zhǔn)出錯(cuò)設(shè)備
上面這些是uboot默認(rèn)存在的環(huán)境變量,uboot本身會(huì)使用這些環(huán)境變量來(lái)進(jìn)行配置。我們可以自己定義一些環(huán)境變量來(lái)供我們自己uboot驅(qū)動(dòng)來(lái)使用。
Uboot環(huán)境變量的設(shè)計(jì)邏輯是在啟動(dòng)過(guò)程中將env從靜態(tài)存儲(chǔ)器中讀出放到RAM中,之后在uboot下對(duì)env的操作(如printenv editenv setenv)都是對(duì)RAM中env的操作,只有在執(zhí)行saveenv時(shí)才會(huì)將RAM中的env重新寫(xiě)入靜態(tài)存儲(chǔ)器中。
這種設(shè)計(jì)邏輯可以加快對(duì)env的讀寫(xiě)速度。
評(píng)論
查看更多