返回> 网站首页
u-boot 的使用
yoours2012-04-13 13:09:14
简介一边听听音乐,一边写写文章。
一. u-boot 命令:
1. erase
erase: 擦除FLASH的内容
用法1:erase start end
说明:擦除地址从start 到地址end区域的内容。
注意:Flash的擦除必须以块为最小单位,因此start必须为某块的起始地址,end则为某块的结束地址。
例如:flash的基地址为0x34000000.块大小为0x20000.
则erase 0x34000000 0x3401ffff为可操作的。(从Flash头开始,擦除1个块)
erase 0x34000003 0x3401ffff (起始位置不为块头,无法操作)
erase 0x34000000 0x3401FF00 (结束位置不为块尾,无法操作)
用法2: erase N:SF[-SL]
说明:擦除第N块Flash的从扇区SF到SL扇区的内容。
用法3:erase bank N
说明:擦除第N快Flash的内容。
用法4:erase all
说明:擦除所有Flash的内容。
2. bootm
执行内存中的二进制代码
要求二进制代码为制定格式的。通常为mkimage处理过的二进制文件。
起动UBOOT TOOLS制作的压缩LINUX内核, bootm 3200000
3. flinfo
列出flash的信息
4. go
跳转到指定地址,执行代码。
用法:go addr [arg...]
说明:执行地址addr 处的二进制代码,可传递参数arg.
5. loadb
通过串口Kermit协议下载二进制数据.
6. loady
通过串口ymodem协议下载二进制数据.
7. mw
用法:mw start data len
例:mw 32000000 ff 10000(把内存0x32000000开始的0x10000字节设为0xFF)
8. ping
只能开发板PING别的机器.
9. protect - enable or disable FLASH write protection
protect on 1:0-3(就是对第一块FLASH的0-3扇区进行保护)
protect off 1:0-3取消写保护
10. reset
11. tftp
从tftp server上下载文件到RAM或FLASH中。
用法: tftp addr file
说明:将file文件下载到地址为addr的RAM或者Flash中。
注意:使用tftp时,必须先设置好网络配置,使用setenv配置ipaddr,netmask,serverip等参数。
12. Nand 子系统:
Nand 子系统中包含一些命令,处理与Nand Flash 有关的操作。
12.1 nand info - show available NAND devices
查看当前可用的nand flash。
显示:dev_id: 大小,每扇区大小等等。
12.2 nand device [dev] - show or set current device
用法:nand device dev_id
12.3 nand read
用法: nand read addr offset length
说明:addr:存放读取到数据的地址,
offset是相对地址0的偏移。
length是读取的长度
例如:nand read c1500000 0 100000
把地址空间offset 0位置的数据,copy 0x100000长度到c1500000
12.4 nand write
用法:nand write addr offset length
说明:把地址addr中的数据,写length长度到地址空间offset中去。
nand write c1500000 100000 130000
把c1500000 中的数据写0x130000到地址空间偏移100000中去。
12.5 nand bad - show bad blocks
13. u-boot环境变量:
13.1 printenv- print environment variables 显示环境变量
13.2 setenv
设置环境变量
用法:setenv ipaddr 172.16.1.49
13.3 saveenv
将刚设置的环境变量存储下来。命令将当前定义的所有的变量及其值存入flash中。用来存储变量及其值的空间有8k字节。
环境变量参数:
环 境 变 量 解 释 说 明
bootdelay 定义执行自动启动的等候秒数
baudrate 定义串口控制台的波特率
netmask 定义以太网接口的掩码
ethaddr 定义以太网接口的MAC地址
bootfile 定义缺省的下载文件
bootargs 定义传递给Linux内核的命令行参数
bootcmd 定义自动启动时执行的几条命令
serverip 定义tftp服务器端的IP地址
gatewayip 定义gateway IP地址
ipaddr 定义本地的IP地址
stdin 定义标准输入设备,一般是串口
stdout 定义标准输出设备,一般是串口
stderr 定义标准出错信息输出设备,一般是串口
常用的有ipaddr, gatewayip,serverip等。这些一看就明白。
bootfile,bootargs,bootcmd则需要讲解一下:
bootcmd例子:
setenv bootcmd nand read c1300000 100000 130000;bootm c1300000
所以在启动时,会作以下动作:
nand read c1300000 100000 130000. 从100000处读取130000长度的东西,放到c1300000处。(之前把Kernel放到100000处了)
bootm c1300000