这些命令也是我平时开发过程中经常用的,经常是拿到新板子开始烧写时要用到的命令,暂时备注下,后续会补充详细.
UBoot相关命令介绍
1:printenv 查看环境变量
2:setenv 添加,修改,删除环境变量
例 setenv aaa 123 //添加环境变量aaa其值为123
setenv aaa 789 //在上行变量基础上把aaa的值修改(重设)为789
setenv aaa //把aaa变量删除
setenv serverip 192.168.1.xxx
setenv ipaddr 192.168.1.xxx
setenv gatewayip 192.168.1.1
setenv ethaddr 11:22:33:44:55:66
3:saveenv 保存环境变量
4:
从Nand flash中读数据
Nand read dest(sdram) src(Flash) size
对Nand flash擦除数据
Nand erase start size
向Nand flash中写数据
Nand write src(sdram) dest(Flash) size
5:烧写uboot,img等等
1):烧写uboot
下载(通过tftp下载,把u-boot.bin下载到内存0x30008000的地址,断电即消失):
tftp 0x30008000 u-boot.bin
清理下(在写入数据前先把要写的区域全部归零,清理下):
nand erase 0 0x60000
写进去(把内存0x30008000中刚下下载的数据,写到nand flash地址0处,写0x60000个字节):
nand write 0x30008000 0 0x60000
2):烧写kernel
下载:
tftp 0x40000000 kernel.img
清理下:
nand erase 0x100000 500000
写进去:
nand write 0x40000000 0x100000 0x500000
3):烧写system.img(QTopia 2, QTopia 4,其他各种...)
下载:
tftp 0x40000000 system.img
清理下:
nand erase 0x600000 $filesize
写进去:
nand write.yaffs 0x40000000 0x600000 $filesize
启动QTopia 2 或者QTopia 4:
boot
6:启动参数以及启动项设置
首先是自定义启动项命令,下面的便是,系统启动之后立马从nandflash的100000地址读取0x500000字节到内存C0008000这个地址
setenv bootcmd "nand read C0008000 100000 500000; bootm C0008000"
常见的几种bootargs
1). 假设文件系统是ramdisk,且直接就在内存中,bootargs的设置应该如下:
setenv bootargs "initrd=0x32000000,0xa00000 root=/dev/ram0 console=ttySAC0 mem=64M init=/linuxrc"
2). 假设文件系统是ramdisk,且在flash中,bootargs的设置应该如下:
setenv bootargs "mem=32M console=ttyS0,115200 root=/dev/ram rw init=/linuxrc"
注意这种情况下你应该要在bootm命令中指定ramdisk在flash中的地址,如bootm kernel_addr ramdisk_addr (fdt_addr)
3). 假设文件系统是jffs2类型的,且在flash中,bootargs的设置应该如下
setenv bootargs "mem=32M console=ttyS0,115200 noinitrd root=/dev/mtdblock2 rw rootfstype=jffs2 init=/linuxrc"
4). 假设文件系统是基于nfs的,bootargs的设置应该如下
setenv bootargs "noinitrd mem=64M console=ttySAC0 root=/dev/nfs nfsroot=192.168.0.3:/nfs ip=192.168.0.5:192.168.0.3:192.168.0.3:255.255.255.0::eth0:off"
或者
setenv bootargs "noinitrd mem=64M console=ttySAC0 root=/dev/nfs nfsroot=192.168.0.3:/nfs ip=192.168.0.5"
参考:http://blog.csdn.net/liwendovo/article/details/7691596
文章的脚注信息由WordPress的wp-posturl插件自动生成