Chinaunix首页 | 论坛 | 博客
  • 博客访问: 240736
  • 博文数量: 84
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 451
  • 用 户 组: 普通用户
  • 注册时间: 2013-04-05 13:45
个人简介

IT!

文章分类
文章存档

2013年(84)

我的朋友

分类: LINUX

2013-12-22 20:23:53

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

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