Zynq UltraScale+MPSoc 开发(一)

本文档介绍了Zynq UltraScale+MPSoc的开发流程,包括环境搭建、软件安装和自定义工程的生成。重点提到了Vivado和Petalinux的使用,以及相关关键文档和论坛资源。在生成自定义工程后,文章指导如何根据硬件结构修改设备树并生成BOOT.bin。

1 Zynq UltraScale+MPSoc 开发流程

环境搭建及软件

软件版本地址
Xilinx_Vivado2019.2vivado
petalinux2019.2petalinux

需要注意方向

  • vivado直接安装system即可,带doc文档神器(xilinx牛逼神器)安装自己看ug

  • petalinux 安装参考 ug1144

  • 常用论坛 官方论坛 xilinx-wiki

  • 关键文档 ug1085 ug1209 ug1137 ug1145 ug1046 其余文档随用随找即可

    可以在doc工具和google直接输入ugxxxx即可

2 生成自定义工程

  1. 逻辑工程师搭积木完生成hdf或者dsa文件输出。

  2. 我们进入petalinux安装的主机,比如hostname是plzqmp

    • 创建petalinux工程,做过fsl开发或者用过yocto的很好理解,即yocto的根
    petalinux-create --type project --template <CPU_TYPE> --name
    <PROJECT_NAME>
    其中参数 CPU_TYPE 和 PROJECT_NAME需要自己写,不知道怎么写 看help
    petalinux-create --help
    
    • 第一次配置和Build
    $ cd <dir of PROJECT_NAME>
    $ petalinux-config --get-hw-description=<path-to-directory-containing-hardware
    description-file>
    $ petalinux-build
    注意默认不生成u-boot源代码,只生成Kernel的代码,如果需要生成u-boot源码可以修改local.conf 文件
    注释掉下行,find ./ -name "local.conf" 找到文件位置
    #INHERIT += "rm_work"
    
    
    • 之后就在对应目录生成u-boot,kernel源码,image目录和 tftpboot目录生成一模一样的执行文件。
  3. 根据自己硬件结构修改设备树。

  4. 生成对应执行文件

    名称描述
    BOOT.bin用于系统启动,PL的版本包含在内
    ImageLinux Kernel
    System.dtb设备树文件
    urootfs.cpio.gz文件系统
    u-boot.elf用于生成 BOOT.bin
    bl31.elfATF固件 用于生成 BOOT.bin
    pmufw.elfPMU固件 用于生成 BOOT.bin

    3 生成BOOT.bin

    • BOOT.bin 生成
    • vivado 生成 :参考ug
    • petalinux 生成 :参考ug
本书是使用Zynq MPSoC开发人员的实用指南,同样也是希望熟悉器件及其相关设计方法的技术人员的有效参考。 Zynq MPSoC(多处理器片上系统)是Xilinx公司推出的第二代SoC系列产品,集成了复杂的处理系统,包括ARM Cortex-A53应用程序处理器和ARM Cortex-R5实时处理器,以及FPGA可编程逻辑。 来自苏格兰斯特拉斯克莱德大学(University of Strathclyde)的Louise Crockett团队基于这平台的软件和硬件结构,撰写了Exploring Zynq MPSoC: With PYNQ and Machine Learning Applications,综合且全面地介绍了软件堆栈、多处理器处理系统以及可编程硬件阵列等问题。 程序员可以学会如何使用简单的软件界面和框架来快速实现他们的机器学习算法,系统设计师可以利用它来获取系统的最高性能。 内容导读 器件的架构 与Zynq7000相比,Zynq MPSoC步整合了处理器系统中可选择的处理器数量和性能,最多可配备四个ARM Cortex-A53处理器内核和两个ARM Cortex-R5实时处理器内核。此外,该架构进步拓展了可编程逻辑门阵列中的DSP切片和分布式存储器的规模。在开发当今新兴的AI应用程序时,全新的MPSoC架构将实现繁琐的算术计算和数据移动的过程变得十分轻松有趣。 设计工具和方法 SoC系统将包括硬件设计和软件设计两个方面。硬件设计会映射到SoC设备上的FPGA逻辑资源,而软件则运行在个或多个系统内部署的处理器上。在此设计流程中,硬件和软件开发可以在很大程度上独立进行,然后整合。工程师使用他们选择的工具生成硬件系统的元素,并使用Xilinx Vivado开发环境实现系统集成和实现目标设备。软件开发人员可以使用Xilinx软件开发工具包(SDK)进行开发。这是传统的软硬件协同设计方法。 Xilinx的SDx开发环境则是种更高级的开发方式。在Xilinx SDx工具中可以完全使用软件代码对整个系统进行描述,然后对各种计算进行资源分配(在用户指导下)。这使得面向软件的软硬件协同设计已经发生了相当大的转变。本书的第4章中更详细地讨论了关于SDx设计方法。 更先进的应用实现 本书还讨论了Zynq上许多应用程序的实现,包括FINN-R开源框架的有效性神经网络的实现、基于Python的Zynq设备框架和机器学习应用程序。我们可以预见到些基于Zynq的更为优秀的产品,包括高级驾驶员辅助系统(ADAS),计算机视觉,“大数据”分析等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值