Chinaunix首页 | 论坛 | 博客
  • 博客访问: 631900
  • 博文数量: 1008
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 5175
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-31 09:44
文章分类
文章存档

2012年(1008)

我的朋友

分类:

2012-08-01 11:06:09

原文地址:uboot常用命令 作者:luozhiyong131

尽管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 

serverIP=环境变量中设置的serverip)中服务目录下的uImage通过TFTP读入到0x32000000处。

内存操作

mm 修改内存,地址自动递增。

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

mm 提供了一种互动修改存储器内容的方法。它会显示地址和当前值,然后提示用户输入。如果你输入了一个合法的十六进制数,这个新的值将会被写入该地址。然后提示下一个地址。如果你没有输入任何值,只是按了一下回车,那么该地址的内容保持不变。如果想结束输入,则输入空格,然后回车

=> mm 100000

00100000: 27051956 ? 0

00100004: 50504342 ? AABBCCDD

Flash操作

flinfo 查看Flash扇区信息

UsageUboot> 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命令向NorFlash写入数据之前必须先使用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

阅读(137) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~