没有合适的资源?快使用搜索试试~ 我知道了~
首页基于 ZYNQ 7020 的 FPGA + ARM 开发
基于 ZYNQ 7020 的 FPGA + ARM 开发

ZynqTM-7000 系列芯片是基于 Xilinx 的可扩展处理器平台架构(Extensible Processing Platform, EPP), 将双核 ARM CortexTM-A9 处理器和 FPGA 可编程逻辑单元集成在一颗单芯片中,从而构成所谓的 PS(Processing System)加 PL(Programmable Logic)的单芯片 SoC 解决方案。
资源详情
资源评论
资源推荐

MicroZus 开发平台参考教程
-
基于
ZYNQ 7020
的
FPGA + ARM
开发

目录
0 前言 ....................................................................................................................................................... 1
1 Zynq - 7000 系列芯片简介 ............................................................................................................. 2
2 Vivado 开发环境安装 ....................................................................................................................... 4
3 Vivado 全流程概览 - LED 流水灯(PL) ................................................................................... 18
4 硬件环境的调优 - 按键检测(PL) ................................................................................................. 40
5 和片外芯片打交道 - IIC 读写 EEPROM(PL) .......................................................................... 46
6 片上调试的利器 - 用 ILA 在线调试 IIC 串口(PL) ................................................................... 53
7 节能环保 - 增量编译 FPGA 设计的小改动(PL) ....................................................................... 70
8 打包自己的设计 - 用户定义 IP 之模块打包(PL) ....................................................................... 78
9 逻辑设计中的即插即用 - 基于 IP 的设计之 HDMI 输出(PL) ................................................. 93
10 Zynq 处理器初探 - Hello Zynq(PS) ................................................................................ 111
11 Zynq 中断初探 - PPI 中断(PS) ........................................................................................... 129
12 Zynq 软硬件协同设计 - LED 流水灯(PS+PL) .................................................................... 136
13 Zynq 软硬件协同设计 - 按键中断检测(PS+PL).................................................................. 149
14 Zynq 软硬件协同设计 - 按键非中断检测(PS+PL).............................................................. 164
15 Zynq 软硬件协同设计 - EMIO(PS+PL) .............................................................................. 177
16 Zynq 软硬件协同设计 - AXI4 IP 打包(PS+PL) ................................................................ 193
17 Zynq 软硬件协同设计 - IIC 读写 EEPROM(PS+PL) ...................................................... 206
18 Zynq 软硬件协同设计 - DRAM 读写操作(PS+PL) ........................................................... 222
19 Zynq 软硬件协同设计 - HDMI 输出(PS+PL) ..................................................................... 235
20 Zynq 软硬件协同设计 - 从 Flash 和 SD 卡启动(PS+PL) ................................................ 275
21 Zynq Linux 开发 - VirtualBox 安装 Ubuntu14.04 ..................................................... 293
22 Zynq Linux 开发 - PetaLinux 工具安装 ........................................................................... 316
23 Zynq Linux 开发 - 从 QSPI-Flash 启动 PetaLinux ..................................................... 321
24 Zynq Linux 开发 - 从 SD 卡启动 PetaLinux ................................................................... 343
25 Zynq Linux 开发 - 基于 TCF-agent 调试 Linux 应用程序 ............................................ 364

26 Zynq Linux 开发 - 驱动 USB 外设 ....................................................................................... 385
27 Zynq Linux 开发 - 驱动 WiFi ................................................................................................ 408
28 Zynq Linux 开发 - Run Ubuntu ......................................................................................... 457
29 最后 - 以终为始 ........................................................................................................................... 485

1
0 前言
必要性
开发此教程之前,作者一直在问自己,它存在的必要性是什么。因为 Xilinx 有官方的开发板
和用户手册,也有非常有名的第三方开发板厂商如 Digilent,还有淘宝上各式各样的开发板。但
是,它们都存在诸多问题:
Xilinx 官方开发板:价格昂贵,内容简略,对开发者要求较高。
Digilent 开发板:价格昂贵,内容简略,对开发者要求较高。
淘宝上其他开发板:良莠不齐,内容东拼西凑,只是简单步骤的罗列,代码混乱。
读者需要什么
当然是学会 FPGA 开发。作者本人在 FPGA 逻辑设计领域摸爬滚打也有 7,8 年了,一开始也
买过市面上的一些板卡,但大部分开发板,只是简单步骤的罗列,再加上一些没有为什么的代
码,而且各式各样的代码风格也让我深受其害。因为做 FPGA 开发的大都是硬件工程师,没有受
过系统的软件开发训练,代码混乱就可想而知。所以这本教程,也带有作者多年的点滴经验和
体会,希望能帮读者迅速入门,少走弯路。
为什么学习 ZYNQ 平台
有工科背景的读者,大部分都接触过单片机,DSP,FPGA 开发,单片机和 DSP 自身带有 CPU
和指令集,相当于一个完整的微型系统,而 FPGA 以前常常用来做粘合逻辑,对于大型项目,往
往要外接 DSP 作为主处理器负责流程控制和调度,而 FPAG 作为协处理器负责大规模并行计算,
所以可以说以前的 FPGA 是没有大脑的,随着 Altera 和 Xilinx 推出带 Nios 和 Microblaze 软核的
FPGA,这种状况得以缓解。ZYNQ 平台的推出,更使得基于 FPGA 的片上系统(SoC)成为可能。
ZYNQ 是 Xilinx 推出的 FPGA 加 ARM 解决方案,片内总线采用 AXI 总线协议(AMBA 3.0),
相比较于常用的 AHB 总线协议(AMBA 2.0),其性能和带宽均有大幅提升。随着数字系统越来
越复杂,软硬件协同设计越来越困难,FPGA 加 ARM 这种低成本 SoC 解决方案是大势所趋。
为什么选择我们
针对以上各种问题,MicroPhase 为读者推出高性价比的开发板和内容详实的参考教程,不
只告诉你怎么做,更要告诉你为什么,从而帮助读者迅速入门,轻松进阶,稳步提高,进而领
略到 FPGA 加 ARM 开发的乐趣。

2
1 Zynq - 7000 系列芯片简介
Zynq™-7000 系列芯片是基于 Xilinx 的可扩展处理器平台架构(Extensible Processing Platform, EPP),
将双核 ARM Cortex™-A9 处理器和 FPGA 可编程逻辑单元集成在一颗单芯片中,从而构成所谓的
PS(Processing System)加 PL(Programmable Logic)的单芯片 SoC 解决方案。
PS 部分,以 ARM 处理器为核心的应用处理单元(Application Processor Unit, APU)可以集成丰富的
外设,如 DDR,QSPI Flash,USB,UART,I2C,SPI,CAN,SDIO,Ethernet 等。
PL 部分,为用户提供了如高精度 DSP 处理器,XADC 模数转换器等通用的逻辑单元。得益于
FPGA 可编程的灵活性,用户可以根据不同的应用场景实现不同的逻辑功能。
PS-PL 互联,基于 ARM AMBA3.0 协议的 AXI 总线,提供了高性能,高带宽,低延迟的片内总线,
相比较于目前通用的 AMBA2.0 的 AHB 总线协议,更容易设计出高性能 SoC。
下图是 Zynq-7000 系列 FPGA 总览图,
剩余130页未读,继续阅读


















安全验证
文档复制为VIP权益,开通VIP直接复制

评论3