编写uboot env多命令语句,减少重复性操作

来源:互联网 发布:小学网络简介阅读答案 编辑:程序博客网 时间:2024/05/13 02:44

最近调试内核和文件系统,最方便的方法,不过是nfs了,请参考相关文章。

但是到了下载镜像的时候就有点麻烦了,需要下载镜像,删除nand,烧写nand,至少三条指令,输入有点繁琐。

实际可以通过设置环境变量命令解决,例如更新内核可以如下:

setenv update_kernel tftp 0x080200000 uImage\;nand erase 0x280000 0x500000\;nand write 0x80200000 0x00780000 \$\{filesize\}

以后执行:run update_kenel就可以了。

更新根文件系统

setenv update_rootfs tftp 0x080200000 ubi.img\;nand erase 0x780000 0xF880000\;nand write 0x80200000 0x00780000 \$\{filesize\}

以后执行:run update_rootfs就可以了。

记得saveenv


以下为AM335开发板uboot变量

arch=arm
baudrate=115200
board=am335x
bootargs=console=ttyO0,115200n8 dispmode=7inch_LCD root=/dev/mmcblk0p2 rw rootfstype=ext3 rootwait ip=none
bootcmd=echo Booting from network ...; tftp ${loadaddr} ${bootfile}; run netargs; bootm ${loadaddr}
bootdelay=1
bootenv=uEnv.txt
bootfile=uImage
console=ttyO0,115200n8
cpu=armv7
dfu_alt_info_emmc=rawemmc mmc 0 3751936
dispmode=7inch_LCD
ethact=cpsw
ethaddr=00:11:22:33:44:55
fileaddr=80200000
filesize=3300000
gatewayip=192.168.1.1
importbootenv=echo Importing environment from mmc ...; env import -t $loadaddr $filesize
ipaddr=192.168.1.15
kloadaddr=0x80007fc0
loadaddr=0x80200000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenv}
mmcargs=setenv bootargs console=${console} dispmode=${dispmode} root=${mmcroot} rootfstype=${mmcrootfstype} ip=none
mmcboot=echo Booting from mmc ...; run mmcargs; bootm ${kloadaddr}
mmcdev=0
mmcroot=/dev/mmcblk0p2 rw
mmcrootfstype=ext3 rootwait
mtdids=nand0=omap2-nand.0
mtdparts=mtdparts=omap2-nand.0:128k(SPL),128k(SPL.backup1),128k(SPL.backup2),128k(SPL.backup3),1920k(u-boot),128k(u-boot-env),5m(kernel),-(rootfs)
nandargs=setenv bootargs console=${console} dispmode=${dispmode} root=${nandroot} rootfstype=${nandrootfstype}
nandboot=echo Booting from nand ...; run nandargs; nand read ${loadaddr} ${nandsrcaddr} ${nandimgsize}; bootm ${loadaddr}
nandimgsize=0x500000
nandroot=ubi0:rootfs rw ubi.mtd=7,2048
nandrootfstype=ubifs rootwait=1
nandsrcaddr=0x280000
netargs=setenv bootargs console=ttyO0,115200n8 init=/linuxrc root=/dev/nfs nfsroot=192.168.1.128:/nfs/rootfs,nolock rw ip=192.168.1.15:192.168.1.128:192.168.1.1:255.255.255.0::eth0:o
ffnetboot=echo Booting from network ...; tftp ${loadaddr} ${bootfile}; run netargs; bootm ${loadaddr}
netmask=255.255.255.0
ramargs=setenv bootargs console=${console} root=${ramroot} rootfstype=${ramrootfstype}
ramboot=echo Booting from ramdisk ...; run ramargs; bootm ${loadaddr}
ramroot=/dev/ram0 rw ramdisk_size=65536 initrd=${rdaddr},64M
ramrootfstype=ext2
rdaddr=0x81000000
rootfs=ubi.img
rootpath=/nfs/rootfs
serverip=192.168.1.128
soc=am33xx
stderr=serial
stdin=serial
stdout=serial
update_kernel=tftp 0x080200000 uImage;nand erase 0x280000 0x500000;nand write 0x80200000 0x280000 ${filesize}
update_rootfs=tftp 0x080200000 ubi.img;nand erase 0x780000 0xF880000;nand write 0x80200000 0x00780000 ${filesize}
usbnet_devaddr=88:c2:55:6c:8e:2b
vendor=ti
ver=U-Boot 2013.01.01 (Jul 13 2015 - 18:47:27)
xflash=echo Update Firmware...; nand erase.chip; mmc rescan; mw.b 0x82000000 0xFF; fatload mmc 0 0x82000000 MLO; nand write 0x82000000 0x0 0x20000; fatload mmc 0 0x82000000 u-boot.im
g; nand write 0x82000000 0x80000 0x80000; fatload mmc 0 0x82000000 uImage; nand write 0x82000000 0x280000 0x500000; fatload mmc 0 0x82000000 ${rootfs}; nand write 0x82000000 0x00780000 ${filesize}; echo Update Complete...;
Environment size: 2954/131068 bytes

0 0
原创粉丝点击