logo
分类于: 计算机基础

简介

嵌入式系统软硬件协同设计实战指南: 基于Xilinx Zynq

嵌入式系统软硬件协同设计实战指南: 基于Xilinx Zynq 7.8分

资源最后更新于 2020-03-29 01:59:46

作者:陆佳华

出版社:出版社机械工业出版社

出版日期:2014-07

ISBN:9787111411079

文件格式: pdf

标签: 计算机 程序设计 嵌入式 计算机组织与体系结构 单片计算机

简介· · · · · ·

本书由浅入深,由基础知识到实战案例向读者系统阐述了如何利用Zynq平台进行嵌入式系统以及软硬件协同设计的开发。本书分为基础篇与进阶篇两部分,基础篇中介绍了Zynq器件、ZedBoard,并配有简单入门实验,同时针对软件开发人员增设了FPGA硬件加速等内容。在进阶篇中介绍了利用Zynq进行软硬件协同设计,同时对处理器与可编程逻辑接口等技术进行了详细剖析。本书提供了20个详细的设计案例,涵盖了硬件板卡、FPGA逻辑、Linux驱动、Linux操作系统、上层应用、软硬件协同设计等Zynq开发中可能遇到的各个方面的知识,并在最后将前述独立案例整合为4个系统案例。本书重点突出实战,以案例为指导,配合介绍相关参考文档,协助读者尽快掌握在Zynq上进行各项设计的方法。本书可作为Zynq初学者、软硬件协同设计开发人员的参考用书,亦可作为大专院校嵌入式系统设计、片上系统设计、可编程逻辑器件等相关专业的教师和学生的参考用书。陆佳华,开源硬件社区Openhw.org资深版主,Xilinx高级应用工程师,现任职于Xilinx全球大学计划部,主要负责Xilinx全球大学相关的参考设计开发,技术推广、支持。陆佳华2006年毕业于西安交通大学并获得硕士学位。2006年加入Xilinx公司后任产品应用工程师,主要负责FPGA上的嵌入式系统设计,以太网设计,内存控制器设计等方向技术支持。陆佳华著有《零存整取-NetFPGA开发指南》一书。江舟,开源硬件社区Openhw.org的资深版主,浙江大学硕士研究生,现为Xilinx全球大学计划部实习生,主要参与Zynq上的软件开发。江舟是美信DIY大赛的主要技术支持者之一,并担任Xilinx开源硬件大赛的技术支持。马岷,开源硬件社区Openhw.org的资深版主,浙江大学硕士研究生,现为Xilinx全球大学计划部实习生,主要参与Zynq上的硬件开发。马岷是美信DIY大赛的主要技术支持者之一,并担任Xilinx开源硬件大赛的技术支持。

想要: 点击会收藏到你的 我的收藏,可以在这里查看

已收: 表示已经收藏

Tips: 注册一个用户 可以通过用户中心得到电子书更新的通知哦

目录

  1. 嵌入式系统软硬件协同设计实战指南
  2. Foreword
  3. 前言
  4. 平台及写作背景
  5. 阅读提示
  6. 致谢
  7. 第一部分 基础篇
  8. 第1章 初试ZedBoard
  9. 1.1 GPIO LED动手玩
  10. 1.1.1 拷贝SD卡
  11. 1.1.2 跳线与外设连接
  12. 1.1.3 演示操作
  13. 1.2 Linaro Ubuntu动手玩
  14. 1.2.1 SD卡分区
  15. 1.2.2 文件拷贝(FAT/EXT)
  16. 1.2.3 外设连接
  17. 1.2.4 可演示的效果
  18. 第2章 Zynq平台介绍
  19. 2.1 7系列FPGA简介
  20. 2.2 Zynq-7000 AP SoC体系简介
  21. 第3章 ZedBoard开发环境
  22. 3.1 ZedBoard的板载外设
  23. 3.1.1 LED
  24. 3.1.2 按键
  25. 3.1.3 开关
  26. 3.1.4 OLED
  27. 3.1.5 USB接口
  28. 3.1.6 音频接口
  29. 3.1.7 VGA接口
  30. 3.1.8 HDMI接口
  31. 3.1.9 10/100/1000兆网口
  32. 3.2 ZedBoard的扩展外设
  33. 3.2.1 外扩PMod插座
  34. 3.2.2 外扩FMC插槽
  35. 3.2.3 外扩AMS插座
  36. 第4章 开发工具链
  37. 4.1 可编程逻辑开发工具链
  38. 4.1.1 PlanAhead
  39. 4.1.2 Xilinx Platform Studio
  40. 4.2 软件开发工具链
  41. 4.2.1 Xilinx Software Development Kit
  42. 4.2.2 交叉编译工具链
  43. 4.3 软硬件调试工具
  44. 4.3.1 ChipScope Pro
  45. 4.3.2 GDB与GDBserver
  46. 第5章 Zynq体系结构
  47. 5.1 应用处理器单元(APU)
  48. 5.1.1 ARM Cortex A9处理器
  49. 5.1.2 侦听控制单元(SCU)
  50. 5.1.3 L2高速缓存
  51. 5.1.4 APU接口
  52. 5.2 通用外设
  53. 5.2.1 通用IO(GPIO)
  54. 5.2.2 SPI接口
  55. 5.2.3 UART接口
  56. 5.2.4 计时器
  57. 5.2.5 USB控制器
  58. 5.2.6 DDR控制器
  59. 5.3 数字逻辑设计
  60. 5.3.1 可编程逻辑“外设”(PL)
  61. 5.3.2 XADC
  62. 5.3.3 PCIe
  63. 5.4 MIO/EMIO
  64. 第6章 系统级信号
  65. 6.1 电源管理
  66. 6.2 Clock信号
  67. 6.2.1 CPU时钟域
  68. 6.2.2 DDR时钟域
  69. 6.2.3 基本的时钟分支结构
  70. 6.2.4 I/O外设(IOP)时钟
  71. 6.2.5 PL时钟
  72. 6.2.6 其他时钟
  73. 6.3 复位系统
  74. 6.4 JTAG
  75. 6.5 中断处理
  76. 第7章 Zynq启动与配置
  77. 7.1 Zynq启动过程简介
  78. 7.2 外部启动条件
  79. 7.2.1 电源要求
  80. 7.2.2 时钟要求
  81. 7.2.3 复位要求
  82. 7.2.4 启动引脚设置
  83. 7.3 BootROM
  84. 7.3.1 BootROM的作用
  85. 7.3.2 BootROM的特点
  86. 7.3.3 BootROM后的状态
  87. 7.4 FSBL
  88. 7.5 SSBL
  89. 7.6 Linux启动过程
  90. 7.7 Secure Boot
  91. 第8章 面向软件工程师的逻辑设计
  92. 8.1 FPGA硬件加速原理
  93. 8.1.1 以空间换时间
  94. 8.1.2 以存储器换门电路
  95. 8.1.3 以IP集成换生产力
  96. 8.2 部分动态可重配置于Zynq
  97. 第9章 ZedBoard入门
  98. 9.1 UART和GPIO控制
  99. 9.1.1 UART和GPIO接口
  100. 9.1.2 硬件设计过程
  101. 9.1.3 软件设计过程
  102. 9.2 硬件/软件调试方法
  103. 9.2.1 ChipScope IP Core
  104. 9.2.2 SDK Gdb使用
  105. 9.3 搭建你的单板计算机(Single Board Computer)
  106. 9.3.1 搭建系统环境
  107. 9.3.2 准备工作
  108. 第二部分 进阶篇
  109. 第10章 基于虚拟平台的Zynq开发
  110. 10.1 QEMU介绍
  111. 10.2 编译QEMU源码
  112. 10.2.1 下载QEMU源码
  113. 10.2.2 配置QEMU
  114. 10.2.3 QEMU所依赖的库文件
  115. 10.2.4 编译QEMU
  116. 10.3 启动QEMU
  117. 10.4 QEMU中的嵌入式Linux
  118. 10.5 商业版虚拟平台
  119. 第11章 PL和PS的接口技术详解
  120. 11.1 PL和PS的接口
  121. 11.1.1 AXI接口简介
  122. 11.1.2 AXI Interconnect
  123. 11.2 Zynq的内部连接
  124. 11.2.1 AXI_HP
  125. 11.2.2 AXI_GP
  126. 11.2.3 AXI_ACP
  127. 11.3 PL和存储器系统性能概述
  128. 11.3.1 接口理论带宽
  129. 11.3.2 DDR控制器的吞吐率及其效率
  130. 11.3.3 内部互连吞吐量瓶颈
  131. 11.3.4 如何选择PL的接口
  132. 第12章 基于Zynq的软硬件协同设计
  133. 12.1 多核处理器架构简介
  134. 12.1.1 什么是多核处理器
  135. 12.1.2 多核处理器发展的动机和优势
  136. 12.1.3 同构、异构多核架构的优点和挑战
  137. 12.2 软硬件协同设计方法论
  138. 12.2.1 什么是软硬件协同设计
  139. 12.2.2 软硬件协同设计发展的动机和优势
  140. 12.2.3 软硬件协同设计的基本流程
  141. 12.2.4 基于Xilinx工具的软硬件协同设计简介
  142. 12.3 高层次综合
  143. 12.3.1 高层次综合综述
  144. 12.3.2 高层次综合发展的动机与优势
  145. 12.3.3 Xilinx AutoESL工具简介
  146. 12.4 基于Xilinx Zynq的软硬件协同设计实例
  147. 12.4.1 功能简介
  148. 12.4.2 设计流程简介
  149. 12.4.3 实验结果与验证
  150. 第13章 Zynq开发实战
  151. 13.1 用户IP设计
  152. 13.1.1 用户IPcore介绍
  153. 13.1.2 用户IPcore设计
  154. 13.2 嵌入式Linux设备驱动开发
  155. 13.2.1 设备驱动开发介绍
  156. 13.2.2 驱动程序的加载与卸载
  157. 13.2.3 sys文件系统简介
  158. 13.2.4 PWM模块驱动程序
  159. 13.2.5 PWM驱动程序编译与测试
  160. 13.3 构建嵌入式Linux系统
  161. 13.3.1 搭建系统环境
  162. 13.3.2 编译u-boot
  163. 13.3.3 编译内核与设备树
  164. 13.3.4 制作根文件系统
  165. 13.3.5 启动嵌入式Linux
  166. 13.4 HDMI设计
  167. 13.4.1 HDMI传输原理
  168. 13.4.2 ADV7511芯片的相关控制信号
  169. 13.4.3 设计过程
  170. 13.5 OpenCV移植
  171. 13.5.1 开发环境准备
  172. 13.5.2 配置cmake
  173. 13.5.3 OpenCV编译与安装
  174. 13.5.4 OpenCV移植与ZedBoard测试
  175. 13.6 基于OpenCV的树叶识别系统
  176. 13.6.1 项目总览
  177. 13.6.2 图像采集
  178. 13.6.3 预处理
  179. 13.6.4 特征提取
  180. 13.6.5 分类决策
  181. 13.6.6 总结
  182. 13.7 基于OpenCV的人脸识别系统
  183. 13.7.1 系统综述
  184. 13.7.2 基于Haar特征和Adaboost算法的人脸检测
  185. 13.7.3 系统设计与实现
  186. 13.7.4 总结
  187. 13.8 嵌入式Web服务器的移植与搭建
  188. 13.8.1 嵌入式Web服务器介绍
  189. 13.8.2 Boa服务器移植与配置
  190. 13.8.3 Boa服务器部署与测试
  191. 13.9 嵌入式网络摄像机的移植与搭建
  192. 13.9.1 嵌入式网络摄像机
  193. 13.9.2 mjpg-streamer的移植与架设
  194. 13.10 FreeRTOS实时操作系统的应用
  195. 13.10.1 FreeRTOS介绍
  196. 13.10.2 FreeRTOS与ucOS-Ⅱ的比较
  197. 13.10.3 FreeRTOS在Zynq上的应用实例与分析
  198. 13.10.4 基于FreeRTOS的Lwip
  199. 13.11 XADC的使用
  200. 13.11.1 建立硬件工程
  201. 13.11.2 软件工程设计
  202. 13.11.3 程序分析
  203. 13.12 基于Zynq的部分可重配置
  204. 13.12.1 可重配置系统介绍
  205. 13.12.2 可重配置的开发流程
  206. 13.12.3 小结
  207. 13.13 在Zynq上搭建Android简介
  208. 第14章 系统级设计案例
  209. 14.1 电机控制系统
  210. 14.1.1 双闭环控制器理论
  211. 14.1.2 双闭环系统
  212. 14.1.3 双闭环控制IP核说明
  213. 14.1.4 硬件实现过程
  214. 14.1.5 软件实现过程
  215. 14.1.6 硬件平台测试
  216. 14.2 智能家庭健康平台
  217. 14.2.1 智能家庭健康平台简介
  218. 14.2.2 EKG AFE模块硬件设计
  219. 14.2.3 Night EKG Controller IP设计
  220. 14.2.4 建立可运行Linux的完整系统
  221. 14.2.5 Night EKG Controller的Linux驱动设计
  222. 14.2.6 基于Qt的图形用户界面设计
  223. 14.2.7 在ZedBoard上运行Qt程序
  224. 14.2.8 实现软件开机自动运行
  225. 14.3 高性能视频处理系统设计
  226. 14.3.1 系统架构
  227. 14.3.2 硬件架构设计
  228. 14.3.3 软件架构设计
  229. 14.3.4 利用Vivado HLS实现Sobel滤波硬件
  230. 14.3.5 使系统在ZedBoard上运行
  231. 14.4 智能小车系统开发
  232. 14.4.1 智能小车系统结构
  233. 14.4.2 运动控制设计
  234. 14.4.3 Linux系统应用程序设计
  235. 14.4.4 智能小车平台的后续拓展
  236. 第15章 如何获取资料和帮助
  237. 15.1 如何获取Xilinx的技术文档
  238. 15.1.1 DocNav介绍
  239. 15.1.2 DocNav使用案例
  240. 15.2 如何找到Zynq开发资料
  241. 15.2.1 如何获取本书的最新例程
  242. 15.2.2 如何获取Zynq开发资料
  243. 15.2.3 如何获取ZedBoard文档与例程
  244. 15.3 Xilinx网站资源导读
  245. 15.3.1 序
  246. 15.3.2 Xilinx软件介绍
  247. 15.3.3 软件版本和软件更新
  248. 15.3.4 软件教程
  249. 15.3.5 硬件资料
  250. 15.3.6 参考资源
  251. 15.3.7 问题解决
  252. 附录A Xilinx开发套件版本14.1到14.3的主要升级变化
  253. 参考资料
  254. 光盘内容