defaul文件封装 export_创建 Vitis 加速平台第 3 部分:在 Vitis 中封装加速平台

欢迎FPGA工程师加入官方微信技术群

点击蓝字关注我们FPGA之家-中国最好最大的FPGA纯工程师社群

4c74c71913d95a87ab4bd1b19f151d56.png

这是《创建 Vitis 加速平台》系列的第 3 篇博文。在前文中,我们讲解了如何创建硬件和软件工程。在本文中,我们将讲解如何在 Vitis™ 中将所有这些工程封装在一起。

在 Vitis 中加速软件功能(创建内核)即表示创建硬件 IP 核,并使用由此产生的基础架构将此功能连接到现有平台。

为此,Vitis 需要重构平台。Vitis 使用 XSA 来重构 Vivado 工程。随后,它将追加经过更新的硬件,并重新创建 Vivado 工程。

其它所有一切都保持不变,当然比特流和生成的内核应用除外。因此,启动镜像不能保持不变。而是由我们提供 BIF 文件,并在其中包含镜像占位符用于在 Vitis 中创建这些镜像。

此外,为了能够执行内核,我们需要为目标硬件执行交叉编译。此处使用的是 PetaLinux 中创建的 sysroot。

准备镜像

为了便于使用,我在此对平台文件进行了组织,但这并非必要步骤。重要的是,请牢记创建 BIF 文件时的启动镜像位置,因为我们使用的是占位符。

mkdir -p sw_comp/src/a53/xrt/image
mkdir sw_comp/src/boot
  • 将 image.ub、boot.scr 和 rootfs.cpio.gz 从 PetaLinux image/linux 文件夹复制到 sw_comp/src/a53/xrt/image

  • 将 bl31.elf、uboot.elf、zynqmp_fsbl(已重命名为 fsbl.elf)和 pmufw.elf 从 PetaLinux image/linux 文件夹复制到 sw_comp/src/boot

创建 BIF

BIF 文件在 bootgen 中用于创建 SD 启动镜像。

其中包括 BOOT.BIN 文件中所有分区的位置。以下提供了一个模板。

此处请务必注意,我们只提供占位符文件名,而不提供实际文件名。工具将添加指向这些文件的路径。因此,我建议将所有这些文件保存在相同启动文件夹内。zcu104_base 将用作为平台名称。

the_ROM_image:
{
 [fsbl_config] a53_x64
 [bootloader]
 [pmufw_image]
 [destination_device=pl]
 [destination_cpu=a53-0, exception_level=el-3, trustzone]
 [destination_cpu=a53-0, exception_level=el-2]
}
  • 将 linux.bif 复制到 sw_comp/src/boot

创建 init.sh 脚本

启动时将运行此脚本以进行 XRT 设置,并将平台名称传递到 ZOCL。

将 init.sh 复制到 sw_comp/src/a53/xrt/image

cp ./platform_desc.txt /etc/xocl.txt
export XILINX_XRT=/usr
  • 将 init.sh 复制到

    sw_comp/src/a53/xrt/image

创建 platform_desc.txt

这样即可将平台名称传递到 XRT。此处名称应与 Vivado 中提供的平台名称匹配:

zcu104_base
  • 将 platform_desc.txt 复制到

     sw_comp/src/a53/xrt/image

创建 QEMU 文件

Vitis IDE 支持软件仿真和硬件仿真。QEMU 即可用于执行此操作。但我们需要传递 QEMU 机器详细信息。

针对 PMU,需使用 pmu_args.txt 执行此操作

-M
microblaze-fdt
-device
loader,file=
-machine-path
.
-display
none
  • 将 pmu_args.txt 复制到 sw_comp/src/boot

此外还需要通过 qemu_args.txt 传递 PSU 机器详细信息:

-M
arm-generic-fdt
-serial
mon:stdio
-global
xlnx,zynqmp-boot.cpu-num=0
-global
xlnx,zynqmp-boot.use-pmufw=true
-net
nic
-net
nic
-net
nic
-net
nic
-net
user
-m
4G
-device
loader,file=,cpu-num=0
-device
loader,file=
-boot
mode=5
  • 将 qemu_args.txt 复制到

    sw_comp/src/boot

在 Vitis 中封装平台

启动 Vitis 并选择“创建平台工程 (Create Platform Project)”:

0e6bbb9ad2851171010364ae59ce85c7.png

使用 BIF 中所提供的名称:

28a80f07613cdfddfa4e2743dcb0f54f.png

选择“根据硬件规范 (XSA) 创建 (Create from hardware specification (XSA))”:

73c840443c149366702ddd2eaa903bd7.png

针对操作系统选择 Linux,然后取消勾选“生成启动组件 (generate boot components)”,因为在 PetaLinux 中已创建这些组件:

3dc2600fb148af4ab370cfd150be1794.png

注:此处警告信息仅用于声明需添加 sysroot。

填入上一篇博文中创建的软件镜像:

5c96d20c53f0f3164522663a8fa35086.png

然后执行构建:

9585d22eff2f1ce3f65bcf02b12ef510.png

完成此操作后,平台将置于 export\zcu104_base.... 至此大功告成。

a1f0201fc2aca6adc3b4e277062a5833.png

欢迎FPGA、嵌入式、信号处理等工程师关注公众号

1e4e2244943cde9086e3d36122684ed7.png

全国第一大FPGA微信技术群

欢迎大家加入全国FPGA微信技术群,这个群体拥有数万工程师、一群热爱技术的工程师,这里的FPGA工程师相互帮助,相互分享,技术氛围浓厚!赶紧叫上小伙伴一起加入吧!

a489086fe7a9ecba5980990a307b8322.png

用手指按住就可以加入FPGA全国技术群哦

FPGA之家元器件芯城

优势元器件服务,有需求请扫码联系群主:金娟 邮箱:293580331@qq.com 欢迎推荐给采购

ACTEL、AD部分优势订货(经营全系列):

50d6241d15d6ffb6b4c6abbcc3788de3.png

XILINX、ALTERA优势现货或订货(经营全系列):

3ac8c8c5562cb196fe8a4ad30ca249f2.png

(以上器件为部分型号,更多型号请咨询群主金娟)

服务理念:FPGA之家元器件自营芯城,旨在方便工程师快速方便购买器件服务,经过数年竭诚服务,我们的客服遍布国内大型上市公司、军工科研单位、中小企业、最大的优势是强调服务至上的理念、并且做到快速交货、价格优惠!

直营品牌:Xilinx ALTERA ADI TI NXP ST E2V、镁光 等百余元器件品牌,尤其擅长欧美对华禁运器件,欢迎工程师朋友把我们推荐给采购或者亲自咨询我们!我们将一如既往提供业内最佳服务!

7bdb102cbdf9c12a3ee76b961e003d7b.png

FPGA技术群官方鸣谢品牌:Xilinx、 intel(Altera)、microsemi(,Actel)、LattIC e,Vantis,Quicklogic,Lucent等

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值