目标:在zc702上正常运行linux系统
1. 需要使用的文件
rootfs–linaro ubuntu
uImage、uramdisk.image.gz
uboot.elf
DeviceTree.dtb
system.bit
fsbl
BOOT.BIN–(由system.bit、fsbl、uboot.elf组成)
前4行文件最好在linux环境下完成
2. 具体步骤
2.1. SD卡分区
总共3个分区:
分区号
大小
格式
1
200M
fat32
2
7GB
ext4
3
100
fat32
分区工具:Gparted
2.2 准备Rootfs
本例使用Linaro Ubuntu的根目录文件。可以选择在Linux环境下,直接谷歌搜索Linaro Ubuntu,然后转到下载界面,选择ARM版本的系统。下载完成之后,将整个镜像文件解压缩,选择根目录文件并将其复制到上述的SD卡内的2号分区(ext4格式的分区)内。
2.3 准备uImage
从ADI的git页面下载内核源代码,参考自带说明文档,编译得到内核文件。在编译之前,需要额外配置一下内核参数,添加所需的设备驱动,比如串口以及USB摄像头,最后得到uImage以及uramdisk.image.gz
2.4 准备uBoot
从git上讲uboot的源代码下载下来,然后参考xilinx uboot wiki编译得到u-boot,需要将其重命名为uboot.elf。
2.5 准备deviceTree
使用内核编译后得到设备树源文件,然后使用设备树编译器,得到设备树文件(.dtb文件)。
2.6 准备system.bit
直接使用ADI提供的FPGA设计文件(本例不做任何修改),在Vivado下综合得到system.bit。
2.7 准备FSBL
在Vivado中export到XSDK中,新建一个FSBL。
2. 8准备BOOT.BIN
继续在XSDK中,新建一个BOOT.BIN,通过tool内部工具,选择好前面生成的system.bin、uboot.elf以及FSBL,生成一个名为BOOT.BIN文件。
3、文件所在分区
分区号
存放文件
1
device_tree uImage uramdisk.image.gz BOOT.BIN
2
rootfs
4、启动系统
将SD卡插入开发板然后上电启动,完成系统运行。