一. 简介
为了方便调试,开发板可以暂时设置为 从 ubuntu虚拟机下载 kernel 与设备树文件,并运行。
本文学习如何设置,设置方法具体就是更改 uboot源码中 bootcmd 与 bootargs参数。
二. 设置ALPHA开发板通过tftp服务加载kernel与设备树文件
uboot 源码:这里所使用的 uboot源码是NXP官方提供的uboot。
进入 uboot源码根目录下 include/configs/目录下,打开 mx6ull_alientek_nand.h文件。
因为我这里所使用的 ALPHA开发板是 nand-Flash版的,所以在 mx6ull_alientek_nand.h 文件中找到 nand-Flash对应的 bootcmd 参数与 bootargs参数设置。如下所示:
#if defined(CONFIG_SYS_BOOT_NAND)
#define CONFIG_EXTRA_ENV_SETTINGS \CONFIG_MFG_ENV_SETTINGS \"panel=TFT43AB\0" \"fdt_addr=0x83000000\0" \"fdt_high=0xffffffff\0" \"console=ttymxc0\0" \"bootargs=console=ttymxc0,115200 ubi.mtd=4 " \"root=ubi0:rootfs rootfstype=ubifs " \CONFIG_BOOTARGS_CMA_SIZE \"mtdparts=gpmi-nand:64m(boot),16m(kernel),16m(dtb),1m(misc),-(rootfs)\0"\"bootcmd=nand read ${loadaddr} 0x4000000 0x800000;"\"nand read ${fdt_addr} 0x5000000 0x100000;"\"bootz ${loadaddr} - ${fdt_addr}\0"#else
....................................
更改bootargs与 bootcmd参数的设置:
#if defined(CONFIG_SYS_BOOT_NAND)
#define CONFIG_EXTRA_ENV_SETTINGS \CONFIG_MFG_ENV_SETTINGS \"panel=TFT43AB\0" \"fdt_addr=0x83000000\0" \"fdt_high=0xffffffff\0" \"console=ttymxc0\0" \"bootargs=console=ttymxc0,115200 ubi.mtd=5 " \"root=ubi0:rootfs rootfstype=ubifs " \CONFIG_BOOTARGS_CMA_SIZE \"mtdparts=gpmi-nand:4m(u-boot),128k(env),1m(logo),1m(dtb),8m(kernel),-(rootfs)\0"\"bootcmd=tftp 0x80800000 zImage;"\"tftp 0x83000000 imx6ull-alientek-nand.dtb;"\"bootz 0x80800000 - 0x83000000\0"
#else
至此,开发板从 ubuntu虚拟机下载 zImage与设备树文件已经设置好。
开发板还需要手动设置 ip地址。具体设置方法:开发板上电后进入 uboot命令模式下,输入如下命令:
setenv ipaddr 192.168.1.50
setenv ethaddr b8:ae:1d:01:00:00
setenv gatewayip 192.168.1.1
setenv netmask 255.255.255.0
setenv serverip 192.168.1.66
saveenv
开发板重新上电后,开发板会通过 tftp服务下载 zImage与 设备树文件。
注意:可以下载的前提:ubuntu虚拟机 tftp服务相应的目录下存放了 zImage和设备树文件。