目标:在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卡插入开发板然后上电启动,完成系统运行。