新書推薦:
《
十一年夏至
》
售價:NT$
347.0
《
如何打造成功的商业赛事
》
售價:NT$
407.0
《
万千教育学前·透视学前儿童的发展:解析幼儿教师常问的那些问题
》
售價:NT$
265.0
《
慈悲与玫瑰
》
售價:NT$
398.0
《
启蒙的辩证:哲学的片简(法兰克福学派哲学经典,批判理论重要文本)
》
售價:NT$
347.0
《
心跳重置
》
售價:NT$
269.0
《
云中记
》
售價:NT$
347.0
《
中国古代妇女生活(中国古代生活丛书)
》
售價:NT$
214.0
|
內容簡介: |
本书是对《Xilinx Zynq-7000嵌入式系统设计与实现:基于Arm Cortex-A9双核处理器和Vivado的设计方法(第二版)》一书的一次重要修订,全书共包含30章,主要内容包括Xilinx Zynq系列SoC设计导论、AMBA规范、Zynq-7000系统公共资源和特性、Zynq-7000调试和测试子系统、Cortex-A9处理器指令集、Cortex-A9片上存储器系统结构和功能、Zynq-7000 SoC的Vivado基本设计流程、Zynq-7000 GPIO原理和控制、Cortex-A0异常与中断原理和实现、Cortex-A9定时器原理及实现、Cortex-A9 DMA控制器原理和实现、Cortex-A9安全性扩展、Cortex-A9 NEON原理和实现、Zynq-7000的可编程逻辑资源、Zynq-7000的互联结构、Zynq-7000 SoC内定制简单AXI-Lite IP、Zynq-7000 SoC内定制复杂AXI Lite IP、Zynq-7000 AXI HP数据传输原理和实现、Zynq-7000 ACP数据传输原理和实现、Zynq-7000软件与硬件协同调试原理和实现、Zynq-7000 SoC启动与配置原理和实现、Linux开发环境的构建、Zynq-7000 SoC内Ubuntu硬件运行环境的构建、Zynq-7000 SoC内Ubuntu软件运行环境的构建、Linux环境下简单字符设备驱动程序的开发、Linux环境下包含中断机制驱动程序的开发、Linux环境下图像处理系统的构建、Zynq-7000 SoC上构建和实现Python应用、手写体识别模型训练与推理一体化设计和实现,以及基于KR260平台的人体姿态识别的实现。
|
關於作者: |
何宾,知名的嵌入式和EDA技术专家,长期从事电子设计自动化方面的教学和科研工作,与全球多家知名的半导体厂商和EDA工具厂商密切合作。已经出版电子信息方面的著作共40余部,内容涵盖电路仿真、电路设计、FPGA、数字信号处理、单片机、嵌入式系统等。典型的代表作有《模拟电子系统设计指南(基础篇):从半导体、分立元件到TI集成电路的分析与实现》、《模拟电子系统设计指南(实践篇):从半导体、分立元件到TI集成电路的分析与实现》、《Xilinx Zynq-7000嵌入式系统设计与实现-基于ARM Cortex-A9双核处理器和Vivado的设计方法》、《Altium Designer17一体化设计标准教程-从仿真原理和PCB设计到单片机系统》、《STC8系列单片机开发指南:面向处理器、程序设计和操作系统的分析与应用》等。
|
目錄:
|
目录 第1章 Xilinx Zynq系列SoC设计导论1 1.1 全可编程SoC基础知识1 1.1.1 全可编程SoC的演进1 1.1.2 SoC与MCU和CPU的比较3 1.1.3 全可编程SoC诞生的背景4 1.1.4 全可编程SoC的技术特点4 1.1.5 全可编程SoC中的处理器类型5 1.2 Arm架构及分类6 1.2.1 M-Profile7 1.2.2 R-Profile8 1.2.3 A-Profile9 1.3 Zynq-7000 SoC的功能和结构11 1.3.1 Zynq-7000 SoC产品的分类及资源11 1.3.2 Zynq-7000 SoC的功能12 1.3.3 Zynq-7000 SoC内的PS的构成13 1.3.4 Zynq-7000 SoC内的PL的构成18 1.3.5 Zynq-7000 SoC内的互联结构19 1.3.6 Zynq-7000 SoC的供电引脚20 1.3.7 Zynq-7000 SoC内MIO到EMIO的连接22 1.3.8 Zynq-7000 SoC内为PL分配的信号26 1.4 Zynq UltraScale+MPSoC的功能和结构28 1.4.1 Zynq UltraScale+MPSoC产品的分类及资源28 1.4.2 Zynq UltraScale+MPSoC的结构31 1.4.3 Zynq UltraScale+MPSoC的供电区域35 1.4.4 Zynq UltraScale+MPSoC PS-PL AXI接口36 第2章 AMBA规范38 2.1 AMBA规范的发展38 2.1.1 AMBA 139 2.1.2 AMBA 239 2.1.3 AMBA 339 2.1.4 AMBA 440 2.1.5 AMBA 541 2.2 AMBA APB规范43 2.2.1 AMBA APB写传输43 2.2.2 AMBA APB读传输45 2.2.3 AMBA APB错误响应45 2.2.4 操作状态46 2.2.5 AMBA 3 APB信号47 2.3 AMBA AHB规范48 2.3.1 AMBA AHB的结构48 2.3.2 AMBA AHB操作49 2.3.3 AMBA AHB的传输类型51 2.3.4 AMBA AHB的猝发操作52 2.3.5 AMBA AHB的传输控制信号55 2.3.6 AMBA AHB地址译码56 2.3.7 AMBA AHB从设备传输响应57 2.3.8 AMBA AHB数据总线59 2.3.9 AMBA AHB传输仲裁61 2.3.10 AMBA AHB分割传输65 2.3.11 AMBA AHB复位68 2.3.12 关于AHB数据总线的位宽68 2.3.13 AMBA AHB接口设备69 2.4 AMBA AXI4规范71 2.4.1 AMBA AXI4概述71 2.4.2 AMBA AXI4的功能71 2.4.3 AMBA AXI4的互联结构79 2.4.4 AXI4-Lite的功能80 2.4.5 AXI4-Stream的功能81 第3章 Zynq-7000系统的公共资源和特性84 3.1 时钟子系统84 3.1.1 时钟子系统的架构84 3.1.2 CPU时钟域86 3.1.3 时钟编程实例87 3.1.4 时钟子系统内的生成电路结构88 3.2 复位子系统92 3.2.1 复位子系统的结构92 3.2.2 复位流程93 3.2.3 复位结果94 第4章 Zynq-7000 SoC调试和测试子系统96 4.1 JTAG和DAP子系统96 4.1.1 JTAG和DAP子系统的功能98 4.1.2 JTAG和DAP子系统I/O信号100 4.1.3 编程模型100 4.1.4 Arm DAP控制器101 4.1.5 TPIU102 4.1.6 Xilinx TAP控制器103 4.2 CoreSight系统的结构及功能103 4.2.1 CoreSight系统的结构103 4.2.2 CoreSight系统的功能104 第5章 Cortex-A9处理器及其指令集108 5.1 应用处理单元概述108 5.1.1 基本功能108 5.1.2 系统级视图109 5.2 Cortex-A9处理器的结构111 5.2.1 处理器模式112 5.2.2 寄存器113 5.2.3 流水线118 5.2.4 分支预测119 5.2.5 指令和数据对齐119 5.2.6 跟踪和调试121 5.3 Cortex-A9处理器的指令集122 5.3.1 指令集基础122 5.3.2 数据处理操作125 5.3.3 存储器指令129 5.3.4 分支131 5.3.5 饱和算术132 5.3.6 杂项指令133 第6章 Cortex-A9片上存储器系统的结构和功能137 6.1 L1高速缓存137 6.1.1 高速缓存的背景137 6.1.2 高速缓存的优势和问题138 6.1.3 存储器的层次139 6.1.4 高速缓存的结构139 6.1.5 缓存策略143 6.1.6 写和取缓冲区145 6.1.7 缓存性能和命中速度145 6.1.8 无效和清除缓存146 6.1.9 一致性点和统一性点147 6.1.10 Zynq-7000 SoC中的Cortex-A9 L1高速缓存的特性149 6.2 存储器访问顺序150 6.2.1 普通、设备和强顺序存储器模型151 6.2.2 存储器属性152 6.2.3 存储器屏障153 6.3 存储器管理单元156 6.3.1 MMU功能描述156 6.3.2 虚拟存储器157 6.3.3 转换表158 6.3.4 页表入口域的描述161 6.3.5 TLB的构成163 6.3.6 存储器访问顺序165 6.4 侦听控制单元166 6.4.1 地址过滤166 6.4.2 SCU主设备端口166 6.5 L2高速缓存167 6.5.1 互斥L2-L1高速缓存配置169 6.5.2 高速缓存替换策略170 6.5.3 高速缓存锁定170 6.5.4 使能/禁止L2高速缓存控制器171 6.5.5 RAM访问延迟控制171 6.5.6 保存缓冲区操作172 6.5.7 Cortex-A9处理器和L2高速缓存控制器之间的优化172 6.5.8 预取操作173 6.5.9 编程模型174 6.6 片上存储器175 6.6.1 片上存储器概述175 6.6.2 片上存储器的功能176 6.7 系统地址空间分配181 6.7.1 地址映射181 6.7.2 系统总线主设备182 6.7.3 I/O外设182 6.7.4 SMC存储器183 6.7.5 SLCR183 6.7.6 PS系统寄存器183 6.7.7 CPU私有寄存器183 第7章 Zynq-7000 SoC的Vivado基本设计流程185 7.1 创建新的工程185 7.2 使用IP集成器创建处理器系统187 7.3 生成顶层HDL并导出设计到SDK192 7.4 创建应用测试程序195 7.5 设计验证198 7.5.1 验证前的硬件平台准备198 7.5.2 设计验证的具体实现199 7.6 SDK调试工具的使用200 7.6.1 打开前面的设计工程200 7.6.2 导入工程到SDK200 7.6.3 建立新的存储器测试工程201 7.6.4 运行存储器测试工程201 7.6.5 调试存储器测试工程203 7.7 SDK性能分析工具205 第8章 Zynq-7000 SoC GPIO原理和控制实现209 8.1 GPIO模块的原理209 8.1.1 GPIO接口及其功能210 8.1.2 GPIO编程流程212 8.1.3 I/O接口214 8.1.4 部分寄存器说明214 8.1.5 底层读/写函数说明215 8.1.6 GPIO的API函数说明216 8.2 Vivado集成开发环境下MIO读/写控制的实现216 8.2.1 调用底层读/写函数编写GPIO应用程序217 8.2.2 调用API函数编写GPIO应用程序219 8.3 Vivado集成开发环境下EMIO读/写控制的实现222 8.3.1 调用底层读/写函数编写GPIO应用程序222 8.3.2 调用API函数编写GPIO应用程序227 第9章 Cortex-A9异常与中断原理和实现230 9.1 异常原理230 9.1.1 异常类型230 9.1.2 异常处理234 9.1.3 其他异常句柄235 9.1.4 Linux异常程序流236 9.2 中断原理237 9.2.1 外部中断请求237 9.2.2 Zynq-7000 SoC内的中断环境240 9.2.3 中断控制器的功能241 9.3 Vivado集成开发环境下中断系统的实现244 9.3.1 Cortex-A9处理器中断及异常的初始化流程245 9.3.2 Cortex-A9处理器的GPIO控制器的初始化流程245 9.3.3 导出硬件设计到SDK246 9.3.4 创建新的应用工程246 9.3.5 运行应用工程248 第10章 Cortex-A9定时器原理和控制实现250 10.1 定时器的系统结构250 10.1.1 CPU私有定时器和看门狗定时器251 10.1.2 全局定时器/计数器251 10.1.3 系统级看门狗定时器252 10.1.4 3重定时器/计数器253 10.1.5 I/O信号256 10.2 Vivado集成开发环境下定时器的控制实现257 10.2.1 打开前面的设计工程257 10.2.2 创建SDK软件工程257 10.2.3 运行软件应用工程259 第11章 Cortex-A9 DMA控制器原理和实现261 11.1 DMA控制器的结构261 11.2 DMA控制器的功能264 11.2.1 考虑AXI交易的因素265 11.2.2 DMA管理器265 11.2.3 多通道数据FIFO(MFIFO)266 11.2.4 存储器—存储器交易266 11.2.5 PL外设AXI交易266 11.2.6 PL外设请求接口267 11.2.7 PL外设长度管理268 11.2.8 DMAC的长度管理269 11.2.9 事件和中断270 11.2.10 异常终止270 11.2.11 安全性272 11.2.12 IP配置选项273 11.3 DMA控制器编程指南273 11.3.1 启动控制器274 11.3.2 执行DMA传输274 11.3.3 中断服务例程274 11.3.4 寄存器描述274 11.4 DMA引擎编程指南275 11.4.1 写微代码编程用于AXI交易的CCRx275 11.4.2 存储器到存储器的传输276 11.4.3 PL外设DMA传输长度管理279 11.4.4 使用一个事件重新启动DMA通道280 11.4.5 中断一个处理器281 11.4.6 指令集参考281 11.5 编程限制282 11.6 系统功能之控制器复位配置284 11.7 I/O接口284 11.7.1 AXI主接口285 11.7.2 外设请求接口285 11.8 Vivado集成开发环境下DMA传输的实现286 11.8.1 DMA控制器初始化流程286 11.8.2 中断控制器初始化流程287 11.8.3 中断服务句柄处理流程287 11.8.4 导出硬件设计到SDK287 11.8.5 创建新的应用工程288 11.8.6 运行软件应用工程294 第12章 Cortex-A9安全性扩展295 12.1 TrustZone硬件架构295 12.1.1 多核系统的安全性扩展297 12.1.2 非安全世界和安全世界的交互297 12.2 Zynq-7000 SoC APU内的TrustZone298 12.2.1 CPU安全过渡299 12.2.2 CP15寄存器访问控制299 12.2.3 MMU安全性300 12.2
|
|