U-Boot的常用命令详解(转)

上一篇 / 下一篇  2010-03-08 17:22:33 / 个人分类:Linux

我的栏目
  • 栏目:Linux

Refer tohttp://tech.uplooking.com/qianrushi/2009/0512/55.html

R T){3Y'^0

U {D aHT Y(] I0 

0M~.I k)u0

U-Boot还提供了详细的命令帮助,通过help命令还可以查看每个命令的参数说明。由于开发过程的需要,有必要先把U-Boot命令的用法弄清楚。接下来,根据每一条命令的帮助信息,解释一下这些命令的功能和参数。51Testing软件测试网0jE_T"T;W

1bootm
*J }1TB T~0bootm [addr [arg ...]]

2{5?S%?w,|3d+X0?8h0

    - boot application image stored in memory51Testing软件测试网3h/Kq9R%Z @e\ \

          passing arguments 'arg ...'; when booting a Linux kernel, 'arg' can be the address of an initrd image

X:}zF7Zo lm0

bootm命令可以引导启动存储在内存中的程序映像。这些内存包括RAM和可以永久保存的Flash

#SUi Hv!s5H'h0

1个参数addr是程序映像的地址,这个程序映像必须转换成U-Boot的格式。51Testing软件测试网0mW&} O _3M] jLo

2个参数对于引导Linux内核有用,通常作为U-Boot格式的RAMDISK映像存储地址;也可以是传递给Linux内核的参数(缺省情况下传递bootargs环境变量给内核)。

LO`h+X!QE0

 51Testing软件测试网b"q8l'g']A

2bootp51Testing软件测试网]3[%x{U%~$L:rX

bootp [loadAddress] [bootfilename]

)vww-AU0

bootp命令通过bootp请求,要求DHCP服务器分配IP地址,然后通过TFTP协议下载指定的文件到内存。51Testing软件测试网8R)p.s)s?P

1个参数是下载文件存放的内存地址。51Testing软件测试网.z9B9YG+ys\

2个参数是要下载的文件名称,这个文件应该在开发主机上准备好。

8{,d`;G/`-B)E5iiyQ0

 

q,[J%mo;t0

3cmp

3l*g,_|8NN;^ ec0

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

"Ej/RhL@Y6fr0

     - compare memory51Testing软件测试网6R]T,O^Vc

cmp命令可以比较2块内存中的内容。.b以字节为单位;.w以字为单位;.l以长字为单位。注意:cmp.b中间不能保留空格,需要连续敲入命令。

#T CiW#hz*Ym)t0

1个参数addr1是第一块内存的起始地址。51Testing软件测试网_w DglSH3w3JFF2S

2个参数addr2是第二块内存的起始地址。51Testing软件测试网zJt!O1p

3个参数count是要比较的数目,单位按照字节、字或者长字。51Testing软件测试网s[!X&q FQ!O#Fs6i

 51Testing软件测试网c(e*WtA S1G? C

4cp51Testing软件测试网 Pa|-[RP#B%K,Z

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

-|!H0c A}Mf)s0b"m0

       - copy memory

zwpc2w;J*Mu0

cp命令可以在内存中复制数据块,包括对Flash的读写操作。51Testing软件测试网#fIk1b p

1个参数source是要复制的数据块起始地址。

/A uT~"v)d0

2个参数target是数据块要复制到的地址。这个地址如果在Flash中,那么会直接调用写Flash的函数操作。所以U-BootFlash就使用这个命令,当然需要先把对应Flash区域擦干净。

L1^x+w xV0

3个参数count是要复制的数目,根据cp.b cp.w cp.l分别以字节、字、长字为单位。

&fO8F P!c/e6h0

 51Testing软件测试网 ~-t(Uc'wR1l

5crc3251Testing软件测试网} T*h&}W`$R&p7BM

crc32 address count [addr]51Testing软件测试网~N`.\X(Z,M2F8Z3@ I4Yt

     - compute CRC32 checksum [save at addr]  51Testing软件测试网"aNj~bI@

crc32命令可以计算存储数据的校验和。

U$wd7n9fTd0H-F0

1个参数address是需要校验的数据起始地址。

E y8mH2S$g0

2个参数count是要校验的数据字节数。51Testing软件测试网I%}Sq-`%_e*B)L

3个参数addr用来指定保存结果的地址。

v.s X$V y!E ? l}0

 51Testing软件测试网y ON a Y Z3c*rN

6echo51Testing软件测试网 L@?+H)|u

echo [args..]

h~T,Y,z-GA0

      - echo args to console; c suppresses newline51Testing软件测试网3A[YC%SrP'YP

echo命令回显参数。51Testing软件测试网*Q,w _HU5G!u9z

 51Testing软件测试网2m$bIM|s

7erase51Testing软件测试网9[o m(_"b&P/~

erase start end

^Fi C'n3b)u,e#B0

      - erase FLASH from addr 'start' to addr 'end'51Testing软件测试网0F:g)Wl5}X4Q

erase N:SF[-SL]

UR7T-O]\`[%G0

      - erase sectors SF-SL in FLASH bank # N51Testing软件测试网W kR5T`R2lDkaW

erase bank N

\[*W] I}6xU0

      - erase FLASH bank # N51Testing软件测试网@8Gr `9jXi;h3dH

erase all

$k.C-geB&h5Lq J?ct0

      - erase all FLASH banks

3{k{$Z ~8U$z@oqq0

 51Testing软件测试网lT5r$Pl+l%\(s

erase命令可以擦Flash

1|'Yj8B,@"TJ0

参数必须指定Flash擦除的范围。

z/_a{f WIiY#`!n0

按照起始地址和结束地址,start必须是擦除块的起始地址;end必须是擦除末尾块的结束地址。这种方式最常用。举例说明:擦除0x20000 – 0x3ffff区域命令为erase 20000 3ffff51Testing软件测试网;^%k.T QAQI O7hYw

按照组和扇区,N表示Flash的组号,SF表示擦除起始扇区号,SL表示擦除结束扇区号。另外,还可以擦除整个组,擦除组号为N的整个Flash组。擦除全部Flash只要给出一个all的参数即可。51Testing软件测试网2A I:~+f7nh'mD

 

)\n[L pnt0

8flinfo

5kN:L+oi7y0

flinfo51Testing软件测试网_a!g/Pmr+e~

       - print information for all FLASH memory banks

'?)dd~iBjN3KK0

flinfo N51Testing软件测试网u/S1yztr

       - print information for FLASH memory bank # N51Testing软件测试网]b1IHB\7u

 51Testing软件测试网'}0i9OG]'S

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

;o[ ab{sF9n-Nz0

 51Testing软件测试网"~2U9P7ryl:c

9go

qa~8H)iF0

go addr [arg ...]51Testing软件测试网Oq+kh*D vs9a+l

      - start application at address 'addr'

.fq,M(oe0

       passing 'arg' as arguments

J_`hY},y0

 51Testing软件测试网9A0vjBx._

go命令可以执行应用程序。51Testing软件测试网:u"K5`I8?~9P

1个参数是要执行程序的入口地址。51Testing软件测试网Ex BLH2Z

2个可选参数是传递给程序的参数,可以不用。

+KM%K/~kHny eC0

 51Testing软件测试网"rS4W b_0O&K.v5A"Or

10iminfo51Testing软件测试网O4P o-Ht*Ek

iminfo addr [addr ...]

+s0mL'JOgt0

      - 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)51Testing软件测试网HZ_&rJ Wm lRj

 

dZ$am*dh0

iminfo可以打印程序映像的开头信息,包含了映像内容的校验(序列号、头和校验和)。51Testing软件测试网-`Y1H-v `\ N'o5G

1个参数指定映像的起始地址。

$~%MW%S ~0

可选的参数是指定更多的映像地址。

7gs$SYckDq0

 51Testing软件测试网*]|'kZX!y t Q8z P

11loadb51Testing软件测试网 AQR;hy^

loadb [ off ] [ baud ]51Testing软件测试网 x7d laZ;J v7s

     - load binary file over serial line with offset 'off' and baudrate 'baud'51Testing软件测试网.}y8N [)l

51Testing软件测试网9N:R5sL8^Y_'M
loadb命令可以通过串口线下载二进制格式文件。51Testing软件测试网,o$c~vN.f h*Bx

 

4m&c|8|;b oo G2Os0

12loads51Testing软件测试网9[)E,c0@V5n

loads [ off ]

z'?!R#L~4wQ0

    - load S-Record file over serial line with offset 'off'51Testing软件测试网^/Y7[aL1o1n%j

 

7@HmGbhP,b^0

loads命令可以通过串口线下载S-Record格式文件。51Testing软件测试网'\*` }D8U$EK

 51Testing软件测试网U%]8Wt]#gd

13mw

"I7F+Zen8`3X0

mw [.b, .w, .l] address value [count]51Testing软件测试网#\m8E0W!{&_3I

     - write memory51Testing软件测试网~Z0zV f5wpZ


RCx;Ke:V+m.E&{0mw命令可以按照字节、字、长字写内存,.b .w .l的用法与cp命令相同。

Cs@ S'_4h$h0

1个参数address是要写的内存地址。

3b9L i[aMt5b0

2个参数value是要写的值。51Testing软件测试网2AG"f*Ty z1c

3个可选参数count是要写单位值的数目。51Testing软件测试网Y;afP+[-a v

 

tp"@!E@Dd5Q T O/N0

14nfs

5F0Z.L `e#Z:[ \0

nfs [loadAddress] [host ip addr:bootfilename]

"`'rd%h,aF0

nfs命令可以使用NFS网络协议通过网络启动映像。

@M(X1m'yh0

 51Testing软件测试网Nb/V|Xo,q/{

15nm

\/YIw~,Y,t0

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

sN,g;q4{s]0

     - memory modify, read and keep address

n%_?M/L {N0

 

fF)G;tOb;vR"b?0

nm命令可以修改内存,可以按照字节、字、长字操作。

h/u \x+kR'W+h6O0

参数address是要读出并且修改的内存地址。

\jl(i,Ent\5BoB0

 51Testing软件测试网;S(t Qpy N5O'd&D|7df

16printenv

-^ cp([z6x0

printenv

P_AlS H$Z{!~0

      - print values of all environment variables

dl2u/Ll3h0

printenv name ...51Testing软件测试网q} P@4L^9C

      - print value of environment variable 'name'51Testing软件测试网~V/M^D

 51Testing软件测试网9^"cTB{aH8lG

printenv命令打印环境变量。51Testing软件测试网\0v!\&fll

可以打印全部环境变量,也可以只打印参数中列出的环境变量。

x@S%bSHn1d[0

 51Testing软件测试网+Y G^fr#Z

17protect51Testing软件测试网FzP$U1l:EY^

protect on  start end51Testing软件测试网$e4Ef G RJzo4q(v

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

d c-y0ft+]?B#pP0

protect on  N:SF[-SL]

4V"Me'_/G4z0hf!BheOT0

      - protect sectors SF-SL in Flash bank # N51Testing软件测试网"eZ%`1\[pys5m

protect on  bank N51Testing软件测试网E(i XOM's;Yk

      - protect Flash bank # N

h&C7e9UkC0

protect on  all

_w a3~/?(T nlg0

      - protect all Flash banks

!_W1fxT2~S&l/F0

protect off start end51Testing软件测试网7p(\#ecV*J-E

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

(X9q(g;hn#M.p9B0

protect off N:SF[-SL]51Testing软件测试网_ j \'UE sE$Q {

    - make sectors SF-SL writable in Flash bank # N51Testing软件测试网;Ms+PmYA"j1H5@,Zq

protect off bank N

\ qg1[oO+d:g0

    - make Flash bank # N writable51Testing软件测试网"LO \.B4M

protect off all51Testing软件测试网"oU!mu_q1S

    - make all Flash banks writable

fa$n$]1nD8@3|O&|2c0

 

~,CU&J[n7^M#{3w]5]L0

protect命令是对Flash写保护的操作,可以使能和解除写保护。

]W DITW0

1个参数on代表使能写保护;off代表解除写保护。

+z$Le N+K*K0

23参数是指定Flash写保护操作范围,跟擦除的方式相同。51Testing软件测试网K v:F^/Vd*L0On

 51Testing软件测试网O~GrT[J&@Cz`{9@

18rarpboot

.} i$E]{B{~(L0

rarpboot [loadAddress] [bootfilename]51Testing软件测试网 B0]9[ _J Iu)\{

 

zE_|s@J(@(h0

rarboot命令可以使用TFTP协议通过网络启动映像。也就是把指定的文件下载到指定地址,然后执行。51Testing软件测试网 N*K6H9xu!wUh

1个参数是映像文件下载到的内存地址。51Testing软件测试网T7hMWa,M SI

2个参数是要下载执行的映像文件。

:{:b$p/ZK&z0

 

@6a/JM~(d6~0

19run51Testing软件测试网2FFrw ~AD

run var [...]51Testing软件测试网(heJy"F G

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

I%WK/U h]hoj0

run命令可以执行环境变量中的命令,后面参数可以跟几个环境变量名。

~gH%q"o7j4O v]:T0

 51Testing软件测试网 bPw#G1N}8M

20setenv51Testing软件测试网&d;\2K,[6r a2S+D]A

setenv name value ...51Testing软件测试网R:mj;wUKz

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

[%c/L U2M+\;T0

setenv name

K~m'Dh3W0

      - delete environment variable 'name'51Testing软件测试网bTb,b P/t#x o ~

 51Testing软件测试网+X7\'Z5G ?8pa/k t9]

setenv命令可以设置环境变量。

-^%?8C1QK0

1个参数是环境变量的名称。51Testing软件测试网{B0jCCE

2个参数是要设置的值,如果没有第2个参数,表示删除这个环境变量。51Testing软件测试网$w\6b:Sv8y

 

$I e7]w3I]0

21sleep

|U Do2J3O0

sleep N51Testing软件测试网fc:M"x)Tuz.t5`

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

"B6Z'c IzE)[5y0

sleep命令可以延迟N秒钟执行,N为十进制数。51Testing软件测试网"y$\4_d/Y o

 

5@Xl"SEdf$_PV0

22tftpboot51Testing软件测试网}dJ!wBa

tftpboot [loadAddress] [bootfilename]51Testing软件测试网1?+go:C'E.Ky

tftpboot命令可以使用TFTP协议通过网络下载文件。按照二进制文件格式下载。另外使用这个命令,必须配置好相关的环境变量。例如serveripipaddr

)p)_i4zHH j"e/L0

1个参数loadAddress是下载到的内存地址。

0bZ^~4w!{M9j0

2个参数是要下载的文件名称,必须放在TFTP服务器相应的目录下。

bM~(GFy [v5^ f0

 51Testing软件测试网fR4W ]U6BZ%a v'l^L

这些U-Boot命令为嵌入式系统提供了丰富的开发和调试功能。在Linux内核启动和调试过程中,都可以用到U-Boot的命令。但是一般情况下,不需要使用全部命令。比如已经支持以太网接口,可以通过tftpboot命令来下载文件,那么还有必要使用串口下载的loadb吗?反过来,如果开发板需要特殊的调试功能,也可以添加新的命令。51Testing软件测试网m8e [qPW

M&x%JU]mS r0 

%G MI%R3m;^9lMyb0

TAG: Linux U-boot

 

评分:0

我来说两句

Open Toolbar