本书以Xilinx公司开发的Zynq7000系列芯片为基础,系统地介绍了基于全可编程芯片(Zynq7000)的嵌入式系统体系结构、接口技术、底层软件设计等。首先介绍了Zynq7000芯片的架构及CortexA9微处理器核的体系结构,然后结合Zynq7000芯片,介绍了嵌入式系统硬件平台设计技术、软件平台设计技术及接口技术。本书的设计示例多以Zynq7000芯片为背景,目的是使原理概念具体化,并从具体个例中归纳出具有普遍指导意义的嵌入式系统软硬件协同设计原理和方法。这些原理和方法适用于多种微处理器芯片,而且长期有效。 本书适合作为高等院校计算机、电子信息相关专业的教材,也可供从事嵌入式软硬件设计、开发的技术人员参考。
第1章绪论
1.1嵌入式系统的发展概述
1.1.1嵌入式系统硬件平台的发展
1.1.2嵌入式系统软件平台的发展
1.2嵌入式系统的应用
1.2.1嵌入式系统应用复杂度
1.2.2嵌入式系统应用领域
1.3嵌入式系统软硬件协同设计架构
1.3.1软硬件协同设计方法
1.3.2软硬件协同设计架构——Zynq芯片架构
1.3.3协同设计架构的芯片类型
1.4开发工具软件介绍
1.4.1Vivado集成开发环境
1.4.2其他的集成开发环境
本章小结
习题1
第2章Zynq芯片的体系结构
2.1Zynq芯片的架构
2.1.1Arm微处理器内核架构类型
2.1.2Xilinx的FPGA
2.1.3Zynq芯片的引脚及信号
2.1.4PS的I/O端口
2.1.5Zynq芯片运行的外部条件
2.2CortexA9微处理器核
2.2.1Armv7架构概述
2.2.2CortexA9核的内部结构
2.2.3工作模式
2.2.4寄存器组织
2.3存储组织
2.3.1Zynq芯片的地址特征
2.3.2I/O端口的访问方式
2.3.3地址分配及片内存储器
2.3.4指令及数据缓存区
2.3.5存储组织的控制部件
2.4异常中断处理机制
2.4.1异常的种类
2.4.2异常的进入和退出
2.4.3Zynq芯片的中断控制
2.5Armv7指令集
2.5.1指令码格式及条件域
2.5.2寄存器装载及存储类指令
2.5.3影响状态标志位类指令
2.5.4分支类指令
本章小结
习题2
第3章总线结构及存储器接口
3.1总线的作用及分类
3.1.1片内总线
3.1.2板级总线
3.1.3系统级总线
3.2AMBA总线规范
3.2.1APB总线规范
3.2.2AHB总线规范
3.2.3AXI总线规范
3.3Zynq芯片的总线结构
3.3.1PS部分的接口连接
3.3.2芯片内部PS和PL互联结构
3.3.3Zynq芯片的板级总线
3.4存储器芯片的接口设计方法
3.4.1存储器芯片分类
3.4.2SROM型存储器接口设计方法
3.4.3DRAM型存储器接口设计方法
3.4.4NAND Flash型存储器接口设计方法
3.4.5DDR型存储器接口设计方法
3.5Zynq芯片的外存储系统设计
3.5.1SROM型存储系统设计
3.5.24倍SPI Flash存储系统设计
3.5.3DDR存储系统设计
本章小结
习题3
第4章外设端口及外设部件
4.1GPIO端口
4.1.1I/O端口的寻址方式
4.1.2PS的GPIO端口及其寄存器
4.1.3GPIO的驱动编程
4.1.4外部中断
4.2UART通信端口
4.2.1通信的基本术语
4.2.2异步串行通信协议
4.2.3Zynq芯片的UART接口部件
4.2.4UART接口驱动编程
4.3SPI端口
4.3.1SPI基本原理
4.3.2Zynq芯片的SPI接口部件
4.3.3SPI接口驱动程序设计
4.4I2C总线端口
4.4.1I2C协议结构
4.4.2Zynq芯片的I2C接口部件
4.4.3I2C接口驱动程序设计 [2]
4.5定时器部件
4.5.1定时器部件原理
4.5.2看门狗定时器
4.5.3Timer部件
本章小结
习题4
第5章人机接口设计
5.1IP核的概述
5.1.1IP核的分类
5.1.2IP核的标准
5.2键盘接口
5.2.1按键的识别方法
5.2.2基于PS GPIO的键盘接口
5.2.3基于IP核扩展的键盘接口
5.3LED显示接口
5.3.1LED显示控制原理
5.3.2基于PS GPIO的LED接口
5.4OLED显示接口
5.4.1OLED工作原理简介
5.4.2基于PS GPIO的OLED接口
本章小结
习题5
第6章软件平台的构建
6.1启动引导程序
6.1.1Zynq芯片的启动方式
6.1.2Zynq芯片的启动流程
6.1.3BootROM功能介绍
6.1.4一个启动引导程序示例
6.2Linux内核与移植
6.2.1Linux内核概述
6.2.2Linux内核移植
6.2.3Linux内核编译
6.3根文件系统
6.3.1Linux文件管理组织
6.3.2根文件结构
6.3.3Linux支持的文件系统类型
6.3.4Linux文件管理原理
6.3.5Linux根文件系统创建
6.4应用软件的架构
6.4.1应用的复杂度
6.4.2Linux应用软件开发步骤
本章小结
习题6
第7章Linux驱动程序设计
7.1驱动程序概述
7.1.1设备驱动原理
7.1.2驱动程序的开发任务
7.1.3Linux设备管理机制
7.2字符设备驱动设计
7.2.1字符设备驱动程序架构
7.2.2字符设备驱动程序示例
7.3块设备驱动设计
7.3.1块设备驱动程序架构
7.3.2块设备驱动程序示例
7.4网络设备驱动设计
7.4.1网络设备驱动程序架构
7.4.2设备驱动层编程模式
7.4.3网络设备驱动编程示例
本章小结
习题7
第8章有线通信网络接口
8.1嵌入式系统网络概述
8.1.1网络结构
8.1.2网络分类
8.1.3网络传输技术
8.2RS485总线网络接口
8.2.1RS485总线协议
8.2.2MODBUS协议
8.3CAN总线网络接口
8.3.1CAN总线协议
8.3.2CAN总线接口设计示例
8.4以太网通信接口
8.4.1以太网接口电路
8.4.2网络协议软件实现
8.4.3工业以太网
本章小结
习题8
第9章无线通信网络接口
9.1无线通信网络概述
9.1.1无线通信原理
9.1.2无线通信网络结构
9.2无线局域网接口设计
9.2.1WiFi网络接口设计
9.2.2ZigBee网络接口设计
9.3无线广域网接口设计
9.3.14G网络接口设计
9.3.2窄带物联网
本章小结
习题9
第10章软硬件协同设计示例
10.1示例系统的总体设计
10.1.1系统软硬件功能划分
10.1.2系统硬件总体结构
10.1.3系统软件总体结构
10.1.4系统运行的总流程
10.2前端模块的详细设计
10.2.1图像采集功能的实现
10.2.2图像格式转换功能的实现
10.2.3图像存储功能的实现
10.3中端模块的详细设计
10.3.1DMA传输控制模块实现
10.3.2中值滤波模块实现
10.3.3直方图均衡化模块实现
10.4后端模块的详细设计
10.4.1VGA显示控制实现
10.4.2UART传输图像数据的实现
本章小结
习题10
附录
参考文献
猜您喜欢
评论