修改UBOOT环境变量

1、  在u-boot-2010.06/include/configs目录下的xxx.h(xxx是board,如hi3520d.h)里面定义环境变量:

#define CONFIG_BOOTARGS        "mem=38M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs)"
#define    CONFIG_BOOTCOMMAND  "sf probe 0;sf read 0x42000000 0x100000 0x400000;bootm 0x42000000"

******************注意符号****************

2、  然后在u-boot-2010.06/common目录下的evn_common.c里面添加如下代码:
    #ifdef CONFIG_BURNMIRROR 
    "mirror=" CONFIG_BURNMIRROR         "\0"
    #endif
3、  重新编译uboot,并烧录到单板,用printenv或pri可以看到已定义的环境变量:

单独编译uboot:
    注意:发布包默认按照DMEB板的配置发布,如果客户单板和DEMB板不一致,需要根据客户自己的单板环境修改uboot表格才能使用,否则可能导致uboot无法启动或者其他问题。

    待进入boot源代码目录后,执行以下操作
    1、make ARCH=arm CROSS_COMPILE=arm-himix100-linux- hi3518ev300_defconfig
    (emmc启动时执行如下操作:make ARCH=arm CROSS_COMPILE=arm-himix100-linux- hi3516ev200_emmc_defconfig)

    2、make ARCH=arm CROSS_COMPILE=arm-himix100-linux- -j 20

    3、make -C ../../../tools/pc/hi_gzip

    4、 cp ../../../tools/pc/hi_gzip/bin/gzip arch/arm/cpu/armv7/hi3518ev300/hw_compressed/ -rf 


    5、
    Windowns下进入到osdrv/tools/pc/uboot_tools/目录下打开对应单板的Excel文件,在main标签中点击"Generate reg bin file"按钮,生成reg_info.bin即为对应平台的表格文件。
    从osdrv/tools/pc/uboot_tools目录拷贝reg_info.bin到boot源代码目录,重命名为.reg
    cp ../../../tools/pc/uboot_tools/reg_info.bin .reg

   6、
    make ARCH=arm CROSS_COMPILE=arm-himix100-linux- u-boot-z.bin
完成、    
    opensource/uboot/u-boot-2016.11下生成的u-boot-hi3518ev300.bin即为可用的u-boot镜像

上一篇:uboot tag存储主要部分代码


下一篇:uboot源码之时钟和串口修改