U-Boot的常用命令详解(转)
上一篇 / 下一篇 2010-03-08 17:22:33 / 个人分类:Linux
我的栏目
- 栏目:Linux
(Refer tohttp://tech.uplooking.com/qianrushi/2009/0512/55.html)
U {D a HT Y(]I0
0M~.I k)u0U-Boot还提供了详细的命令帮助,通过help命令还可以查看每个命令的参数说明。由于开发过程的需要,有必要先把U-Boot命令的用法弄清楚。接下来,根据每一条命令的帮助信息,解释一下这些命令的功能和参数。51Testing软件测试网0jE_T"T;W
1、bootm
*J}1TB T ~0bootm [addr [arg ...]]
- 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 lm0bootm命令可以引导启动存储在内存中的程序映像。这些内存包括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!QE02、bootp51Testing软件测试网]3[%x{U%~$L:rX
bootp [loadAddress] [bootfilename]
)vww-AU0bootp命令通过bootp请求,要求DHCP服务器分配IP地址,然后通过TFTP协议下载指定的文件到内存。51Testing软件测试网8R)p.s)s?P
第1个参数是下载文件存放的内存地址。51Testing软件测试网.z9B9YG+ys\
第2个参数是要下载的文件名称,这个文件应该在开发主机上准备好。
8{,d`;G/`-B)E5iiyQ0q,[J%mo;t0
3、cmp
3l*g,_|8NN;^ ec0cmp [.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软件测试网 _wDglSH3w3JFF2S
第2个参数addr2是第二块内存的起始地址。51Testing软件测试网zJt!O1p
第3个参数count是要比较的数目,单位按照字节、字或者长字。51Testing软件测试网s[!X&q FQ!O#Fs6i
51Testing软件测试网c(e*WtA S1G? C
4、cp51Testing软件测试网 Pa|-[RP#B%K,Z
cp [.b, .w, .l] source target count
-|!H0c A}Mf)s0b"m0- copy memory
zwpc2w;J*Mu0cp命令可以在内存中复制数据块,包括对Flash的读写操作。51Testing软件测试网#fIk1b p
第1个参数source是要复制的数据块起始地址。
/AuT~"v)d0第2个参数target是数据块要复制到的地址。这个地址如果在Flash中,那么会直接调用写Flash的函数操作。所以U-Boot写Flash就使用这个命令,当然需要先把对应Flash区域擦干净。
L1^x+w xV0第3个参数count是要复制的数目,根据cp.b cp.w cp.l分别以字节、字、长字为单位。
&fO8F P!c/e6h051Testing软件测试网 ~-t(Uc'wR1l
5、crc3251Testing软件测试网} 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$Vy!E ? l}051Testing软件测试网yON aYZ3c*rN
6、echo51Testing软件测试网 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
7、erase51Testing软件测试网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&h5LqJ?ct0- erase all FLASH banks
3{k{$Z ~8U$z@oqq051Testing软件测试网lT5r$P l+l%\(s
erase命令可以擦Flash。
1|'Yj8B,@"TJ0参数必须指定Flash擦除的范围。
z/_a{fWIiY#`!n0按照起始地址和结束地址,start必须是擦除块的起始地址;end必须是擦除末尾块的结束地址。这种方式最常用。举例说明:擦除0x20000 – 0x3ffff区域命令为erase 20000 3ffff。51Testing软件测试网;^%k.TQAQIO7hYw
按照组和扇区,N表示Flash的组号,SF表示擦除起始扇区号,SL表示擦除结束扇区号。另外,还可以擦除整个组,擦除组号为N的整个Flash组。擦除全部Flash只要给出一个all的参数即可。51Testing软件测试网2A I:~+f7nh'mD
)\n[L pnt0
8、flinfo
5kN:L+oi7y0flinfo51Testing软件测试网_a!g/Pmr+e~
- print information for all FLASH memory banks
'?)dd~iBjN3KK0flinfo N51Testing软件测试网u/S1yztr
- print information for FLASH memory bank # N51Testing软件测试网]b1I HB\7u
51Testing软件测试网'}0i9OG]'S
flinfo命令打印全部Flash组的信息,也可以只打印其中某个组。一般嵌入式系统的Flash只有一个组。
;o[ab{sF9n-Nz051Testing软件测试网"~2U9P7ryl:c
9、go
qa~8H)iF0go addr [arg ...]51Testing软件测试网Oq+kh*D vs9a+l
- start application at address 'addr'
.fq,M(oe0passing 'arg' as arguments