当前位置:主页 > 书籍配套资源 > 嵌入式配套资源
《嵌入式系统软硬件协同设计实战指南:基于Xilinx ZYNQ(第2版)》工程文件

《嵌入式系统软硬件协同设计实战指南:基于Xilinx ZYNQ(第2版)》工程文件

  • 更新:2022-04-09
  • 大小:3.3 MB
  • 类别:嵌入式
  • 作者:陆佳华、潘祖龙、彭竞宇、肖雄、孙宏滨
  • 出版:机械工业出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

本书分为基础篇和进阶篇两大部分,基础篇主要介绍Zynq SOC架构,ARM Cortex-A9 处理器, 开发工具链等,器件Boot过程,并配备了大量基础实验,包括板卡的启动,编译嵌入式Linux系统,完成ARM和FPGA的简单片内通讯等;在进阶篇中详解了处理器和FPGA间接口种类和工作方式,分析了如何完成两者间高速的数据交互,通过实例介绍了如何在FPGA中定义用户自己的IP核并完成驱动编写供处理器上运行的Linux使用等,例如如何完成HDMI接口,如何将摄像头数据传递给处理器,并通过运行的OpenCV。本书还将结合Xilinx 最新的Vivado和AutoESL开发工具介绍整体软硬件协同设计开发流程并通过案例分析。

最后安排了一章系统级案例,如带视频控制的智能小车系统、利用软硬件协同设计完成的高清视频滤波处理等,这里每一个案例都会用到基础篇和进阶篇的所介绍的技术和内容,使读者更好的理解Zynq和Zed board.

新版本中升级了关于Vivado部分的实用内容。

封面图

目录

  • 序言
  • 第2版前言
  • 第一部分基础篇
  • 第1章将你的ZED板卡用起来/2
  • 1.1GPIO LED动手玩/2
  • 1.1.1安装SD卡/2
  • 1.1.2跳线与外设连接/2
  • 1.1.3演示操作/2
  • 1.2Linaro Ubuntu动手玩/3
  • 1.2.1SD卡分区/3
  • 1.2.2文件复制/6
  • 1.2.3外设连接/6
  • 1.2.4可演示的效果/7
  • 第2章Zynq平台介绍/9
  • 2.17系列FPGA简介/9
  • 2.2Zynq-7000 AP SoC体系简介/12
  • 第3章ZedBoard开发环境/15
  • 3.1ZedBoard的板载外设/15
  • 3.1.1LED/15
  • 3.1.2按键/16
  • 3.1.3开关/16
  • 3.1.4OLED/17
  • 3.1.5USB接口/18
  • 3.1.6音频接口/20
  • 3.1.7VGA接口/21
  • 3.1.8HDMI接口/22
  • 3.1.910/100/1000兆网口/23
  • 3.2ZedBoard的扩展外设/25
  • 3.2.1PMod/25
  • 3.2.2外扩FMC插槽/27
  • 3.2.3外扩AMS插座/28
  • 第4章Zynq开发工具链/29
  • 4.1Vivado设计套件/29
  • 4.1.1Vivado IDE/29
  • 4.1.2Vivado IP Integrator/32
  • 4.1.3Vivado调试介绍/35
  • 4.2软件开发工具链/37
  • 4.2.1SDK/37
  • 4.2.2交叉编译工具链/38
  • 4.2.3GDB与GDB Server/39
  • 第5章Zynq体系结构/41
  • 5.1应用处理器单元/41
  • 5.1.1Cortex-A9处理器/41
  • 5.1.2侦听控制单元/44
  • 5.1.3L2高速缓存/45
  • 5.1.4APU接口/45
  • 5.2通用外设/47
  • 5.2.1通用I/O/47
  • 5.2.2SPI接口/50
  • 5.2.3UART接口/52
  • 5.2.4计时器/55
  • 5.2.5USB控制器/57
  • 5.2.6DDR控制器/58
  • 5.3数字逻辑设计/60
  • 5.3.1可编程逻辑“外设”/60
  • 5.3.2XADC/62
  • 5.3.3PCIe/63
  • 5.4MIO/EMIO/64
  • 第6章系统级信号/67
  • 6.1电源管理/67
  • 6.1.1PS运行模式下的动态功耗削减/68
  • 6.1.2睡眠模式/68
  • 6.2时钟信号/68
  • 6.2.1CPU时钟域/69
  • 6.2.2DDR时钟域/70
  • 6.2.3基本的时钟分支结构/70
  • 6.2.4I/O外设(IOP)时钟/71
  • 6.2.5PL时钟/73
  • 6.2.6其他时钟/73
  • 6.3复位系统/74
  • 6.4JTAG/76
  • 6.5中断处理/77
  • 第7章Zynq的启动与配置/79
  • 7.1Zynq的启动过程简介/79
  • 7.2外部启动条件/80
  • 7.2.1电源要求/80
  • 7.2.2时钟要求/80
  • 7.2.3复位要求/80
  • 7.2.4启动引脚设置/81
  • 7.3BootROM/81
  • 7.3.1BootROM的作用/81
  • 7.3.2BootROM的特点/82
  • 7.3.3执行BootROM后的状态/83
  • 7.4FSBL/83
  • 7.5SSBL/86
  • 7.6Linux启动过程/86
  • 7.7Secure Boot/87
  • 第8章面向软件工程师的逻辑设计/89
  • 8.1FPGA硬件加速原理/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.1Vivado工程创建/97
  • 9.1.2在Vivado中创建Zynq嵌入式系统/100
  • 9.1.3SDK应用程序的编写/109
  • 9.2Zynq嵌入式系统调试方法/114
  • 9.2.1Vivado硬件调试/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
  • 第二部分进阶篇
  • 第10章基于虚拟平台的Zynq开发/130
  • 10.1QEMU介绍/130
  • 10.2编译QEMU源码/130
  • 10.2.1下载QEMU源码/130
  • 10.2.2配置QEMU/131
  • 10.2.3QEMU所依赖的库文件/131
  • 10.2.4编译QEMU/131
  • 10.3启动QEMU/131
  • 10.4QEMU中的嵌入式Linux/132
  • 10.4.1QEMU启动简介/132
  • 10.4.2使用Ubuntu包管理器快速搭建用户定制系统/133
  • 10.4.3使用SSH服务进行访问/134
  • 10.4.4使用Telnet服务进行访问/135
  • 10.4.5使用FTP服务向QEMU传送文件/135
  • 10.4.6USB设备支持/135
  • 10.4.7SMP对称多核处理器的支持/135
  • 10.4.8硬件模块GPIO支持/135
  • 10.5商业版虚拟平台/136
  • 第11章PL和PS的接口技术详解/137
  • 11.1PL和PS的接口/137
  • 11.1.1AXI接口简介/138
  • 11.1.2AXI Interconnect/139
  • 11.2Zynq的内部连接/142
  • 11.2.1AXI_HP/144
  • 11.2.2AXI_GP/145
  • 11.2.3AXI_ACP/145
  • 11.3PL和存储器系统性能概述/147
  • 11.3.1接口理论带宽/147
  • 11.3.2DDR控制器的吞吐率及效率/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.3Xilinx 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.1AXI 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.1Linux设备驱动与软硬件之间的关系/190
  • 13.3.2字符型设备驱动/191
  • 13.3.3PWM模块驱动程序/192
  • 13.3.4应用程序编写/193
  • 13.4HDMI设计/194
  • 13.4.1HDMI传输原理/195
  • 13.4.2ADV7511芯片的相关控制信号/196
  • 13.4.3HDMI系统Vivado实现/198
  • 13.5OpenCV移植/200
  • 13.5.1开发环境准备/200
  • 13.5.2配置cmake/200
  • 13.5.3OpenCV编译与安装/202
  • 13.5.4OpenCV移植与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.1Boa服务器移植与配置/221
  • 13.8.2Boa服务器的部署与测试/223
  • 13.8.3CGI程序简介/224
  • 13.9在ZedBoard上搭建网络摄像机/225
  • 13.9.1嵌入式网络摄像机/225
  • 13.9.2Mjpeg-Streamer移植/226
  • 13.9.3部署Mjpeg-Streamer/226
  • 13.10FreeRTOS/228
  • 13.10.1FreeRTOS介绍/228
  • 13.10.2FreeRTOS与ucOS-II的比较/229
  • 13.10.3FreeRTOS在Zynq上的应用实例与分析/229
  • 13.11基于FreeRTOS的Xilmfs/240
  • 13.11.1嵌入式文件系统概述/241
  • 13.11.2Xilmfs文件系统介绍/245
  • 13.11.3Xilmfs文件系统使用实例/248
  • 13.11.4利用mfsgen工具创建只读型文件系统镜像/250
  • 13.12Lwip/251
  • 13.12.1基于standalone的Lwip应用/252
  • 13.12.2基于FreeRTOS的Lwip应用/255
  • 13.13在Zynq上搭建Andriod/257
  • 13.14Zynq双核通信/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.11Android APP监控程序实现/275
  • 14.1.12系统测试/276
  • 14.2Sobel滤波/278
  • 14.2.1软件架构设计/278
  • 14.2.2Linux内核与设备驱动/279
  • 14.3SDN/OpenFlow交换机/287
  • 14.3.1SDN/OpenFlow简介/287
  • 14.3.2数据通路设计/288
  • 14.3.3平台架构搭建/290
  • 14.3.4系统及驱动/291
  • 14.3.5OpenFlow交换机移植/292
  • 14.3.6启动OpenFlow交换机/292
  • 14.3.7数据通路优化及加速/294
  • 14.4智能小车系统开发/294
  • 14.4.1智能小车系统结构/295
  • 14.4.2运动控制设计/298
  • 14.4.3Linux系统应用程序设计/301
  • 14.4.4智能小车平台的后续拓展/307
  • 14.4.5在智能小车平台上移植ROS/308
  • 第15章如何获取资料和帮助/309
  • 15.1如何获取Xilinx的技术文档/309
  • 15.1.1DocNav介绍/309
  • 15.1.2DocNav使用案例/309
  • 15.2如何找到Zynq开发资料/312
  • 15.2.1如何获取本书的最新例程/312
  • 15.2.2如何获取Zynq开发资料/312
  • 15.2.3如何获取ZedBoard文档与例程/313
  • 15.3Xilinx网站资源导读/313
  • 15.3.1序/313
  • 15.3.2Xilinx软件介绍/313
  • 15.3.3软件版本和软件更新/316
  • 15.3.4软件教程/317
  • 15.3.5硬件资料/318
  • 15.3.6参考资源/319
  • 15.3.7问题解决/320
  • 参考文献/321

资源下载

资源下载地址1:https://pan.baidu.com/s/1hj4boRDXAid9GtFzUlKYVg

相关资源

网友留言