本节将演示如何在Xillinux demo bundle 示例包上创建vivado工程,并生成bitstream 文件,以及在上一节镜像烧录的基础上,完善TF卡的启动分区上的文件。
上一节介绍了 Xillinux 的TF卡 镜像写入的操作, 写入的raw image 几乎将所有的东西都设置好了,但是它的 boot 分区还缺少三个必须的文件:
- xillydemo.bit : bitstream 需要Xilinux的工具vivado 生成
- devicetree : 从boot partition kit (demo bundle 示例包)中直接复制
- boot.bin : 从boot partition kit (demo bundle 示例包)中直接复制
其中devicetree 和boot.bin文件都是有现成的,本章的重点就是介绍如何生成xillydemo.bit 文件,下面是详细操作流程。
一 . 下载 boot partition kit (demo bundle 示例包)
demo bundle 示例包 可以从本站点直接下载到: (如果是Smart Zynq SL的主板可以下载SP2版本的demo bundle(请按硬件版本下载对应的demo bundle)
- 请根据主板型号及版本号下载对应demo bundle 示例包:
- Smart Zynq SP 的主板: xillinux-eval-SmartZynq-SP-1.0b
- Smart Zynq SP2 或 SL的主板:(SP2请根据版本号下载对应主板)
- V1.2 (或更早)版本的主板 :xillinux-eval-SmartZynq-SP2-1.0b
- V1.3 版本的主板 :xillinux-eval-SmartZynq-SP2-1.0b-hw1.3
- Lemon Zynq 的主板 : xillinux-eval-LemonZynq-1.0b(如果你手上有PYNQ -Z1或者Z2的主板 也可以用这个demo bundle)
二 . bitstream 文件生成向导
1. 解压缩本示例压缩包(解压缩的路径不能带有中文字符)
2. 启动Vivado。请确保所使用的vivado版本是 2018.3 或以上。
3. 打开 Vivado后 , 从上方菜单栏中选择 Tools > Run Tcl Script… 。在弹出的窗口中选择项目路径中的 verilog文件夹下的xillydemo-vivado.tcl 文件。系统将会自动加载tcl,并创建一个新的 Vivado工程,该工程包含生成bitstream所需的源文件以及各种设置。
4. 当Vivado窗口底部的“Tcl Console”状态栏中出现 INFO: Project created: xillydemo, 代表工程已经创建成功。
5. 之后单击左下角的“Generate Bitstream”来对工程进行编译综合并最终生成bitstream文件。 这个过程将持续几分钟。正常情况下不应该出现任何错误或严重的警告(Critical Warnings)。
6. 在此过程结束后,您可以在verilog/vivado/xillydemo.runs/impl_1/xillydemo.bit 路径下找到新生成的bitstream文件。
三、将文件复制到 boot 分区 (TF卡的第一个分区)
请将刚刚生成的xillydemo.bit文件复制到 TF卡的第一个分区中(假设本步骤之前TF卡已经做好了镜像烧录等准备工作了)。除了 xillydemo.bit之外,还需要将bootfiles 目录下的 devicetree.dtb 和 boot.bin 两个文件一同复制到TF卡的第一个分区中。
备注:压缩包下bootfiles目录下也包含了预先编译综合后过的xillydemo.bit 文件,以方便对vivado开发流程还不太熟悉的人可以快速体验Xillinux。
之后请正常退出TF卡,然后拔出TF卡即可。
有关镜像烧录部分请参考上一节内容:Xillinux 章节一 TF卡准备工作之 镜像烧录
现在我们TF卡启动分区(boot partition)中应该有下面4个文件
- uImage——Linux kernel binary。这是Xillinux 的 image 写入TF卡后启动分区中唯一的文件。kernel 是独立于板的
- boot.bin——系统最初的bootloader。该文件包含最开始的处理器初始化和U-boot 引导程序,该文件在不同的主板之间是不同的
- devicetree.dtb – 设备树文件,其中包含Linux kernel 的硬件信息
- xillydemo.bit – PL(FPGA) 编译综合后的Bitstream文件,生成方式参考第一章节
至此TF卡已具备 Xillinux 操作系统启动所需的全部文件和准备工作。
请问这些移植好的文件可以用在ebaz4205上吗?