UBoot实验2、uboot使用实验

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Uboot的使用

一、 实验目的

在实验平台上使用uboot常用命令及使用Tftp工具传输文件。

二、 实验资源

硬件资源

CPU Samsung S3C2440A

Nand flash Samsung K9D1208V0M 64M

RAM64M

软件资源

bootloader uboot

Tftp server tftpd32.exe

三、 实验前的准备

1、一台PC机。

2、实验平台。

3、串口线、网络线。

4、tftpd32.exe软件。

四、 实验步骤

1、实验前的准备

a)将串口线、网络线连接到实验平台与PC机上。

b)在PC机上运行超级终端串口软件。

2、进入Uboot命令输出状态

实验平台上电,在超级终端串口软件中按空格键进入Uboot命令输出状态。

3、查看Uboot命令

运行help命令显示uboot提供的所有命令。

4、学习U-Boot的几个常用的命令

根据每一条命令的帮助信息,说明这些命令的功能、参数和用法。

z bootm

=> help bootm

bootm [addr [arg ...]]

- boot application image stored in memory

passing arguments 'arg ...'; when booting a Linux kernel,

'arg' can be the address of an initrd image

bootm 命令可以引导启动存储在内存中的程序映像。这些内存包括RAM 和可以永久保存的Flash。

第1 个参数addr 是程序映像的地址,这个程序映像必须转换成U-Boot 的格式。

第2 个参数对于引导Linux 内核有用,通常作为U-Boot 格式的RAMDISK 映像存储地址;也可以是传递给Linux内核的参数(缺省情况下传递bootargs环境变量给内核)。

例如:

——从内存地址0x300000启动

0x300000

bootm

z cp

=> help cp

cp [.b, .w, .l] source target count

- copy memory

cp命令可以在内存中复制数据块,包括对Flash的读写操作。

第1 个参数source是要复制的数据块起始地址。

第2 个参数target是数据块要复制到的地址。这个地址如果在Flash中,那么会直接调用写Flash的函数操作。所以U-Boot 写Flash就使用这个命令,当然需要先把对应Flash区域擦干净。

第3 个参数count是要复制的数目,根据cp.b cp.w cp.l分别以字节、字、长字为单位。

例如:

cp.b 0x300000 0xFE040000 0x180000将1.5M数据从内存拷到flash 0xFE040000位

置。

z loadb

=> help loadb

loadb [ off ] [ baud ]

- load binary file over serial line with offset 'off' and baudrate 'baud'

loadb命令可以通过串口线下载二进制格式文件。

z printenv

=> help printenv

printenv

- print values of all environment variables

printenv name ...

- print value of environment variable 'name'

printenv命令打印环境变量。可以打印全部环境变量,也可以只打印参数中列出的环境变量。

z setenv

=> help setenv

setenv name value ...

- set environment variable 'name' to 'value ...'

setenv name

- delete environment variable 'name'

setenv命令可以设置环境变量。

第1 个参数是环境变量的名称。

第2 个参数是要设置的值,如果没有第2 个参数,表示删除这个环境变量。

例如:

=> set ipaddr 192.168.1.20 ——设置设备地址为192.168.1.20

z tftpboot

=> help tftpboot

tftpboot [loadAddress] [bootfilename]

tftpboot命令可以使用TFTP协议通过网络下载文件。按照二进制文件格式下载。另外使用这个命令,必须配置好相关的环境变量。例如serverip和ipaddr。

第1 个参数loadAddress是下载到的内存地址。

第2 个参数是要下载的文件名称,必须放在TFTP服务器相应的目录下。

例如:

=> tftpboot 0x300000 uImage ——设置从TFTP server上取uImage到内存地址0x300000

z修改启动参数,启动内核

主要是修改环境变量:bootargs与 bootcmd,实现自动从NAND Flash中复制内核,启动内核.

=>setenv bootargs root=/dev/mtdblock2 init=/linuxrc console=ttySAC0,115200

相关文档
最新文档