内容简介
本书以Xilinx Zynq-7000 SoC系列为背景,介绍嵌入式系统设计技术,内括Zynq体系结构与开发流程、GPIO原理及接口程序设计、Zynq中断与定时技术、嵌入式Linux操作系统移植与驱动开发、Zynq外设模块结构能技术及综合案例设计等。本书强调软硬件融合、软硬件协同的嵌入式系统设计,突出体现以IP核为中心系统级软硬件融合的设计思想;使用PetaLinux工具实现嵌入式Linux操作系统配置与移植,简化了嵌入式Linux操作系统移植过程;以Vivado为开台,基于PYNQ-Z2开发板,详细阐述了嵌入式系统的完整设计流程,设计了单元实验和综合案例,可以满足嵌入式系统教学和自学的需求。 本书可以作为高等院校电子信息类专业本科生教材和研究生学用书,也可供嵌入式系统设计和应用技术人员自学参考。
目录
前言第1章 Xilinx Zynq-7000 SoC概述 1.1 嵌入式系统简介 1.2 片上系统的发展 1.3 Zynq AP SoC系统 1.3.1 Zynq-7000 SoC简化模型 1.3.2 嵌入式SoC设计 1.4 Zynq-7000 SoC产品分类及资源 1.5 Zynq-7000 So能和结构 1.5.1 Zynq-7000 SoC能 1.5.2 Zynq-7000 SoC处理系统 1.5.3 Zynq-7000 SoC可编程逻辑的构成 1.5.4 Zynq-7000 SoC内部的互联结构第2章 Zynq开发方法与开发流程 2.1 Zynq-7000 SoC开发流程 2.2 基于Vivado和SDK设计的开发流程 2.2.1 加载开发板的板载文件 2.2.2 使用Vivado创建硬件工程 2.2.3 使用SDK开发软件 2.2.4 知识与实验拓展 2.3 Zynq的启动流程和启动镜像文件制作方法 2.3.1 Zynq-7000 SoC启动流程 2.3.2 启动文件的生成与下载 2.3.3 复展 2.4 Zynq开发流结第3章 GPIO原理及应用实现 3.1 GPIO原理 3.1.1 GPIO接口能 3.1.2 Zynq GPIO的相关寄存器配置 3.1.3 GPIO编程实例 3.2 GPIO实验案例 3.2.1 实验目标 3.2.2 实验内容 3.2.3 实验流程与步骤 3.3 实验要求与验收标准 3.4 实验拓展第4章 Zynq中断与定时技术 4.1 中断技术 4.1.1 中断原理 4.1.2 Zynq中断体系结构 4.1.3 中断程序设计 4.2 Zynq定时器技术 4.2.1 私有定时器和私有看门狗定时器 4.2.2 全局定时器/计数器 4.2.3 系统看门狗定时器 4.2.4 定时器/计数器 4.2.5 定时程序设计 4.3 Zynq中断与定时实验案例 4.3.1 实验目标 4.3.2 实验内容 4.3.3 实验流程与步骤 4.4 实验要求与验收标准 4.5 实验拓展第5章 用户自定义IP核设计 5.1 IP核概述 5.2 IP核设计方法 5.3 自定义IP核实验案例 5.3.1 实验目标 5.3.2 实验内容 5.3.3 实验流程与步骤 5.4 实验要求与验收标准 5.5 实验拓展第6章 Zynq调试技术及软硬件系统调试 6.1 ILA核简介 6.2 VIO核简介 6.3 构建协同调试硬件系统和软件工程 6.3.1 硬件系统构建 6.3.2 软件工程创建 6.4 软硬件协同调试第7章 外设模块结构能 7.1 SD/SDIO外设控制器 7.2 吉比特以太网控制器 7.3 UART控制器 7.4 I2C控制器 7.4.1 I2C概述 7.4.2 I2C控制器能 7.5 Zynq-7000 SoC内置XADC原理及实现 7.5.1 XADC结构 7.5.2 XADC工作模式 7.5.3 XADC IP核结构 7.5.4 XADC应用实例第8章 Linux操作系统的移植和驱动技术 8.1 概述 8.2 使用PetaLinux工具配置Linux系统 8.2.1 准备Vivado工程 8.2.2 建立PetaLinux工程 8.2.3 配置Linux内核 8.2.4 配置根文件系统 8.2.5 编译内核 8.2.6 生成BOOT文件 8.2.7 测试Linux系统 8.3 Linux系统常用命令简介 8.4 Linux Xilinx GPIO驱动技术简介 8.5 Linux系统下GPIO驱动实验案例 8.6 Linux系统设备驱动技术 8.6.1 I2C设备驱动 8.6.2 Vivado工程设计 8.6.3 使用PetaLinux工具配置Linux系统及I2C驱动 8.6.4 使用C语言程序控制I2C设备 8.6.5 运行结果与拓展第9章 数据采集系统的设计与实现 9.1 系能描述 9.2 任务分析设计 9.2.1 系统使用的相关传感器概述 9.2.2 硬件系统设计 9.2.3 软能设计 9.3 软硬件程序设计与实现 9.3.1 使用Vivado创建硬件工程 9.3.2 使用SDK软件设计系能 9.4 题目拓展第10章 实台与开发环境概述 10.1 硬台概述 10.2 集成开发环境概述参考文献