Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7541642
  • 博文数量: 961
  • 博客积分: 15795
  • 博客等级: 上将
  • 技术积分: 16612
  • 用 户 组: 普通用户
  • 注册时间: 2010-08-07 14:23
文章分类

全部博文(961)

文章存档

2016年(1)

2015年(61)

2014年(41)

2013年(51)

2012年(235)

2011年(391)

2010年(181)

分类: 嵌入式

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 

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

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