ZYNQ中文资料书
中文版详细的ZYNQ基础知识,可以使刚接触ZYNQ有系统的认识。The zong book基于含有 ARM Cortex9的 Xilinx Zyng网-7000全可编程片上系统的嵌入式处理器se h. crockett ross a elliotMartin A. Enderwitz robert w. stewartJianfeng Lu(中文痂)Department of Electronic and Electrical EngineeringUniversity of StrathclydeScotland, uK翁恺博士Dr.K.Wen(h文翻译浙江大学(中国)第一版(中文版)This edition first published June 2016 by Strathclyde Academic MediaLouise h. crockett ross a. elliot, martin a. enderwitz and robert w. stewart开源许可此书既有印刷版又有电子版(PDF格式)。在衍生文件中明确标注参考内容初始来源的前提下,本书中任何文本和图表可以被复制,并用于非营利性的学术目的。参考格式应当遵循以下格式L.H. Crockett, R. A. Elliot, M. A. Enderwitz and R W. Stewart, The Zynq Book: Embedded Processing withthe ARM Cortex-A9 on the Xilinx Zynq-7000 All Programmable Soc, First Edition, Strathclyde AcademicMedia, 2016将本书中内容用于其他非营利性学术目的的,请联系info@zyngbook.com。此书不能以原始的格式使用,也不能被末授权的第三方机构销售。习题教材习题教材在本书的官方网站上发布:www.zynqbook.com参考此习题教材同样适用于开源许可条及在本页其他位看提到的警告和免麦声明警告和免责声明作者、出版人在硏究所包含的课趑和编写例懃时,已经尽了最大的努力来提供准确、最新的信息。本着倣得最好的理念,书中包含的材料以“原样”的形式提供,但是无论是作者还是出版人没有任何明确或者隐含的承诺来保证书中所包含内容的准确性。书中包含的任何信息直接或间接导致的任冋损失、损坏,作者和岀版人将不会承担法律责任。商标ARM, Cortex,AMBA, Thumb和 Trustzone都是ARM有限公司(或其子公司)在欧洲和(或)世界其他各地注册的商标。保留所有权利NECN是ARM有跟公司(或其子公司)在欧洲和(或)世界其他各地的商标。保留所有权利。此出版物是独立的,不属于ARM有限公司。ARM有限公司也没有认可、赞劻或授权此出版物Xinx(xinx公司的logo),Artⅸ,ISE, Kintex, LogiCORE, Petalogix, Spartan, virtex,vⅳado,zynq,和Web pAck是 Xilinx注册的商标。保留所有权利。MATLAB和 Simulink是 MathWork5公司注册的商标。Linux的是 Linus torvalds在美国和其他国家注册的商标。本书中使用的所有其他商标属于其各自的公司。本书中使用这些商标并不意味着本书拥有、认可这些商标。目录前言作者简介XXI鸭谢章节引言鲁鲁D自。自。自d看非鲁鲁。音D鲁。111zynq的片上系统12嵌入式SoC的简单剖析…..13设计重用14提升抽象层级1.5S0C设计流16实践单元17关于本书18参考文献PART A开始了解Zynq…13章节2Zynq芯片(“是什么”)1521处理器系统211应用处理器单元(APU)212关丁ARM模式…202.1.3处理器系统外部接口2122可编程逻辑22221逻辑部分2.2.2特殊资源:DSP48E1和块RAM522.3通用输入/输出28224通信接口2.2.5其他可编程逻辑扩展接1|……2923处理器系统与可编程逻辑的接口………30231AXI标准…3023.2AXⅠ互联和接口…23.3EMI0接口…342.34共他PL-PS信号3424安全241安仝引导,3524.2硬件支持3624.3运行时刻安全3625Zynq-7000系列成员…3926本章回顾4027架构参考指南4128参考文献4章节3zynq设计指南(“如何使用它?”)…473.1入门∴1483.11获取设计工具…3.12开发工具内部版本和证书31.3设计工具功能3.14第三方工具3.1.5系统安装和需求513.2设计流程概述32.1需求和技术参数…3.2,2系统设计···543.2.3硬件开发和测试324软件开发和测试…583.2.5系统集成和测试603.3S0C设计团队6034使用 Vivado进行以IP为重点的系统级设计35ISE和 Vivado设计套件3.51特性比较64352升级到Vl vado3.6开发板3.6.1 Zynq-7000 SoC ZC702 Evaluation Kit .....673.6.2 Zynq-7000 Soc video imaging kit693.6.3 Zyng-7000 ZC706 Evaluation kit693.6.4 ZedBoard63.6.5ZYB06936.6第三方开发板70367附件和扩展36.8使用开发板工作723.7支持和文档38章节回顾39参考文献章节4芯片比较(“为什么我需要Zyna?”)中中4.1芯片选择的条件42比较一:Zynq对FPGA80421Ⅶ icroblaze处理器8042,2Ⅶ icroblaze单片机系统844.2.3 Picoblaze854.2.4 ARM Cortex-M8542.5其他处理器类型…8542.6总结说明8743比较二:Zynq对标准处理器89431处理器操作89432执行分机433总结说明9444比较三:Zynq对分立的FPGA处理器组合45拓展Zynq架构和设计流9646本章回顾47参考文献…99章节5应用和机会(“拿它能做什么?”).1015.1应用的概述,10251.1汽车102512通信5.1.3防务和航空航大∴1035.14机器人、控制和仪器1045.1.5图像和视频处理l0451.6医药1055.1.7高性能计算(HPC)1055.18其他及未来的应用10552何时Zynq真的有用...1065.3通信:软仆定义无线电(SDR)107531在无线通信中的趋势10753,2介绍软件定义无线电(SDR)l08533SDR的实现和授权技术108534认知无线电54智能系统和智能网络11154.1什么是智能系统542智能系统的例子112543智能网络:智能系统的通信114544相关桃念∴5.5图像和视频处理,及计算机视觉5.5.1图像与视频处理1155.5,2计算机视觉…116553抽象的层级…..1175.54图像处理系统的实现1185.55Zynq上的计算机视觉的例子:道路标识识别…12056动态片上系统12156.1运行时刻系统灵活性121562动态部分重配置(DPR)12156.3DPR应用的例子…564DPR的好处…..124571什么是生态系统?系统57更多的机会:zynq的“生态,125125572有什么机会?12658本章回顾1285.9参考文献………128章节6 The Zedboard∴1336.1介绍Zed…336.2 edboard系统架构1346.3 Zedboard设计流程13664 SeaBoard入门」137641盒子里有什么?137642使件安装13764.3烧写 Zedboard1386.5 MicroZed14266文档,教程和支持14266.1关」 Zedboard的文档…126.62演小和教程14366.3在线课程…14366,4其他 Zedboard资源和支持14467 Zedboard.org社区…144671社区工程44672博客144673支持论坛14568本章回顾14569参考文献146章节7教育、研究和培训∴…自看·鲁。非。鲁自。自。鲁。鲁自普●。。●音。。鲁D。。。。自着垂··。音。鲁D1477.1技术趋势和SoC教育1487.2大学用Zynq教学149721用 Xilinx工具和板教学149722数字设计和FPGA教学…150723计算机科学…150724嵌入式系统和SOC设计1507.2.5算法实现(如信号、图像和视频处理15172.6设计重用152727新的和正在出现的设计方法15372.8传感、机器人和原型154729一个例子课程15473项日和竞争74学术研究75 Xilinx大学计划(XUP)15875,1介绍XUP752软件技术和许可158753XUP开发和教学板…159754XUP研讨会和培训材料159755对大学的投术支持1607.5.6资格160757联系XUP1607.6企业培训1607.6.1诛程的授权的培训提供者…1607.6.2其他资源16176.3在线视频l6177本章回顾16178参考文献章节8 Zynq的第一个工程.658.1软件安装指导目标和结果16683练习1A概述…ss………s……I6684练习1B概述1678.5练习1C概述l6886可能的扩展16987接下来是什么?16988参考文献169PART BZynq Soc&硬件设计。告D。垂D。0。春DD。。。。B看D。。。l71章节9嵌入式系统和FPGA.7391什么是嵌入式系统?173911应用1174912一般嵌入式系统架构…..17592处理器2.1协处理器17922处理器 cache177923执行周期179924中断18393总线184
- 2020-12-11下载
- 积分:1
基于SOC fpga的开发教程
SoC 芯片, 相较于传统的单一 ARM 处理器或 FPGA 芯片, Intel Cyclone V SoCFPGA 既拥有了 ARM 处理器灵活高效的数据运算和事务处理能力, 同时又集成了 FPGA 的高速并行处理优势, 同时, 基于两者独特的片上互联结构, 使用时可以将 FPGA 上的通用逻辑资源经过配置,映射为 ARM 处理器的一个或多个具有特定功能的外设。目录目录基于 Cyclone V SoC FPGA的嵌入式系统设计教程.1ntel Cyclone SoC FPGA介绍SOC FPGA的基木概念soPC的基本概念SoPC与 SOC FPgA之间的差异SOC FPGA架构的优势基于 Cyclone V SoC FPGA器件的重要电路设计FPGA IO和时钟SOC FPGA JTAG电路设计569AC501SoC开发板介绍11布局及组件11轻触按键用户LED……14时钟输入....::.::::::.:::∴15GP|O接∏15DDR3 SDRAM重着::::::....:::...通用显示扩展接口USB to uart∴………以太网收发器,21SOC EPGA开发板的FPGA配置数据下载和固化…….…SOC FPGA启动配置方式介绍∴23sof文件烧写方式.24JC文件生成和烧写26SOC FPGA开发流程简介31SOCEPGA开发流程使件开发.31软什开发AC501 SOC FPGA开发板黄金参考设计说明34什么是GHRD…34GHRD FOR AC501-SoC34打开和查看GHRD.…34clk o38sysid qsys39led_pio...,.,…,…………39button pIospIi2c 042alt vip vfr tft0.......……………42alt vip itc_ 044总结Step by step为HPS添加UART外设,45目录修改GHRD工程打开GHRD工程45添加 UART IP.246关于HPS与FPGA数据交互连接UART|P信号端口分配组件基地址…49生成Qsys系统的HDL文件50添加uat_1的端口到 Quartus工程中51分配FPGA管脚生成配置数据二进制文件54制作 Preloader Image打开 SOCEDS工具生成bsp文件56编译 preloader和 uboot60更新 preloader和 uboot62使用新的 Uboot启动SoC.:::::::::::·::·制作设备树设备树制作流程...64准备所需文件65生成dts文件…生成dtb文件.…67运行修改后的工程.68使用Ds-5编写和调试SoC的 Linux应用程序,,,…70启动DS-5创建C工程…72编详工程.176建立SSH远程连接77创建远程连接复制文件到目标板3运行应用程序85远程调试…GDB设置GDB连接和调试287总结使用 Win sCp在 Windows和 Linux系统之间传输文件……91为什么要使用 Winscp.安装 Win SCP.…91建立远程主机连接91新建远程连接.94调用 putty终端基丁虚拟地址映射的 Linux硬件编程....….….97什么是虚拟地址映射97虚拟地址映射的实现:::::::::.:a·基于虚拟地址映射的PIO编程应用目录P|O外设的虚拟地址映射…在DS-5中建立PO应用工程.102添加和包含HPS库文件.103添加FPGA侧外设硬件信息P|O|P核介绍108Po核寄存器映射110P|O|P核应用实例..112合理的程序退出机制.…116关于按键消抖.基于虚拟地址映射的UART编程应用…..119UART(RS232 Serial port)核介绍UART(RS-232 Serial port)寄存器映射UART|P核应用实例……122在DS-5中建立UART应用工程…虚拟地址射122设置波特率.:::::::·:.::.·:.124字符发送124字符串发送…125字符接收125宇符串接收UART|P核板级调试131总结基于虚拟地址映射的12C编程应用……133Open Cores2CP简介133Open Cores2C|P奇存器哄射.134PRER:时钟频率预分频寄存尜134CTRL:控制寄存器.134TXR:发送数据寄存器CR:命令寄存器135SR:状态寄存器136l2CP核应用实例.….135在DS-5中建立12C应用工程136虚拟地址映射1362C|P核基本寄存器配冒,140使用12C|读写图像传感器寄存器1412C护P读写oV5640摄像头板级调试.146总结.152本章小节152基于 Linux应用程序的HPS配置FPGA……………………53制作 Quartus工程.153生成rbf格式配置数据……154编译 Linux配置FPGA应用稈序156在系统重配置FPGA实验…157本章小结159目录编译嵌入式LiuX系统内核160安装 VMware161安装 Ubuntu系统灬162下载 Linux系统源码172设置交叉编译环境…配置和编译内核∴……180快速配置内核180使能 Altera UART驱动182使能 Altera sp驱动使能OC12C控制器驱动.…184使能 Framereader驱动保存内核配置文件.187编详内核使用内核启动开发板本章小节192Linux设备树的原理与应用实例.:::::::::::..........:::..:193什么是设各树193设备树基木格式194设各树加载设备驱动原理编写12C控制器设备节点202加载OC12C驱动206使用RTC206使用 EEPROM∴211编写5P控制器设备节点211本章小节214基于 Linux标准文件/o的设备读写…………………………215什么是文件/O215基于文件|O操作的一般方法215文件描述符215打开设备(open)21向设各写入数据( write):::.::aa..216读取设备数据(read).216杂项操作( ioctl)…………217关闭设备(cose)……218其他操作218使用文件1O实现12C编程218本章小节.…221FPGA与HPS扃速数据交互应用222FPGA与HPS通信介绍.……………………………………22H2 LW AXI Master桥H2FAX| Master桥224F2 H AXI Slave桥225AX与 Avalon-MM总线的互联……225Ayalon-MM总线225目录Avalon-MM Slave接口227基本Aa|on- MM Slave iP设计框架29PWM控制器设计…1233Avalon-MM Master接口.253常见的通用 Avalon mm master主札………….…253高速数据采集系统……261Linux驱动编写与编译..273基本字符型设备驱动274字符型设备驱动框架275头文件包含276变量和宏定义.………277en方法278e方法278read方法.278write方法279ioct|方法:::::.::::::::::..a:::a.:....:280fops定义..281模块初始化代码282模块退出代码…284模块声明…284PWM控制器驱动完整源码.….284驱动编译 Makefile289Ubuntu卜编译设备驱动291字符型设备驱动验证292安装驱动文件292设计测试程序…::::::::::.:.:.·:...:::·293基于DMA的字符型设备驱动Avalon -MM Master Write驱动…297Avalon-MM Master Write测试303安装驱动文件303设计测试程序.::::·303本章小节310介绍介绍的基本概念(原于年发布的一款在单一芯片上集成了双核的处理器和逻辑瓷源的新型芯片,相较于传统的单处理器或片既拥有了处理器灵活高效的数据运算和事务处理能力,同时又集成的高速并行处理优势,同时,基于两者独特的片上互联结构,使用时可以将上的通用逻辑资源经过配置,映射为处理器的一个或多个具有特定功能的外设,通过高达位宽的高速总线进行通信,完成数据和控制命令的交互。出于片上的处理器是经过布局布线的硬线逻辑,因此其能工作的时钟主频较高,因此单位时间内能够执行的指令也更多。的基本概念在技术推出之前,各大厂家已经推广了有多年的技术。和不相同的是,是在单纯的心片上使用的逻辑和存储器资源搭建一个软核系统,由该软核实现所需处理器的完整功能。由于是使用的通用逻辑搭建的,因此具有一定的灵活性,用户可以根据自己的需求对进行定制裁剪,增加一些专用功能,例如除法或浮点运算单元,用于提升在某些专用运算方面的性能,或者删除些在系统里面使用不到的功能,以节约逻辑资源。另外也可以根据用户的实际需求,为添加各种标准或定制的外设,例如等标准接口外设,同时,用户也可以自己使用的逻辑资源,编写各种专用的外设,然后连接到总线上,由进行控制,以实现软硬件的协同工作,在保证系统性能的同时,増加了系统的灵活性。而且,如果单个的软核无法满足用户需求,可以添加多个软核,搭建多核系统,通过多核协同工作,让系统拥有更加灵活便捷的控制能力但是,由于是使用的通用逻辑资源搭建的,相较使用经过布局布线优化的硬核处理器来说,软核处理器够运行的最高实时钟主频要低一些,而且也会相应的消耗较多的逻辑资源以及片上存储器资源,因此方案仅适用于对于数处理器整体性能要求不高的应用,例如整个系统的初始化配置,人机交互,多个功能模块问的协调控制等功能介绍与之间的差异从架构的角度来说,和是统一的,都是由部分和处理器部分组成。在中,嵌入的是公司的硬核处理器,简称技术中,嵌入的是软核处理器,两者指令集不一样,处理器性能也不一样核处理器性能远远高于软核处理器。片上的部分,不仅集成了有双核的硬核处理器,还集成了各种高性能外设,如控制器控制器等,有这些外设,部分就可以运行成熟的操作系统,提供统一的系统,降低开发者的软件开发难度。而软核虽然可以通过配置,用逻辑资源来搭建相应的控制器以支持相应功能,但是从性能和开发难度上来说,基于架构进行设计开发是比较好的选择。另外,虽然片上既包含了有又包含了有,但是两者一定程度上是相互独立的,芯片上的处理器核并非是包含于逻辑单元内部的,和()处理器只是封装到同一个芯片接冂、电源引脚和外设的接口引脚都是独立的,因此,如果使用芯片进行设计,即使不使用到片上的处理器,处理器部分占用的芯片资源也无法释放岀来,不能用作通用的资源。而」是使用通用逻辑和存储器资源搭建的,当不使用时部分占用的资源可以被释放,重新用作通用资源。架构的优势嵌入式处理器开发人员面对的一个最大挑战就是如何选择一个满足其应用要求的处理器。现在口有数百种嵌入式处理器,每种处理器都具备一组不同的外设、存储器、接口和性能特性,用户很难做出一个合理的选择:要么为∫匹配实际应川所需的外设和接口要求而不得不选择在某些性能上多余的处理器要么为」保持成本的需求而达不到原先预计的理想方案。采用集成架构的芯片,用户将不会局限于预先制造的处理器技杺,而是根捃自己的要求定制处理器,按照需要选择合适的外设、存储器和接口。此外,用户还可以轻松集成自己专有的功能(如,用户逻辑),创建一款“完美”的处理器,如图所示,使用户的设计具有独特的竞争优势。介绍vOFLASHlo LIcCPUFLASH1/OSDRAMFPGADSPFPGACPU CPU DSPSDRAM用户所需要的嵌入式设备主控制器,应该能够满足当前和今后的设计功能及性能需求。由于今后发展具有不确定性,因此,设计人员必须能够更改其设计,例如为处理器加入新的功能电路,定制硬件加速器,或者加入协处理器,以达刭新的性能日标,而基于的系统能够满足以上要求。采川芯片,用户不仅可以使川处理器的高性能运算和事务处理能力,还可以根据需要定制功能。在单个中实现高性能处理器、外设、存储器和接口功能,可以降低用户的系统总体成本。开发人员希望快速将产品推向市场并保持一个较长的产品生命周期,避免更新换代。基于的系统在以下几个方面可以帮助用户实现此目标≯缩短产品的上市时间—可编程的特性使其具有最快的产品上市速度。许多的设计通过简单的修改都可以被快速地实现到设计处理器能够运行成熟的操作系统,基于操作系统,用户能够非常简单高效的编写应用程序,加快软件开发周期。而系统的灵活性和快速上市的特性源于提供完整的开发套件、众多的参考设计、强大的硬件开发工具(和软件开发工具(套件。用户可以借助厂商提供的参考设计和易用的开发工具。在几个小吋内就完成自己的设计原型。建立有竞争性的优势一维持一个基于通用硬件平台的产品的竞争优势是非常困难的。而器件,能够充分发挥的可编程特性,设讣独有的硬件加速和协处理逻辑,配合处理器协同工作,具备硬件加速、定制的可裁剪的外设等的系统,具备了竞争的优势>延长了产品的生存时间一使川器件的产品带来的一个独特优势就是能够对硬件进行升级。即使产品口绎交付给客户,仍可以定期升级。这些特性可以解决很多问题:
- 2020-12-06下载
- 积分:1