1.1 配置 u-boot
解压u-boot,进入文件根目录:
vim Makefile
找到自己的开发板的配置项
make tiny6410_config
1.2 编译 u-boot
make ARCH=arm CROSS_COMPILE=arm-linux-
生成 u-boot.bin 文件
ls -a 查看
2.1 帮助命令
尽管UBOOT提供了丰富的命令集,但不同的开发板所
支持的命令却不一样(可配置),help 命令可用于察
看当前单板所支持的命令。
# help
2.2 查看环境变量
printenv:查看环境变量
#printenv
ipaddr=192.168.0.1
ethaddr=12:34:56:78:9A:BC
serverip=192.168.1.5
2.2 修改环境变量
setenv 添加、修改、删除环境变量
setenv name value ...
- add/modify environment variable 'name' to 'value‘
setenv name
- delete environment variable 'name'
#setenv myboard 210
#printenv
serverip=192.168.1.5
myboard=210
2.2 保存环境变量
saveenv 保存环境变量
将当前定义的所有变量及其值存入flash中。
2.3 文件下载
tftp 通过网络下载文件
注意:使用tftp,需要先配置好网络
#setenv ethaddr 12:34:56:78:9A:BC
#setenv ipaddr 192.168.0.3
#setenv serverip 192.168.0.2
(tftp服务器的地址)
#ping 192.168.0.2(tftp服务器的地址)
范例:
#tftp 0xc0008000 uImage
把tftp服务器上的uImage下载到0xc0008000处。
2.4 执行程序
bootm {addr} {arg}
执行固定格式的2进制程序
范例:
#bootm 0xc0008000
2.5 查看内存内容
md 显示内存区的内容。
md采用十六进制和ASCII码两种形式来显示存储单元的内容。
这条命令还可以采用长度标识符 .l, .w和.b :
md [.b, .w, .l] address
范例:
md.w 100000
00100000: 2705 1956 5050 4342 6f6f 7420 312e 312e
00100010: 3520 284d 6172 2032 3120 3230 3032 202d
2.5 修改内存内容
mm 修改内存,地址自动递增。
mm [.b, .w, .l] address
mm 提供了一种互动修改存储器内容的方法。它会显示地址和当前值
,然后提示用户输入。如果你输入了一个合法的十六进制数,这
个新的值将会被写入该地址。然后提示下一个地址。如果你没有
输入任何值,只是按了一下回车,那么该地址的内容保持不变。
如果想结束输入,则输入空格,然后回车。
=> mm 100000
00100000: 27051956 ? 0
00100004: 50504342 ? AABBCCDD
2.6 擦除nand flash
nand erase 起始地址start 长度len
擦除start处开始的,长度为len的区域
范例:
#nand erase 0x400000 0x500000
2.6 写/读nand flash
nand write 内存起始地址 flash起始地址 长度len
将内存起始地址处,长度为len的数据,写入flash起始地址处。
范例:
#nand write c0008000 400000 500000
nand read 内存起始地址 flash起始地址 长度len
将flash起始地址处,长度为len的数据,读到内存起始地址处。
范例:
#nand read c0008000 400000 500000
2.7 设置自启动
1: 设置从nand flash自动启动
#setenv bootcmd nand read c0008000 400000 500000 \; bootm c0008000
#tftp 0xc0008000 uImage
2:设置自动下载内核到内存后启动
#setenv bootcmd tftp c0008000 uImage.bin \; bootm c0008000
(两个不能同时设置)
注:
1. 配置 U-Boot
TQ210:make TQ210_config
Smart210:make smart210_config
OK210: make forlinx_linux_config
OK6410: make forlinx_nand_ram256_config
Tiny6410: make tiny6410_config
TQ2440: make TQ2440_config
Mini2440:make mini2440_config
2. 下载与运行
TQ210:tftp 0xc0008000 uImage
Smart210: tftp 0x20000000 uImage
OK210: tftp 0xc0008000 uImage
OK6410: tftp 0xc0008000 uImage
Tiny6410: tftp 0xc0008000 uImage
TQ2440: tftp 0x31000000
Mini2440: tftp 0x31000000 uImage