日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

UBoot常用命令手册

發布時間:2024/4/14 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 UBoot常用命令手册 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

UBoot常用命令手冊

U-Boot還提供了更加詳細的命令幫助,可以通過”?”顯示支持的命令列表,通過help [CommandName]命令還可以查看每個命令的參數說明。

1、bootm

bootm [addr [arg ...]]

????- boot application image stored in memory

??????????passing arguments 'arg ...'; when booting a Linux kernel,

???????????'arg' can be the address of an initrd image

bootm命令可以引導啟動存儲在內存中的程序映像。這些內存包括RAM和可以永久保存的Flash。

第1個參數addr是程序映像的地址,這個程序映像必須轉換成U-Boot的格式。

第2個參數對于引導Linux內核有用,通常作為U-Boot格式的RAMDISK映像存儲地址;也可以是傳遞給Linux內核的參數(缺省情況下傳遞bootargs環境變量給內核)。

附加說明: 要求二進制代碼為制定格式的。通常為mkimage處理過的二進制文件。起動UBOOT TOOLS制作的壓縮LINUX內核, bootm 3200000

?

2、bootp

bootp [loadAddress] [bootfilename]

bootp命令通過bootp請求,要求DHCP服務器分配IP地址,然后通過TFTP協議下載指定的文件到內存。

第1個參數是下載文件存放的內存地址。

第2個參數是要下載的文件名稱,這個文件應該在開發主機上準備好。

附加說明: 通過網絡啟動,需要提前設置好硬件地址bdinfo打印ARM相關信息

?

3、cmp

cmp [.b, .w, .l] addr1 addr2 count

?????- compare memory

cmp命令可以比較2塊內存中的內容。.b以字節為單位;.w以字為單位;.l以長字為單位。注意:cmp.b中間不能保留空格,需要連續敲入命令。

第1個參數addr1是第一塊內存的起始地址。

第2個參數addr2是第二塊內存的起始地址。

第3個參數count是要比較的數目,單位按照字節、字或者長字。

?

4、cp

cp [.b, .w, .l] source target count

???????- copy memory

cp命令可以在內存中復制數據塊,包括對Flash的讀寫操作。

第1個參數source是要復制的數據塊起始地址。

第2個參數target是數據塊要復制到的地址。這個地址如果在Flash中,那么會直接調用寫Flash的函數操作。所以U-Boot寫Flash就使用這個命令,當然需要先把對應Flash區域擦凈。

第3個參數count是要復制的數目,根據cp.b cp.w cp.l分別以字節、字、長字為單位。

?

5、crc32

crc32 address count [addr]

?????- compute CRC32?checksum [save at addr]??

crc32命令可以計算存儲數據的校驗和。

第1個參數address是需要校驗的數據起始地址。

第2個參數count是要校驗的數據字節數。

第3個參數addr用來指定保存結果的地址。


6、echo

echo [args..]

??????- echo args to console; c suppresses newline

echo命令回顯參數。

用法:echo $( bootcmd)


7、erase

erase start end

??????- erase FLASH from addr 'start' to addr 'end'

erase N:SF[-SL]

??????- erase sectors SF-SL in FLASH bank # N

erase bank N

??????- erase FLASH bank # N

erase all

??????- erase all FLASH banks

erase命令可以擦Flash。

參數必須指定Flash擦除的范圍。

按照起始地址和結束地址,start必須是擦除塊的起始地址;end必須是擦除末尾塊的結束地址。這種方式最常用。舉例說明:擦除0x20000 – 0x3ffff區域命令為erase?20000 3ffff。

按照組和扇區,N表示Flash的組號,SF表示擦除起始扇區號,SL表示擦除結束扇區號。另外,還可以擦除整個組,擦除組號為N的整個Flash組。擦除全部Flash只要給出一個all的參數即可。

用法:

寫入數據之前必須先執行該命令

用法: erase 0xc******* +0xYYYYYYYY

說明: 擦除從0xc******* 開始的0xYYYYYYYY字節(字節必須塊對齊)

例:

Z228 # erase 0xc4040000 +0x180000

........................ done

Erased 24 sectors

附加: erase 1:0-2(就是對每一塊FLASH的0-2扇區進行刪除)

h. cp.b

拷貝數據,從指定源地址到目標地址,地址可以是ram,也可以是nor flash

用法: cp.b 0x******** 0x######## 0xYYYYYYYY

說明: 拷貝源0x********到目標0x########,共拷貝0xYYYYYYY字節

例:

Z228 # cp.b 0x200000 0xc4040000 0x180000

Copy to Flash... done

?

8、flinfo

flinfo

???????- print information for all FLASH memory banks

flinfo N

???????- print information for FLASH memory bank # N

flinfo命令打印全部Flash組的信息,也可以只打印其中某個組。一般嵌入式系統的Flash只有一個組。

?

9、go

go addr [arg ...]

??????- start application at address 'addr'

?????????passing 'arg' as arguments

go命令可以執行應用程序。

第1個參數是要執行程序的入口地址。

第2個可選參數是傳遞給程序的參數,可以不用。

?

10、iminfo

iminfo addr [addr ...]

??????- print header information for application image starting at

?????????address 'addr' in memory; this includes verification of the

?????????image contents (magic number, header and payload checksums)

iminfo可以打印程序映像的開頭信息,包含了映像內容的校驗(序列號、頭和校驗和)。

第1個參數指定映像的起始地址。

可選的參數是指定更多的映像地址。

?

11、loadb

loadb [ off ] [ baud ]

?????- load binary file over serial line with offset 'off' and baudrate 'baud'

dKNLinux聯盟loadb命令可以通過串口Kermit協議下載二進制數據。


12、loads

loads [ off ]

????- load S-Record file over serial line with offset 'off'

loads命令可以通過串口線下載S-Record格式文件。

?

13、mw

mw [.b, .w, .l] address value [count]

?????- write memory

dKNLinux聯盟mw命令可以按照字節、字、長字寫內存,.b .w .l的用法與cp命令相同。

第1個參數address是要寫的內存地址。

第2個參數value是要寫的值。

第3個可選參數count是要寫單位值的數目。

用法: mw 32000000 ff 10000(把內存0x32000000開始的0x10000字節設為0xFF)

?

14、nm

nm [.b, .w, .l] address

?????- memory modify, read and keep address

nm命令可以修改內存,可以按照字節、字、長字操作。

參數address是要讀出并且修改的內存地址。

?

15、Md

顯示內存區的內容。

?

16、Mm

讀或修改內存,地址自動遞增。

mm 內存地址 回車


此時進入內存查看 直接按回車 保持原內容不變,若要改變,在問號后面輸入數值然后回車 按 . 此符號退出


17、nfs

nfs [loadAddress] [host ip addr:bootfilename]

nfs命令可以使用NFS網絡協議通過網絡啟動映像。

用法:

nfs 32000000 192.168.0.2:aa.txt
把192.168.0.2(LINUX 的NFS文件系統)中的NFS文件系統中的aa.txt 讀入內存0x32000000處。

?

18、printenv

printenv

??????- print values of all environment variables

printenv name ...

??????- print value of environment variable 'name'

printenv命令打印環境變量。

可以打印全部環境變量,也可以只打印參數中列出的環境變量。

?

19、protect

protect on start end

??????- protect Flash from addr 'start' to addr 'end'

protect on N:SF[-SL]

??????- protect sectors SF-SL in Flash bank # N

protect on bank N

?????- protect Flash bank # N

protect on all

??????- protect all Flash banks

protect off start end

???????- make Flash from addr 'start' to addr 'end' writable

protect off N:SF[-SL]

?????- make sectors SF-SL writable in Flash bank # N

protect off bank N

?????- make Flash bank # N writable

protect off all

?????- make all Flash banks writable

protect命令是對Flash寫保護的操作,可以使能和解除寫保護。

第1個參數on代表使能寫保護;off代表解除寫保護。

第2、3參數是指定Flash寫保護操作范圍,跟擦除的方式相同。

用法:

protect on 1:0-3(就是對第一塊FLASH的0-3扇區進行保護)

protect off 1:0-3取消寫保護

protect off bank 1 解除/使能 第 N 塊FLASH的寫保護

?

20、rarpboot

rarpboot [loadAddress] [bootfilename]

rarboot命令可以使用TFTP協議通過網絡啟動映像。也就是把指定的文件下載到指定地址,然后執行。

第1個參數是映像文件下載到的內存地址。

第2個參數是要下載執行的映像文件。

?

21、run

run var [...]

??????- run the commands in the environment variable(s) 'var'

run命令可以執行環境變量中的命令,后面參數可以跟幾個環境變量名。

用法:

Uboot> setenv flashit tftp 20000000 mycode.bin\; erase 10020000 1002FFFF\;
cp.b 20000000 10020000 8000
Uboot> saveenv
Uboot> run flashit

?

22、setenv

setenv name value ...

??????- set environment variable 'name' to 'value ...'

setenv name

??????- delete environment variable 'name'

setenv命令可以設置環境變量。

第1個參數是環境變量的名稱。

第2個參數是要設置的值,如果沒有第2個參數,表示刪除這個環境變量。

用法:

Uboot> setenv myboard AT91RM9200DK
Uboot> printenv
baudrate=115200
ipaddr=192.168.1.1
ethaddr=12:34:56:78:9A:BC
serverip=192.168.1.5
myboard=AT91RM9200DK
Environment size: 102/8188 bytes

?

23、Saveenv

保存環境變量

命令將當前定義的所有的變量及其值存入flash中。用來存儲變量及其值的空間只有8k字節,應不要超過。

?

24、sleep

sleep N

??????- delay execution for N seconds (N is _decimal_ !!!)

sleep命令可以延遲N秒鐘執行,N為十進制數。

?

25、tftpboot

tftpboot [loadAddress] [bootfilename]

tftpboot命令可以使用TFTP協議通過網絡下載文件。按照二進制文件格式下載。另外使用這個命令,必須配置好相關的環境變量。例如serverip和ipaddr。

第1個參數loadAddress是下載到的內存地址。

第2個參數是要下載的文件名稱,必須放在TFTP服務器相應的目錄下。

?

26、ping

注:只能開發板PING別的機器

?

27、usb

usb start: 起動usb 功能
usb info: 列出設備
usb scan: 掃描usb storage(u 盤)設備

?

28、kgo

起動沒有壓縮的linux內核

kgo 32000000

?

29、fatls

列出DOS FAT文件系統

fatls usb 0列出第一塊U盤中的文件

?

30、fatload

讀入FAT中的一個文件

fatload usb 0:0 32000000 aa.txt 把USB中的aa.txt 讀到物理內存0x32000000處

?

Printenv?打印環境變量。

Uboot> printenv
baudrate=115200
ipaddr=192.168.1.1
ethaddr=12:34:56:78:9A:BC
serverip=192.168.1.5
Environment size: 80/8188 bytes

Setenv?設置新的變量

Uboot> setenv myboard AT91RM9200DK
Uboot> printenv
baudrate=115200
ipaddr=192.168.1.1
ethaddr=12:34:56:78:9A:BC
serverip=192.168.1.5
myboard=AT91RM9200DK
Environment size: 102/8188 bytes

Saveenv?保存變量

命令將當前定義的所有的變量及其值存入flash中。用來存儲變量及其值的空間只有8k字節,應不要超過。

Loadb?通過串口Kermit協議下載二進制數據。

Tftp?通過網絡下載程序,需要先設置好網絡配置

Uboot> setenv ethaddr 12:34:56:78:9A:BC
Uboot> setenv ipaddr 192.168.1.1
Uboot> setenv serverip 192.168.1.254?????(tftp服務器的地址)
下載bin文件到地址0x20000000處。
Uboot> tftp 20000000 application.bin?(application.bin應位于tftp服務程序的目錄)

Uboot>?tftp 32000000 vmlinux
把server(IP=環境變量中設置的serverip)中/tftpdroot/ 下的vmlinux通過TFTP讀入到物理內存32000000處。

Md?顯示內存區的內容。

Mm?修改內存,地址自動遞增。

Nm?修改內存,地址不自動遞增。

Mw?用模型填充內存

mw 32000000 ff 10000(把內存0x32000000開始的0x10000字節設為0xFF)

Cp?拷貝一塊內存到另一塊

???cp.b 20000000 10000000 ffff ;將20000000的數據寫入10000000,ffff為文件大小

Cmp?比較兩塊內存區

這些內存操作命令后都可加一個后綴表示操作數據的大小,比如cp.b表示按字節拷貝。

Protect?寫保護操作

protect on 1:0-3(就是對第一塊FLASH的0-3扇區進行保護)
protect off 1:0-3取消寫保護

Erase?擦除扇區。

erase: 刪除FLASH的扇區
erase 1:0-2(就是對每一塊FLASH的0-2扇區進行刪除)

對DataFlash的操作

U-Boot在引導時如果發現NPCS0和NPCS3上連有DataFlash,就會分配虛擬的地址給它,具體為 :
0xC0000000---NPCS0
0xD0000000---NPCS3

run?執行設置好的腳本

Uboot> setenv flashit tftp 20000000 mycode.bin\; erase 10020000 1002FFFF\;
cp.b 20000000 10020000 8000
Uboot> saveenv
Uboot> run flashit

bootcmd?保留的環境變量,也是一種腳本

如果定義了該變量,在autoboot模式下,將會執行該腳本的內容。

Go?執行內存中的二進制代碼,一個簡單的跳轉到指定地址

Bootm?執行內存中的二進制代碼

要求二進制代碼為制定格式的。通常為mkimage處理過的二進制文件。
起動UBOOT TOOLS制作的壓縮LINUX內核, bootm 3200000

Bootp?通過網絡啟動,需要提前設置好硬件地址。

?得到所有命令列表

help?help usb, 列出USB功能的使用說明

ping?注:只能開發板PING別的機器

usb

usb start: 起動usb 功能
usb info: 列出設備
usb scan: 掃描usb storage(u 盤)設備

kgo?起動沒有壓縮的linux內核

kgo 32000000

fatls?列出DOS FAT文件系統

fatls usb 0列出第一塊U盤中的文件

fatload?讀入FAT中的一個文件

fatload usb 0:0 32000000 aa.txt 把USB中的aa.txt 讀到物理內存0x32000000處!

flinfo?列出flash的信息

nfs

nfs 32000000 192.168.0.2:aa.txt
把192.168.0.2(LINUX 的NFS文件系統)中的NFS文件系統中的aa.txt 讀入內存0x32000000處。

【作者】張昺華 【出處】http://www.cnblogs.com/sky-heaven/ 【博客園】 http://www.cnblogs.com/sky-heaven/ 【新浪博客】 http://blog.sina.com.cn/u/2049150530 【知乎】 http://www.zhihu.com/people/zhang-bing-hua 【我的作品---旋轉倒立擺】 http://v.youku.com/v_show/id_XODM5NDAzNjQw.html?spm=a2hzp.8253869.0.0&from=y1.7-2 【我的作品---自平衡自動循跡車】 http://v.youku.com/v_show/id_XODM5MzYyNTIw.html?spm=a2hzp.8253869.0.0&from=y1.7-2 【新浪微博】 張昺華--sky 【twitter】 @sky2030_ 【facebook】 張昺華 zhangbinghua 本文版權歸作者和博客園共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權利.

總結

以上是生活随笔為你收集整理的UBoot常用命令手册的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。