0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Zynq开发的四种方式和步骤

汽车玩家 来源:FPGA技术联盟 作者:默宸 2020-03-15 17:13 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Zynq的开发四种方式

ZYNQ中包含了两个部分,双核的armFPGA。根据XILINX提供的手册,arm模块被称为PS,而FPGA模块被称为PL。

ZYNQ内部包含PS和PL两部分,ZYNQ开发有一下四种方式:

A:纯PS开发

PS中包含2个ARM Cortex-9的内核,一些基本的外设扩展口以及Memory接口。PS中包含以下4个主要功能模块:

Application processor unit (APU)

Memory interfaces

I/O peripherals (IOP)

Interconnect

PS开发有两种方式:即传统的arm的方式和xilinx方法(这个是生成一个elf文件,这个elf文件包括了硬件配置信息(xmp)和裸跑程序(c文件))。

B:纯PL开发

PL即FPGA,这个和一般的xilinx的FPGA没有很大的区别。

C:PS+PL(不跑操作系统)开发

生成elf文件包括了硬件配置信息(xmp)和裸跑程序(c文件),还有一个.bit文件。

D:PS+PL(跑操作系统)开发

这个就需要BOOT.BIN,设备树,linux内核镜像,文件系统了。

其中BOOT.BIN是由3部分组成的(boot.elf, .bit, fsbl.elf),boot.elf这个是由交叉编译环境产生的,相当于ssbl,.bit文件是PL使用文件,fsbl.elf这个是fsbl。

开发工具

2.1 独立开发环境

PL—》 Vivado

PS(ARM)–》 SDK(Xilinx)或者第三方ARM开发工具

2.2 集成开发环境

SDSoC

2.3 独立开发环境的四个步骤

(1) 系统架构师确定硬件、软件分区方案;

(2) 硬件工程师处理被分配到硬件中的功能,并将其转换或设计成IP核(Verilog/VHDL,也可用Vivado HLS实现C/C++高层次综合);

(3) 利用Vivado IP Integrator 创建整个嵌入式系统的模块化设计。包括开发需要的数据移动工具(AXI-DMA、AXI Memory Master、AXI-FIFO 等),以及连接 PL IP 与 PS 的 AXI 接口(GP、HP 和 ACP),之后将此项目导入到SDK中;

(4) 软件工程师使用SDK,开发PS中ARM处理器的驱动程序和应用。

对于以硬件为中心的优化流程,矛盾往往出现在不同的数据移动工具和PL-PS接口以及写入和调试驱动程序与应用,为避免重构硬件造成软件的变化,使得PS-PL开发更加紧密,赛灵思推出了SDSoC开发环境。将上述步骤(2)、(3)和(4)实现高度自动化,以缩短开发时间。该开发环境会生成必要的硬件和软件组件,用以同步硬件和软件并保存源程序语义,同时支持任务级并行处理和流水线化的通信与计算,从而实现高性能。SDSoC 环境会自动安排所有必要的赛灵思工具(Vivado、IP Integrator、HLS 和 SDK),以生成针对 Zynq SoC 的完整软硬件系统,而且所需的用户介入程度很小。

一个SDSoC设计项目是建立在一个“平台”之上的。所谓“平台”,包含硬件平台和软件平台两个部分,是一个设计开发可以复用的基础性系统。

平台是利用标准的Vivado、SDK和OS工具创建的。硬件平台(HPFM)定义了诸如处理系统(PS,Processing System)、I/O子系统、存储器接口等,这些工作都基于一个定义明确的端口接口(AXI、AXI-S,、时钟、复位、中断)。软件平台(SPFM)定义了OS、设备驱动、启动加载程序(boot loaders)、文件系统、库等。

基于C/C++源代码的定制和专用硬件和软件,用户可以扩展平台。

SDSoC将平台作为独立的解决方案空间,基于平台提供的资源去生成用于解决方案的IP。每个解决方案都是为一个平台裁剪而成的。

一个扩展名为xpfm的文件包含了硬件描述符XML文件(HPFM)和软件描述符XML文件(SPFM)位置的参考。

2.4 Vivado

Vivado是基于IP的设计,称为block design(BD),调用已有的IP,用户自己编写的逻辑模块也可以封装成IP,然后在模块blcok中连线。逻辑开发完毕,再转到SDK,SDK会根据Vivado的硬件设计设置调用相应的内部驱动代码。(PL部分就如同ARM的总线AXI等挂的外设)

2.5 SDK

SDK根据生成的.hdf文件匹配FSBL,只需添加main.c文件即可。

类似嵌入式 C/C++/OpenCL 应用开发的体验–SDSoC

SDSoC™ 开发环境可为异构 Zynq® AllProgrammable SoC 及 MPSoC 部署提供类似嵌入式 C/C++/OpenCL 应用的开发体验,其中包括简单易用的 Eclipse IDE 和综合设计环境。SDSoC 提供业界首款 C/C++/OpenCL 全系统优化编译器,可实现系统级的特性描述、可编程逻辑中的自动软件加速、自动系统连接生成以及可加速编程的各种库。此外,它还可帮助最终用户及第三方平台开发人员快速定义、集成和验证系统级解决方案,为其最终用户实现定制化编程环境。(软件工程师能够对 Zynq SoC 中的可编程逻辑和 ARM 处理系统进行编程)

• 简单易用的 EclipseIDE 可用于开发支持嵌入式 C/C++/OpenCL 应用的全面 Zynq All Programmable SoC 和 MPSoC 系统。

• 只需一点按钮,就可对可编程逻辑 (PL) 中的功能进行加速。

• 支持作为目标 OS 的裸机、Linux 与 FreeRTOS

• Xilinx 库作为 Vivado HLS 的一部分,由联盟成员提供,是可选硬件优化的库。

• OpenCL 在 2016.3 版中为早期的测试版。请联系您的当地销售代表提出申请。

下图展示的是一个基于基础平台的完整SDSoC设计的整体结构。需要加速的C/C++/SystemC功能成为了FPGA可编程逻辑(PL)中的IP,而其他功能保留在处理器系统(PS)中。同时,SDSoC会在那些IP和PS系统间自动生成互连。

3.1 系统级的特性描述

• 快速性能估算与面积估算可在几分钟内完成,包括 PS、数据通信以及 PL

• 高速缓存、存储器以及总线利用率的自动运行时仪表

• 可实现最佳总体系统架构的便捷生成与探索

3.2 全系统优化编译器

• 可将C/C++/OpenCL 应用编译成全功能 Zynq SoC 与 MPSoC 系统。

• 可在生成 ARM 软件与 FPGA 比特流的可编程逻辑中实现自动功能加速。

• 不仅可优化系统连接,而且还支持吞吐量、时延以及面积权衡的快速系统探索。

3.3 SDSoC开发流程

① SDSoC 环境使用快速估算流程(通过调用内含的Vivado HLS)构建应用项目。这样在数分钟内就能大致估算出性能和资源情况。

② 如果有必要,用适当的指令优化 C/C++ 应用和硬件功能,并重新运行估算直到实现所需的性能和占位面积。

③ 然后,SDSoC 环境构建整个系统。该过程会生成完整的 Vivado Design Suite 项目和比特流,以及一个针对 Linux、FreeRTOS 或裸机的可引导的运行时间软件映像。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Zynq
    +关注

    关注

    10

    文章

    625

    浏览量

    49239
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    WTK6900FC鼾声识别芯片在四种助眠场景中的应用

    WTK6900FC鼾声识别芯片在四种助眠场景中的应用 “跟你说个搞笑的事情,我刚才午睡的时候被我自己的呼噜声吵醒了...”这是真实发生在身边的事情。 ​ 过去对于打呼噜这件事情,大家的态度就是“累了
    的头像 发表于 12-02 16:40 429次阅读
    WTK6900FC鼾声识别芯片在<b class='flag-5'>四种</b>助眠场景中的应用

    ZYNQ PS与PL数据交互方式

    ZYNQ SoC 的 PS (Processing System) 和 PL (Programmable Logic) 之间的数据交互是系统设计的核心。
    的头像 发表于 10-15 10:33 534次阅读
    <b class='flag-5'>ZYNQ</b> PS与PL数据交互<b class='flag-5'>方式</b>

    一图看懂绿电直连的四种玩法

    通过 “总览框架 + 分模式图解” 的形式,用可视化逻辑拆解绿电直连的四种核心模式,涵盖每种模式的核心特征、适用场景、参与主体三大关键信息,帮你快速区分不同 “玩法” 的差异与适配性。
    的头像 发表于 10-15 10:18 747次阅读
    一图看懂绿电直连的<b class='flag-5'>四种</b>玩法

    从入门到精通:基于开源代码的BLE四种模式开发详解

    通过分析BLE低功耗蓝牙的四种核心工作模式,结合可下载、可修改的开放源码,本教程为开发者提供一套系统、实用的开发学习路径。 BLE(Bluetooth Low Energy): 也称为
    的头像 发表于 10-09 18:00 233次阅读
    从入门到精通:基于开源代码的BLE<b class='flag-5'>四种</b>模式<b class='flag-5'>开发</b>详解

    全网最全CSA3412,BCT4340,VL162,MCU/ USB3.1 正反插10G bps四种解决方案

    CSA3412,BCT4340,VL162,MCU/ USB3.1 全网最全正反插10G bps四种解决方案
    的头像 发表于 09-25 03:06 417次阅读
    全网最全CSA3412,BCT4340,VL162,MCU/ USB3.1 正反插10G bps<b class='flag-5'>四种</b>解决方案

    RDMA简介3之四种子协议对比

    RDMA协议共有四种子协议,分别为InfiniBand、iWARP、RoCE v1和RoCE v2协议。这四种协议使用统一的RDMA API,但在具体的网络层级实现上有所不同,如图1所示,接下来将
    发表于 06-04 16:05

    变频器主要支持哪四种模式?有什么区别?

    变频器作为现代工业自动化领域中的关键设备,其控制模式的多样性和灵活性对于满足不同应用场景的需求至关重要。变频器主要支持四种控制模式:无PG的V/F模式、有PG的V/F模式、无PG的矢量控制模式以及有
    的头像 发表于 04-16 18:22 1763次阅读
    变频器主要支持哪<b class='flag-5'>四种</b>模式?有什么区别?

    芯片封装中的四种键合方式:技术演进与产业应用

    自动键合和混合键合四种主流技术,它们在工艺流程、技术特点和应用场景上各具优势。本文将深入剖析这四种键合方式的技术原理、发展现状及未来趋势,为产业界提供技术参考。
    的头像 发表于 04-11 14:02 2377次阅读
    芯片封装中的<b class='flag-5'>四种</b>键合<b class='flag-5'>方式</b>:技术演进与产业应用

    四种常用的最大功率点跟踪MPPT技术介绍

    太阳能电池低转换效率限制了其广泛使用,因此需要一具有最大功率点跟踪(MPPT)容量的功率转换器与太阳能电池相结合。四种常用的最大功率点跟踪MPPT技术:CV、ARV、P&O、IC,「美能光
    的头像 发表于 02-06 14:00 3308次阅读
    <b class='flag-5'>四种</b>常用的最大功率点跟踪MPPT技术介绍

    四种常见ADC的特性和应用

    模拟-数字转换器(ADC)在现代电子系统中扮演着至关重要的角色,它们负责将连续的模拟信号转换为离散的数字信号。这一转换过程对于信号处理、通信、控制等多个领域都至关重要。本文将深入探讨四种常见的ADC
    的头像 发表于 02-02 13:52 2761次阅读

    先进封装Underfill工艺中的四种常用的填充胶CUF,NUF,WLUF和MUF介绍

    今天我们再详细看看Underfill工艺中所用到的四种填充胶:CUF,NUF,WLUF和MUF。 倒装芯片的底部填充工艺一般分为三:毛细填充(流动型)、无流动填充和模压填充,如下图所示, 目前看来
    的头像 发表于 01-28 15:41 3656次阅读
    先进封装Underfill工艺中的<b class='flag-5'>四种</b>常用的填充胶CUF,NUF,WLUF和MUF介绍

    MSP430F4250的四种模式分别是在什么情况下使用呢?

    我是一名初学者,看了书知道MSP430F4250的AD转换模式有四种,我想知道这四种转化模式有什么区别,分别应该在什么情况下使用。各位高手能否为我解答哈,在下不胜感激。因为是初学者,有很多东西都不知道,能尽量详细就尽量哈,谢谢了。
    发表于 01-06 06:16

    私藏技术大公开!四种常见供电方案

    在现代生活中,供电问题直接关系到我们的生活质量与工作效率。以下是四种超实用的供电方案,无论是在家庭生活还是工作场景中,都能为你提供稳定可靠的电力支持。 常见的物联网应用场景下,供电方式四种
    的头像 发表于 12-31 14:28 2779次阅读
    私藏技术大公开!<b class='flag-5'>四种</b>常见供电方案

    被问爆的四种供电方式,来啦~

    4G模组的外部电源供电设计十分重要,对系统稳定、射频性能都有直接影响。 常见的物联网应用场景下,供电方式四种: LDO供电方式 DCDC供电方式 锂电池供电以及充电
    的头像 发表于 12-30 15:40 1498次阅读
    被问爆的<b class='flag-5'>四种</b>供电<b class='flag-5'>方式</b>,来啦~

    烙铁焊,回流焊,波峰焊和激光锡焊四种工艺的比较

    在现如今精密电子行业自动化生产电子元器零部件时,一般会用到的焊接工艺有烙铁焊,回流焊,波峰焊和激光锡焊这四种。下面将聊下这四种工艺的比较。 烙铁焊接工艺原理特性 烙铁焊工艺图示 采用电烙铁作为加热
    的头像 发表于 12-22 15:04 3349次阅读
    烙铁焊,回流焊,波峰焊和激光锡焊<b class='flag-5'>四种</b>工艺的比较