当前位置:首页 > 工业技术
嵌入式系统软硬件协同设计实战指南  基于Xilinx Zynq

嵌入式系统软硬件协同设计实战指南 基于Xilinx ZynqPDF格式文档图书下载

工业技术

图书介绍:本书分为基础篇和进阶篇两大部分,基础篇主要介绍Zynq SOC架构,ARM Cortex-A9 处理器, 开发工具链等,器件Boot过程,并配备了大量基础实验,包括板卡的启动,编译嵌入式Linux系统,完成ARM和FPGA的简单片内通讯等;在进阶篇中详解了处理器和FPGA间接口种类和工作方式,分析了如何完成两者间高速的数据交互,通过实例介绍了如何在FPGA中定义用户自己的IP核并完成驱动编写供处理器上运行的Linux使用等,例如如何完成HDMI接口,如何将摄像头数据传递给处理器,并通过运行的OpenCV。本书还将结合Xilinx 最新的Vivado和AutoESL开发工具介绍整体软硬件协同设计开发流程并通过案例分析。 最后安排了一章系统级案例,如带视频控制的智能小车系统、利用软硬件协同设计完成的高清视频滤波处理等,这里每一个案例都会用到基础篇和进阶篇的所介绍的技术和内容,使读者更好的理解Zynq和Zed board。

查看更多关于嵌入式系统软硬件协同设计实战指南 基于Xilinx Zynq的内容

图书介绍

第一部分 基础篇 2

第1章 初试ZedBoard 2

1.1 GPIO LED动手玩 2

1.1.1 拷贝SD卡 2

1.1.2 跳线与外设连接 2

1.1.3 演示操作 2

1.2 Linaro Ubuntu动手玩 3

1.2.1 SD卡分区 3

1.2.2 文件拷贝(FAT/EXT) 6

1.2.3 外设连接 6

1.2.4 可演示的效果 7

第2章 Zynq平台介绍 9

2.1 7系列FPGA简介 9

2.2 Zynq-7000 AP SoC体系简介 12

第3章 ZedBoard开发环境 15

3.1 ZedBoard的板载外设 15

3.1.1 LED 15

3.1.2 按键 16

3.1.3 开关 16

3.1.4 OLED 17

3.1.5 USB接口 18

3.1.6 音频接口 20

3.1.7 VGA接口 21

3.1.8 HDMI接口 22

3.1.9 10/100/1000兆网口 23

3.2 ZedBoard的扩展外设 25

3.2.1 外扩PMod插座 25

3.2.2 外扩FMC插槽 27

3.2.3 外扩AMS插座 28

第4章 开发工具链 29

4.1 可编程逻辑开发工具链 29

4.1.1 PlanAhead 29

4.1.2 Xilinx Platform Studio 31

4.2 软件开发工具链 34

4.2.1 Xilinx Software Development Kit 34

4.2.2 交叉编译工具链 35

4.3 软硬件调试工具 36

4.3.1 ChipScope Pro 36

4.3.2 GDB与GDBserver 38

第5章 Zynq体系结构 40

5.1 应用处理器单元(APU) 40

5.1.1 ARM Cortex A9处理器 40

5.1.2 侦听控制单元(SCU) 43

5.1.3 L2高速缓存 44

5.1.4 APU接口 44

5.2 通用外设 46

5.2.1 通用IO(GPIO) 46

5.2.2 SPI接口 49

5.2.3 UART接口 51

5.2.4 计时器 54

5.2.5 USB控制器 57

5.2.6 DDR控制器 58

5.3 数字逻辑设计 59

5.3.1 可编程逻辑“外设”(PL) 59

5.3.2 XADC 61

5.3.3 PCIe 62

5.4 MIO/EMIO 63

第6章 系统级信号 66

6.1 电源管理 66

6.2 Clock信号 67

6.2.1 CPU时钟域 68

6.2.2 DDR时钟域 69

6.2.3 基本的时钟分支结构 69

6.2.4 I/O外设(IOP)时钟 70

6.2.5 PL时钟 72

6.2.6 其他时钟 72

6.3 复位系统 73

6.4 JTAG 75

6.5 中断处理 76

第7章 Zynq启动与配置 78

7.1 Zynq启动过程简介 78

7.2 外部启动条件 79

7.2.1 电源要求 79

7.2.2 时钟要求 79

7.2.3 复位要求 79

7.2.4 启动引脚设置 80

7.3 BootROM 80

7.3.1 BootROM的作用 80

7.3.2 BootROM的特点 81

7.3.3 BootROM后的状态 82

7.4 FSBL 82

7.5 SSBL 84

7.6 Linux启动过程 84

7.7 Secure Boot 86

第8章 面向软件工程师的逻辑设计 87

8.1 FPGA硬件加速原理 87

8.1.1 以空间换时间 87

8.1.2 以存储器换门电路 89

8.1.3 以IP集成换生产力 90

8.2 部分动态可重配置于Zynq 93

第9章 ZedBoard入门 95

9.1 UART和GPIO控制 95

9.1.1 UART和GPIO接口 95

9.1.2 硬件设计过程 96

9.1.3 软件设计过程 106

9.2 硬件/软件调试方法 112

9.2.1 ChipScope IP Core 112

9.2.2 SDK Gdb使用 115

9.3 搭建你的单板计算机(Single Board Computer) 117

9.3.1 搭建系统环境 118

9.3.2 准备工作 118

第二部分 进阶篇 126

第10章 基于虚拟平台的Zynq开发 126

10.1 QEMU介绍 126

10.2 编译QEMU源码 126

10.2.1 下载QEMU源码 126

10.2.2 配置QEMU 127

10.2.3 QEMU所依赖的库文件 127

10.2.4 编译QEMU 127

10.3 启动QEMU 127

10.4 QEMU中的嵌入式Linux 128

10.5 商业版虚拟平台 131

第11章 PL和PS的接口技术详解 132

11.1 PL和PS的接口 132

11.1.1 AXI接口简介 133

11.1.2 AXI Interconnect 134

11.2 Zynq的内部连接 137

11.2.1 AXI_HP 139

11.2.2 AXI_GP 140

11.2.3 AXI_ACP 140

11.3 PL和存储器系统性能概述 142

11.3.1 接口理论带宽 142

11.3.2 DDR控制器的吞吐率及其效率 143

11.3.3 内部互连吞吐量瓶颈 143

11.3.4 如何选择PL的接口 144

第12章 基于Zynq的软硬件协同设计 149

12.1 多核处理器架构简介 149

12.1.1 什么是多核处理器 149

12.1.2 多核处理器发展的动机和优势 150

12.1.3 同构、异构多核架构的优点和挑战 152

12.2 软硬件协同设计方法论 152

12.2.1 什么是软硬件协同设计 152

12.2.2 软硬件协同设计发展的动机和优势 152

12.2.3 软硬件协同设计的基本流程 153

12.2.4 基于Xilinx工具的软硬件协同设计简介 154

12.3 高层次综合 154

12.3.1 高层次综合综述 154

12.3.2 高层次综合发展的动机与优势 155

12.3.3 Xilinx AutoESL工具简介 156

12.4 基于Xihnx Zynq的软硬件协同设计实例 157

12.4.1 功能简介 157

12.4.2 设计流程简介 157

12.4.3 实验结果与验证 165

第13章 Zynq开发实战 166

13.1 用户IP设计 166

13.1.1 用户IPcore介绍 166

13.1.2 用户IPcore设计 167

13.2 嵌入式Linux设备驱动开发 180

13.2.1 设备驱动开发介绍 180

13.2.2 驱动程序的加载与卸载 181

13.2.3 sys文件系统简介 181

13.2.4 PWM模块驱动程序 182

13.2.5 PWM驱动程序编译与测试 184

13.3 构建嵌入式Linux系统 186

13.3.1 搭建系统环境 186

13.3.2 编译u-boot 186

13.3.3 编译内核与设备树 187

13.3.4 制作根文件系统 188

13.3.5 启动嵌入式Linux 192

13.4 HDMI设计 193

13.4.1 HDMI传输原理 193

13.4.2 ADV7511芯片的相关控制信号 195

13.4.3 设计过程 198

13.5 OpenCV移植 203

13.5.1 开发环境准备 203

13.5.2 配置cmake 203

13.5.3 OpenCV编译与安装 205

13.5.4 OpenCV移植与ZedBoard测试 206

13.6 基于OpenCV的树叶识别系统 207

13.6.1 项目总览 208

13.6.2 图像采集 208

13.6.3 预处理 209

13.6.4 特征提取 211

13.6.5 分类决策 216

13.6.6 总结 219

13.7 基于OpenCV的人脸识别系统 220

13.7.1 系统综述 220

13.7.2 基于Haar特征和Adaboost算法的人脸检测 220

13.7.3 系统设计与实现 222

13.7.4 总结 226

13.8 嵌入式Web服务器的移植与搭建 226

13.8.1 嵌入式Web服务器介绍 226

13.8.2 Boa服务器移植与配置 228

13.8.3 Boa服务器部署与测试 230

13.9 嵌入式网络摄像机的移植与搭建 233

13.9.1 嵌入式网络摄像机 233

13.9.2 mjPg-streamer的移植与架设 234

13.10 FreeRTOS实时操作系统的应用 238

13.10.1 FreeRTOS介绍 238

13.10.2 FreeRTOS与ucOS-Ⅱ的比较 239

13.10.3 FreeRTOS在Zynq上的应用实例与分析 239

13.10.4 基于FreeRTOS的Lwip 250

13.11 XADC的使用 250

13.11.1 建立硬件工程 252

13.11.2 软件工程设计 253

13.11.3 程序分析 255

13.12 基于Zynq的部分可重配置 256

13.12.1 可重配置系统介绍 256

13.12.2 可重配置的开发流程 257

13.12.3 小结 265

13.13 在Zynq上搭建Android简介 265

第14章 系统级设计案例 266

14.1 电机控制系统 266

14.1.1 双闭环控制器理论 266

14.1.2 双闭环系统 267

14.1.3 双闭环控制IP核说明 272

14.1.4 硬件实现过程 275

14.1.5 软件实现过程 285

14.1.6 硬件平台测试 286

14.2 智能家庭健康平台 287

14.2.1 智能家庭健康平台简介 287

14.2.2 EKG AFE模块硬件设计 287

14.2.3 Night EKG Controller IP设计 292

14.2.4 建立可运行Linux的完整系统 295

14.2.5 Night EKG Controller的Linux驱动设计 297

14.2.6 基于Qt的图形用户界面设计 299

14.2.7 在ZedBoard上运行Qt程序 308

14.2.8 实现软件开机自动运行 310

14.3 高性能视频处理系统设计 311

14.3.1 系统架构 312

14.3.2 硬件架构设计 313

14.3.3 软件架构设计 316

14.3.4 利用Vivado HLS实现Sobel滤波硬件 318

14.3.5 使系统在ZedBoard上运行 320

14.4 智能小车系统开发 320

14.4.1 智能小车系统结构 320

14.4.2 运动控制设计 323

14.4.3 Linux系统应用程序设计 326

14.4.4 智能小车平台的后续拓展 333

第15章 如何获取资料和帮助 334

15.1 如何获取Xilinx的技术文档 334

15.1.1 DocNav介绍 334

15.1.2 DocNav使用案例 334

15.2 如何找到Zynq开发资料 336

15.2.1 如何获取本书的最新例程 336

15.2.2 如何获取Zynq开发资料 337

15.2.3 如何获取ZedBoard文档与例程 337

15.3 Xilinx网站资源导读 338

15.3.1 序 338

15.3.2 Xilinx软件介绍 338

15.3.3 软件版本和软件更新 340

15.3.4 软件教程 341

15.3.5 硬件资料 343

15.3.6 参考资源 343

15.3.7 问题解决 344

附录A Xilinx开发套件版本14.1到14.3的主要升级变化 346

参考资料 353

查看更多关于嵌入式系统软硬件协同设计实战指南 基于Xilinx Zynq的内容

相关书籍
作者其它书籍
返回顶部