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镜像