图书介绍
嵌入式系统软硬件协同设计实战指南pdf电子书版本下载
- 陆佳华,潘祖龙,彭竞宇等编著 著
- 出版社: 北京:机械工业出版社
- ISBN:9787111472070
- 出版时间:2014
- 标注页数:321页
- 文件大小:156MB
- 文件页数:337页
- 主题词:可编程序逻辑阵列-系统设计
PDF下载
下载说明
嵌入式系统软硬件协同设计实战指南PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如 BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第一部分 基础篇 2
第1章 将你的ZED板卡用起来 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 文件复制 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章 Zynq开发工具链 29
4.1 Vivado设计套件 29
4.1.1 Vivado IDE 29
4.1.2 Vivado IP Integrator 32
4.1.3 Vivado调试介绍 35
4.2 软件开发工具链 37
4.2.1 SDK 37
4.2.2 交叉编译工具链 38
4.2.3 GDB与GDB Server 39
第5章 Zynq体系结构 41
5.1 应用处理器单元 41
5.1.1 Cortex-A9处理器 41
5.1.2 侦听控制单元 44
5.1.3 L2高速缓存 45
5.1.4 APU接口 45
5.2 通用外设 47
5.2.1 通用I/O 47
5.2.2 SPI接口 50
5.2.3 UART接口 52
5.2.4 计时器 55
5.2.5 USB控制器 57
5.2.6 DDR控制器 58
5.3 数字逻辑设计 60
5.3.1 可编程逻辑“外设” 60
5.3.2 XADC 62
5.3.3 PCIe 63
5.4 MIO/EMIO 64
第6章 系统级信号 67
6.1 电源管理 67
6.1.1 PS运行模式下的动态功耗削减 68
6.1.2 睡眠模式 68
6.2 时钟信号 68
6.2.1 CPU时钟域 69
6.2.2 DDR时钟域 70
6.2.3 基本的时钟分支结构 70
6.2.4 I/O外设(IOp)时钟 71
6.2.5 PL时钟 73
6.2.6 其他时钟 73
6.3 复位系统 74
6.4 JTAG 76
6.5 中断处理 77
第7章 Zynq的启动与配置 79
7.1 Zynq的启动过程简介 79
7.2 外部启动条件 80
7.2.1 电源要求 80
7.2.2 时钟要求 80
7.2.3 复位要求 80
7.2.4 启动引脚设置 81
7.3 BootROM 81
7.3.1 BootROM的作用 81
7.3.2 BootROM的特点 82
7.3.3 执行BootROM后的状态 83
7.4 FSBL 83
7.5 SSBL 86
7.6 Linux启动过程 86
7.7 Secure Boot 87
第8章 面向软件工程师的逻辑设计 89
8.1 FPGA硬件加速原理 89
8.1.1 以空间换时间 89
8.1.2 以存储器换门电路 91
8.1.3 以IP集成换生产力 92
8.2 部分动态可重配置于Zynq 95
第9章 ZedBoard入门 97
9.1 跑马灯 97
9.1.1 Vivado工程创建 97
9.1.2 在Vivado中创建Zynq嵌入式系统 100
9.1.3 SDK应用程序的编写 109
9.2 Zynq嵌入式系统调试方法 114
9.2.1 Vivado硬件调试 114
9.2.2 使用SDK对Zynq进行调试 119
9.3 启动Linux 123
9.3.1 创建FSBL elf 123
9.3.2 从SD卡启动Linux 124
9.3.3 从QSPI启动Linux 126
第二部分 进阶篇 130
第10章 基于虚拟平台的Zynq开发 130
10.1 QEMU介绍 130
10.2 编译QEMU源码 130
10.2.1 下载QEMU源码 130
10.2.2 配置QEMU 131
10.2.3 QEMU所依赖的库文件 131
10.2.4 编译QEMU 131
10.3 启动QEMU 131
10.4 QEMU中的嵌入式Linux 132
10.4.1 QEMU启动简介 132
10.4.2 使用Ubuntu包管理器快速搭建用户定制系统 133
10.4.3 使用SSH服务进行访问 134
10.4.4 使用Telnet服务进行访问 135
10.4.5 使用FTP服务向QEMU传送文件 135
10.4.6 USB设备支持 135
10.4.7 SMP对称多核处理器的支持 135
10.4.8 硬件模块GPIO支持 135
10.5 商业版虚拟平台 136
第11章 PL和PS的接口技术详解 137
11.1 PL和PS的接口 137
11.1.1 AXI接口简介 138
11.1.2 AXI Interconnect 139
11.2 Zynq的内部连接 142
11.2.1 AXI_HP 144
11.2.2 AXI_GP 145
11.2.3 AXI_ ACP 145
11.3 PL和存储器系统性能概述 147
11.3.1 接口理论带宽 147
11.3.2 DDR控制器的吞吐率及效率 148
11.3.3 内部互连吞吐量瓶颈 148
11.3.4 如何选择PL的接口 149
第12章 基于Zynq的软硬件协同设计 154
12.1 多核处理器架构简介 154
12.1.1 什么是多核处理器 154
12.1.2 多核处理器发展的动机和优势 155
12.1.3 同构、异构多核架构的优点和挑战 157
12.2 软硬件协同设计方法论 157
12.2.1 什么是软硬件协同设计 157
12.2.2 软硬件协同设计发展的动机和优势 157
12.2.3 软硬件协同设计的基本流程 158
12.2.4 基于Xilinx工具的软硬件协同设计简介 159
12.3 高层次综合 159
12.3.1 高层次综合综述 159
12.3.2 高层次综合发展的动机与优势 160
12.3.3 Xilinx Vivado HLS工具简介 161
12.4 基于Xilinx Zynq的软硬件协同设计简例 162
12.4.1 功能简介 162
12.4.2 设计流程简介 162
第13章 Zynq高级开发 170
13.1 用户IP核设计 170
13.1.1 AXI PWM设计 170
13.1.2 添加用户IP,完成系统设计 180
13.2 构建嵌入式Linux系统 185
13.2.1 构建交叉编译环境 185
13.2.2 编译U- Boot 186
13.2.3 编译uImage 186
13.2.4 生成uramdisk.image.gz 187
13.2.5 创建devicetree.dtb 188
13.3 嵌入式Linux应用程序与驱动 190
13.3.1 Linux设备驱动与软硬件之间的关系 190
13.3.2 字符型设备驱动 191
13.3.3 PWM模块驱动程序 192
13.3.4 应用程序编写 193
13.4 HDMI设计 194
13.4.1 HDMI传输原理 195
13.4.2 ADV7511芯片的相关控制信号 196
13.4.3 HDMI系统Vivado实现 198
13.5 OpenCV移植 200
13.5.1 开发环境准备 200
13.5.2 配置cmake 200
13.5.3 OpenCV编译与安装 202
13.5.4 OpenCV移植与ZedBoard测试 203
13.6 基于OpenCV的树叶识别系统 204
13.6.1 项目总览 205
13.6.2 图像采集 205
13.6.3 预处理 206
13.6.4 特征提取 208
13.6.5 分类决策 213
13.6.6 过程总述 216
13.7 基于OpenCV的人脸检测系统 217
13.7.1 原理简介 218
13.7.2 系统设计与实现 219
13.8 嵌入式Web服务器搭建 221
13.8.1 Boa服务器移植与配置 221
13.8.2 Boa服务器的部署与测试 223
13.8.3 CGI程序简介 224
13.9 在ZedBoard上搭建网络摄像机 225
13.9.1 嵌入式网络摄像机 225
13.9.2 Mjpeg-Streamer移植 226
13.9.3 部署Mjpeg-Streamer 226
13.10 FreeRTOS 228
13.10.1 FreeRTOS介绍 228
13.10.2 FreeRTOS与ucOS-II的比较 229
13.10.3 FreeRTOS在Zynq上的应用实例与分析 229
13.11 基于FreeRTOS的Xilmfs 240
13.11.1 嵌入式文件系统概述 241
13.11.2 Xilmfs文件系统介绍 245
13.11.3 Xilmfs文件系统使用实例 248
13.11.4 利用mfsgen工具创建只读型文件系统镜像 250
13.12 Lwip 251
13.12.1 基于standalone的Lwip应用 252
13.12.2 基于FreeRTOS的Lwip应用 255
13.13 在Zynq上搭建Andriod 257
13.14 Zynq双核通信 259
第14章 系统级设计案例 265
14.1 多轴运动控制系统 265
14.1.1 整体结构 265
14.1.2 硬件系统设计 266
14.1.3 硬件系统与ZedBoard接口 267
14.1.4 控制系统设计流程 268
14.1.5 多轴控制系统结构设计 270
14.1.6 利用Vivado HLS实现电流环控制硬件 271
14.1.7 算法移植 272
14.1.8 算法综合 273
14.1.9 软件系统设计 274
14.1.10 双核交互实现 274
14.1.11 Android APP监控程序实现 275
14.1.12 系统测试 276
14.2 Sobel滤波 278
14.2.1 软件架构设计 278
14.2.2 Linux内核与设备驱动 279
14.3 SDN/OpenFlow交换机 287
14.3.1 SDN/OpenFlow简介 287
14.3.2 数据通路设计 288
14.3.3 平台架构搭建 290
14.3.4 系统及驱动 291
14.3.5 OpenFlow交换机移植 292
14.3.6 启动OpenFlow交换机 292
14.3.7 数据通路优化及加速 294
14.4 智能小车系统开发 294
14.4.1 智能小车系统结构 295
14.4.2 运动控制设计 298
14.4.3 Linux系统应用程序设计 301
14.4.4 智能小车平台的后续拓展 307
14.4.5 在智能小车平台上移植ROS 308
第15章 如何获取资料和帮助 309
15.1 如何获取Xilinx的技术文档 309
15.1.1 DocNav介绍 309
15.1.2 DocNav使用案例 309
15.2 如何找到Zynq开发资料 312
15.2.1 如何获取本书的最新例程 312
15.2.2 如何获取Zynq开发资料 312
15.2.3 如何获取ZedBoard文档与例程 313
15.3 Xilinx网站资源导读 313
15.3.1 序 313
15.3.2 Xilinx软件介绍 313
15.3.3 软件版本和软件更新 316
15.3.4 软件教程 317
15.3.5 硬件资料 318
15.3.6 参考资源 319
15.3.7 问题解决 320
参考文献 321