Chinaunix首页 | 论坛 | 博客
  • 博客访问: 227793
  • 博文数量: 49
  • 博客积分: 2101
  • 博客等级: 大尉
  • 技术积分: 525
  • 用 户 组: 普通用户
  • 注册时间: 2010-09-07 10:38
文章分类

全部博文(49)

文章存档

2010年(49)

我的朋友

分类: 嵌入式

2010-09-07 14:35:01

1 tftpboot

tftpboot命令用于从tftp server下载文件到本地的内存中。

tftpboot会使用到serverip这个环境变量,它代表了tftp server的主机ip地址

tftpboot 0x200000 pImage

当然,可以不写需要下载的img名称,通过bootfile这个环境变量去下载img

 

 

2 nfs

nfs命令用于从nfs server上下载文件到本地的内存中。

nfs 0x200000 192.168.2.216:/tftpboot/pImage

tftpboot命令一样,路径及文件名参数可以不写,默认使用bootfile环境变量。不过注意bootfile环境变量最好把路径写清楚。

另外,u-boot支持启动linux内核后,加载nfs文件系统做为根文件系统。

 

3 bootm go

bootm命令和go都可以转移pc指针,但是二者有区别。

bootm 只能引导uimage镜像。而镜像的起始部分一般都是一些信息,而真正的指令起始的地方一般都和镜像的起始部分有一定的offset。例如uboot支持的uimgae就是在真正的vmlinuxz内核的前面加上了0x40字节的信息,这样uboot才能识别这个映象是针对哪个CPU体系结构的,哪个OS的,哪种类型,加载内存中的哪个位置, 入口点在内存的那个位置以及映象名是什么。

Bootm 200000 //200000只是镜像的起始地址

Go命令就是从它指定的地址开始执行指令。

Go 200040 //200040是指令的起始地址

但是此时200040并不一定是image的链接地址,执行还是有错误。

 

4 boot

Uboot当计时结束时,就会执行boot命令,boot命令会按照bootcmd这个环境变量的值去引导。典型的bootcmd环境变量如下:

bootcmd run ramargs;bootm 2870000

bootcmd由两条指令组成:

1run ramargs,表示运行ramargs环境变量定义的命令。ramargs典型值如下:

ramargs=setenv bootargs root=/dev/ram rw ip=192.168.0.2:255.255.255.0 quiet

ramargs是在设定bootargs环境变量,而bootargs将会作为linux的运行参数。它里面设定了linux的根文件系统、ip等等信息。

2bootm 2870000

2870000处的uImage开始引导

 

5 cp

cp.b 按字节节拷贝

cp.w 按字拷贝

cp.l 按双字拷贝

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