u-boot-master源码工程下:
- 执行如下命令:
make distclean
make zynq_xxx_config
make
linux-xlnx-master源码工程下
- 执行如下命令:
make ARCH=arm (CROSS_COMPILE=arm-linux-gnueabihf-) distclean
make ARCH=arm (CROSS_COMPILE=arm-linux-gnueabihf-) zynq_xxx_config
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage LOADADDR=0x00008000
- 注:将u-boot的工具加入环境变量
生成的内核文件所在位置为linux-xlnx-master/arch/arm/boot
在www.wiki.xilinx.com/Build+and+Modify+a+Rootfs上可以直接下载 zynq板制作好的文件系统,并使用如下步骤对文件系统做相应的修改: 下载的文件为:arm_ramdisk.image.gz 使用mkimage制作用于u-boot引导启动的文件系统镜像
mkimage -A arm -T ramdisk -C gzip -d arm_ramdisk.image.gz uramdisk.image.gz
linux-xlnx-master源码工程下
- 执行如下命令:
./scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb ./arch/arm/boot/dts/zynq-zc706.dts
执行完会在linux-xlnx-master文件夹下生存devicetree.dtb
- 注:直接执行会出现如下错误:
a. 错误信息 $ ./scripts/dtc/dtc -I dts -O dtb -o devicetree.dtb ./arch/arm/boot/dts/zynq-zc706.dts Error: ./arch/arm/boot/dts/zynq-zc706.dts:7.1-9 syntax error FATAL ERROR: Unable to parse input tree b.原因 根据提示,是zynq-zed.dts这个文件的15行出错。 将该行 #include “zynq-7000.dtsi”修改为 /include/ “zynq-7000.dtsi”
将将u-boot.elf,uImage,devicetree.dtb和uramdisk.image.gz文件拷贝到工程路径的/hw 进入hw目录
- 在Xilinx软件中的XSCT Console终端上执行如下命令
connect arm hw
source ps7_init.tcl
ps7_init
dow -data devicetree.dtb 0x2a00000
dow -data uramdisk.image.gz 0x2000000
dow -data uImage 0x3000000
dow u-boot.elf
con
在超级终端上回车 在超级终端上运行
bootm 0x30000000x2000000 0x2a00000