h1_key

当前位置:首页 >新闻资讯 > 技术文章>赛灵思Vivado 2022.1版本工具链的特性(上)
赛灵思Vivado 2022.1版本工具链的特性(上)
2022-11-16 2587次

  依据 Vivado 2022.1 版本工具链的特性,对 UG1209( 最新版本为 2020.1 )中介绍的 USB BOOT 启动步骤做了修改,此外,介绍了 WINDOWS 10 中 DFU 工具的使用。

  Step1 VIVADO 操作:

  新建 VIVADO 工程 。

  ( 图片截自 UG1209,路径和工程名可自定,下同 )



  新建 Block Design。


  添加 Zynq UltraScale+ MPSoC IP,并使用 run block automation 应用 board preset。

  需要注意的是,要在 board preset 的基础上减少外设的使用以防启动镜像过大,原因会在镜像制作阶段说明。这里去掉了 PCIE、SATA、DP、CAN 外设以及两个 AXI HPM FPD 接口。




  完成配置后,依次进行 Validate Design, Create HDL wrapper, Generate Output Product (OOC) , Export Hardware。因为这里没有用到PL端,所以不用生成比特流。

  Step 2 制作第一个启动镜像:

  创建 FSBL 工程。


  配置 FSBL,在 src 目录下找到 xfsbl_config.h,修改其中的宏定义如下:



  修改完成后保存、编译。

  打包 fsbl.elf 和 pmufw.elf,USB boot 的第一个启动镜像会被加载到 256KB OCM 中,为了满足 size 要求,第一个启动镜像只包含 fsbl.elf 和 pmufw.elf,如果使能过多外设会导致最终的 pmufw 过大。当 OCM 被写满时,USB 启动就会失败。打包方式如下图所示,注意 pwufw 的 partition type 要指定为 pmu(loaded by bootrom)。



  Step 3 制作第二个启动镜像:

  使用 Vivado 2022.1 版本的 ZCU102 BSP 创建 PETALINUX 2022.1 工程。



  配置 PETALINUX 工程:

  1.选中 Subsystem AUTO Hardware Settings, 选中 Memory Settings ,设置 System Memory Size 为 0x6FFFFFFF。

  2.返回主菜单. 选择 Image Packaging Configuration, 设置 root file system type 为 INITRAMFS。

  3.将 INITRAMFS/INITRD Image name 由默认的 petalinux-intramfs-image 为 petalinux-image-minimal,默认配置下ROOTFS 会放在 SD 卡的 EXT4 分区,这是 PETALINUX 2021.1之后版本的新特性,修改后 ROOTFS 在 DDR 中,就无需插 SD卡了。

  4.返回主菜单,选择 ARM Trusted Firmware Configuration,配置如下:



  默认情况下,ATF 运行在 COM 中,但是在本设计中 OCM 的空间非常紧张,ATF 在 OCM 运行可能会因为内存不足卡死,所以改为在 DDR 中运行,同时使能 atf debug 方便调试。

  5.修改设备树:

  编辑 ./project-spec/meta-user/recipes-bsp/device-tr ee/ files/system-user.dtsi 如下:



  6.编译: petalinux-build

  回到 Vitis IDE 制作启动镜像,如下图所示,注意 bl31.elf 的excpetion level=el3 并且使能 trust zone,system.dtb 的 load属性设为 0x00100000(在2021.1后u-boot.elf 不再包含system.dtb),u-boot.elf 的 exception level=el2。




  详细的测试过程,请参考“如何使用 Vivado 2022.1 版本工具链实现 ZCU102 USB 启动(下)”

  • 一文读懂什么是IMU传感器?
  • IMU(惯性测量单元,Inertial Measurement Unit) 是一种用于测量物体运动状态的电子设备,通过组合多种传感器来提供三维空间中的加速度、角速度及姿态信息。
    2025-03-05 472次
  • 一文读懂什么是图像传感器?
  • 图像传感器是一种将光学图像转换为电信号的电子器件,广泛应用于数码相机、智能手机、安防监控、医疗影像、自动驾驶等领域。它是现代成像系统的核心组件,决定了图像的清晰度、色彩还原能力和动态范围等关键性能。
    2025-03-03 101次
  • 一文读懂什么是加速度传感器?
  • 加速度传感器(Accelerometer) 是一种测量物体线性加速度的装置,可检测物体在空间中沿X、Y、Z轴的平移运动(包括静态重力加速度和动态运动加速度)。
    2025-02-26 203次
  • XILINX赛灵思 XC7K160T-2FBG484E
  • 赛灵思(XILINX)作为行业的领军企业,其推出的 XC7K160T-2FBG484E 更是一款备受瞩目的产品。XC7K160T-2FBG484E 属于赛灵思 7 系列 FPGA(现场可编程门阵列),具有强大的性能和丰富的功能。
    2024-09-25 363次
  • XILINX赛灵思 XCKU085-2FLVA1517E
  • 赛灵思(XILINX)作为全球领先的可编程逻辑器件供应商,其推出的 XCKU085-2FLVA1517E 以卓越的性能和丰富的功能,成为众多电子工程师和设计师的首选。XCKU085-2FLVA1517E 属于赛灵思 UltraScale 架构系列产品,采用先进的 20 纳米工艺技术制造。这一工艺不仅带来了更高的性能,还实现了更低的功耗,为各种复杂的电子系统设计提供了理想的解决方案。
    2024-09-25 315次

    万联芯微信公众号

    元器件现货+BOM配单+PCBA制造平台
    关注公众号,优惠活动早知道!
    10s
    温馨提示:
    订单商品问题请移至我的售后服务提交售后申请,其他需投诉问题可移至我的投诉提交,我们将在第一时间给您答复
    返回顶部