本书以Xilinx公司的XC7Z020 Zynq-7000 SoC器件和Xilinx新的Vivado 2015.4集成开发环境为平台,全面系统的介绍了嵌入式系统设计的完整设计流程。作者以本书为核心,构建了由公开视频教学资源、设计案例代码、教学课件、QQ交流群等学习资源,以方便广大读者与作者交流互动。
内容简介
学习说明
前言
第1章 Zynq-7000 Soc设计导论
1.1 全可编程片上系统基础知识
1.2 Zynq-7000 SoC功能和结构
1.3 Zynq-7000 SoC在嵌入式系统中的优势
1.4 Zynq-7000 SoC的Vivado设计流程
第2章 AMBA协议规范
2.1 AMBA规范概述
2.2 AMBA APB规范
2.3 AMBA AHB规范
2.4 AMBA AXI4规范
第3章 Zynq-7000 系统公共资源及特性
3.1 时钟子系统
3.2 复位子系统
第4章 Zynq调试和测试子系统
4.1 JTAG和DAP子系统
4.2 Core Sight系统结构及功能
第5章 cortex-A9处理器及指令集
5.1 应用处理单元概述
5.2 ARM处理器架构发展
5.3 Cortex-A9中央处理器结构
5.4 Cortex-A9处理器指令集
第6章 cortex-A9片上存储器系统结构和功能
6.1 L1高速缓存
6.2 存储器顺序
6.3 存储器管理单元
6.4 侦听控制单元
6.5 L2高速缓存
6.6 片上存储器
6.7 系统地址分配
第7章 Zynq-7000 Soc的Vivɑdo基本设计流程
7.1 创建新的工程
7.2 使用IP集成器创建处理器系统
7.3 生成顶层HDL并导出设计到SDK
7.4 创建应用测试程序
7.5 设计验证
7.6 SDK调试工具的使用
7.7 SDK性能分析工具
第8章 ARMGPIO的原理和控制实现
8.1 GPIO模块原理
8.2 Vivado环境下MIO读/写控制的实现
8.3 Vivado环境下EMIO读/写控制的实现
第9章 cortex-A9异常与中断原理及实现
9.1 异常原理
9.2 中断原理
9.3 Vivado环境下中断系统的实现
第10章 cortex-A9定时器原理及实现
10.1 定时器系统架构
10.2 Vivado环境下定时器的控制实现
第11章 cortex-A9DMA控制器原理及实现
11.1 DMA控制器架构
11.2 DMA控制器功能
11.3 DMA控制器编程指南
11.4 DMA引擎编程指南
11.5 编程限制
11.6 系统功能之控制器复位配置
11.7 I/O接口
11.8 Vivado环境下DMA传输的实现
第12章 cortex-A9安全性扩展
12.1 Trust Zone硬件架构
12.2 Zynq-7000 APU内的Trust Zone
第13章 cortex-A9NEON原理及实现
13.1 SIMD
13.2 NEON架构
13.3 NEON C编译器和汇编器
13.4 NEON优化库
13.5 SDK工具提供的优化选项
13.6 使用NEON内联函数
13.7 优化NEON汇编器代码
13.8 提高存储器访问效率
13.9 自动向量化实现
13.10 NEON汇编代码实现
第14章 cortex-A9外设模块结构及功能
14.1 DDR存储器控制器
14.2 静态存储器控制器
14.3 四-SPIFlash控制器
14.4 SD/SDIO外设控制器
14.5 USB主机、设备和OTG控制器
14.6 吉比特以太网控制器
14.7 SPI控制器
14.8 CAN控制器
14.9 UART控制器
14.10 I~2C控制器
14.11 ADC转换器接口
14.12 PCI-E接口
第15章 Zynq-7000内的可编程逻辑资源
15.1 可编程逻辑资源概述
15.2 可编程逻辑资源功能
第16章 Zynq-7000 内的互联结构
16.1 系统互联架构
16.2 服务质量
16.3 AXI_HP接口
16.4 AXI_ACP接口
16.5 AXI_GP接口
16.6 AXI信号总结
16.7 PL接口选择
第17章 Zynq-7000Soc内定制简单axi_Lite IP
17.1 设计原理
17.2 定制axi_Lite IP
17.3 打开并添加IP到设计中
17.4 导出硬件到SDK
17.5 建立和验证软件应用工程
第18章 Zynq-7000Soc内定制复杂AXILITE IP
18.1 设计原理
18.2 定制VGA IP核
18.3 定制移位寄存器IP核
18.4 打开并添加IP到设计中
18.5 导出硬件到SDK
18.6 建立和验证软件工程
第19章 Zynq-7000AXIHP数据传输原理及实现
19.1 设计原理
19.2 构建硬件系统
19.3 建立和验证软件工程
第20章 Zynq-7000 Ac P数据传输原理及实现
20.1 设计原理
20.2 打开前面的设计工程
20.3 配置PS端口
20.4 添加并连接IP到设计
20.5 使用SDK设计和实现应用工程
第21章 Zynq-7000软件和硬件协同调试原理及实现
21.1 设计目标
21.2 ILA核原理
21.3 VIO核原理
21.4 构建协同调试硬件系统
21.5 生成软件工程
21.6 S/H协同调试
第22章 Zynq-7000Soc启动和配置原理及实现
22.1 Zynq-7000 SoC启动过程
22.2 Zynq-7000 SoC启动要求
22.3 Zynq-7000 SoC内的Boot ROM
22.4 Zynq-7000 SoC器件配置接口
22.5 生成SD卡镜像文件并启动
22.6 生成QSPI Flash镜像并启动
22.7 Cortex-A9双核系统的配置和运行
第23章 Zynq-7000Soc内XADc原理及实现
23.1 ADC转换器接口结构
23.2 ADC转换器功能
23.3 XADC IP核结构及信号
23.4 开发平台上XADC接口
23.5 在Zynq-7000 SoC内构建数模混合系统
23.6 使用SDK设计和实现应用工程
第24章 Linux开发坏境的构建
24.1 构建虚拟机环境
24.2 安装和启动Ubuntu14.04 客户机操作系统
24.3 安装FTP工具
24.4 安装和启动SSH和git组件
24.5 安装交叉编译器环境
24.6 安装和配置Qt集成开发工具
第25章 构建Zynq-7000Soc内Ubuntu硬件运行坏境
25.1 建立新的设计工程
25.2 添加IP核路径
25.3 构建硬件系统
25.4 添加设计约束文件
25.5 导出硬件文件
第26章 构建Zynq-7000 Soc内Ubuntu软件运行坏境
26.1 u-boot原理及实现
26.2 内核结构及编译
26.3 设备树原理及实现
26.4 文件系统原理及下载
26.5 生成Ubuntu启动镜像
26.6 启动Ubuntu操作系统
第27章 Linux坏境下简单字符设备驱动程序的开发
27.1 驱动程序的必要性
27.2 Linux操作系统下的设备文件类型
27.3 Linux驱动的开发流程
27.4 驱动程序的结构框架
27.5 编写Makefile文件
27.6 编译驱动程序
27.7 编写测试程序
27.8 运行测试程序
第28章 Linux坏境下包含中断机制驱动程序的开发
28.1 设计原理
28.2 编写包含中断处理的驱动代码
28.3 编写Makefile文件
28.4 编译驱动程序
28.5 测试驱动程序
第29章 Linux坏境下图像处理系统的构建
29.1 系统整体架构和功能
29.2 OV5640摄像头性能
29.3 Vivado HLS实现拉普拉斯算子滤波算法的设计
29.4 图像处理系统的整体构建
29.5 图像处理系统软件的设计
29.6 嵌入式图像处理系统测试
作者简介

