分类: 嵌入式
2011-09-19 11:44:54
尽管UBOOT提供了丰富的命令集,但不同的单板所支持的命令并不一定一样(可配置),help 命令可用于察看当前单板所支持的命令。
# help
# bdinfo – 显示开发板信息
环境变量相关
printenv 查看环境变量
usage:
printenv
- print values of all environment variables
printenv name ...
print value of environment variable 'name'
Uboot> printenv
ipaddr=192.168.1.1
ethaddr=12:34:56:78:9A:BC
serverip=192.168.1.5
setenv 添加、修改、删除环境变量
setenv name value ...
- set environment variable 'name' to 'value ...‘
setenv name
- delete environment variable 'name'
Uboot> setenv myboard AT91RM9200DK
Uboot> printenv
serverip=192.168.1.5
myboard=AT91RM9200DK
saveenv 保存环境变量
将当前定义的所有变量及其值存入flash中。
文件下载
tftp 通过网络下载文件(注意:使用tftp,需要先配置好网络)
Uboot> setenv ipaddr 192.168.1.1
Uboot> setenv serverip 192.168.1.254 (tftp服务器的地址)
例:
Uboot> tftp 32000000 uImage
把server(IP=环境变量中设置的serverip)中服务目录下的uImage通过TFTP读入到0x32000000处。
内存操作
mm 修改内存,地址自动递增。
mm [.b, .w, .l] address
mm 提供了一种互动修改存储器内容的方法。它会显示地址和当前值,然后提示用户输入。如果你输入了一个合法的十六进制数,这个新的值将会被写入该地址。然后提示下一个地址。如果你没有输入任何值,只是按了一下回车,那么该地址的内容保持不变。如果想结束输入,则输入空格,然后回车。
=> mm 100000
00100000: 27051956 ? 0
00100004: 50504342 ? AABBCCDD
Flash操作
flinfo 查看Flash扇区信息
Usage:Uboot> flinfo
protect Flash写保护
打开或关闭扇区写保护用法:
protect off all 关闭所有扇区的写保护
protect on all 打开所有扇区的写保护
protect off start end
关闭从start 到end 扇区的写保护(start为要关闭的第1个扇区的起始地址,end为要关闭的最后一个扇区的结束地址)
protect on start end
打开从start 到end 扇区的写保护
erase 擦除flash扇区
用法: erase start end
擦除从start 到end 的扇区,start 为要擦除的第1个扇区的起始地址,end 为要擦除的最后一个扇区的结束地址(在使用cp命令向Nor型Flash写入数据之前必须先使用erase 命令擦除flash,因为nor flash 按字节写入时,无法写入1,所以必须通过擦除来写入1)。
例:erase 30000 1effff
cp 数据拷贝
cp [.b, .w, .l] saddress daddress len
cp 提供了一种内存与内存,内存与Flash之间数据拷贝的方法。
例:
cp.b 31000000 50000 d0000
将内存地址0x31000000处的数据(长度为0xd0000)拷贝到地址0x50000处(Flash中)
cp.b 32000000 120000 c0000
将内存地址0x32000000处的数据(长度为0xc0000)拷贝到地址0x120000处(Flash中)
执行程序
go 执行内存中的二进制代码,一个简单的跳转到指定地址
go addr [arg ...]
- start application at address 'addr‘,passing 'arg' as arguments
bootm 执行内存中的二进制代码
bootm [addr [arg ...]]
要求二进制代码有固定格式的文件头。
设置自动启动
=>setenv bootcmd tftp 31000000 uImage \; bootm 31000000
=>saveenv