本文共 1800 字,大约阅读时间需要 6 分钟。
可以对下载的uboot进行配置,使其更加适合我们的硬件与需求。配置的根本是uboot中的Makefile,根据不同的平台,指令有所不同:
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
编译使用的命令是:make ARCH=arm CROSS_COMPILE=arm-linux-
将uboot烧录到开发板后,uboot会通过串口显示菜单控制台到pc机终端,此时可以输入q退出菜单控制台,进入命令行。uboot支持丰富的命令集,但不同的平台支持的命令集不同,可以通过help命令来查看支持的命令。
一些常用的命令: printenv:查看环境变量setenv:添加/修改/删除环境变量
①setenv name value 添加/修改环境变量“name”为“value”②setenv name
删除环境变量“name”saveenv:保存当前的环境变量到flash中。通过setenv添加/修改/删除的环境变量只是在内存中添加/修改/删除,并没有影响到flash中,因而重启后所做的改变不存在。而通过saveenv可以使改变生效。
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处。 bootm {addr} {arg}
执行固定格式的2进制程序 范例:#bootm 0xc0008000
md:显示内存区的内容。
md采用十六进制和ASCII码两种形式来显示存储单元的内容。 这条命令还可以采用长度标识符 .l, .w和.b : md [.b, .w, .l] address 范例: md .w 100000mm:修改内存,地址自动递增。
mm [.b, .w, .l] addressmm 提供了一种互动修改存储器内容的方法。它会显示地址和当前值,然后提示用户输入。如果你输入了一个合法的十六进制数,这个新的值将会被写入该地址。然后提示下一个地址。如果你没有输入任何值,只是按了一下回车,那么该地址的内容保持不变。如果想结束输入,则输入空格,然后回车。
范例
mm 100000 00100000: 27051956 ? 0 00100004: 50504342 ? AABBCCDDnand erase 起始地址start 长度len
擦除start处开始的,长度为len的区域 范例:#nand erase 0x400000 0x500000
nand write 内存起始地址 flash起始地址 长度len
将内存起始地址处,长度为len的数据,写入flash起始地址处。 范例:#nand write c0008000 400000 500000
nand read 内存起始地址 flash起始地址 长度len
将flash起始地址处,长度为len的数据,读到内存起始地址处。 范例:#nand read c0008000 400000 500000
设置运行完bootloader后自动从nand flash某处启动(运行完bootloader后,将nandflash某处的数据读取到内存运行)
#setenv bootcmd nand read c0008000 400000 500000 \; bootm c0008000
设置自动下载内核到内存后启动
#setenv bootcmd tftp c0008000 uImage.bin \; bootm c0008000
转载地址:http://krigi.baihongyu.com/