万本电子书0元读

万本电子书0元读

顶部广告

Xilinx Zynq-7000嵌入式系统设计与实现:基于ARM Cortex-A9双核处理器和Vivado的设计方法(立体化教程)电子书

知识全面  本书内容涵盖ARM Cortex-A9双核处理器的架构、汇编指令集、片上存储器系统、GPIO、中断、定时器、DMA和外设等关键知识。以Vivado 2015.4集成发工具为设计平台,全面系统地说明了在Xilinx Zynq-7000 SoC平台上实现嵌式系统设计的方法,对裸机环境和Linux环境下的嵌式实现流程行了详细的说明。此外,在本书中还引Xilinx的HLS高层次综合工具,说明在片内硬件中使用C语言建模复杂算法的方法

售       价:¥

纸质售价:¥96.00购买纸书

505人正在读 | 24人评论 6.2

作       者:何宾

出  版  社:电子工业出版社

出版时间:2016-06-01

字       数:57.5万

所属分类: 科技 > 计算机/网络 > 软件系统

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(9条)
  • 读书简介
  • 目录
  • 累计评论(9条)
本书以Xilinx公司的XC7Z020 Zynq-7000 SoC器件和Xilinx*的Vivado 2015.4集成发环境为平台,全面系统的介绍了嵌式系统设计的完整设计流程。作者以本书为核心,构建了由公视频教学资源、设计案例代码、教学课件、QQ交流群等学习资源,以方便广大读者与作者交流互动。<br/>【推荐语】<br/>知识全面  本书内容涵盖ARM Cortex-A9双核处理器的架构、汇编指令集、片上存储器系统、GPIO、中断、定时器、DMA和外设等关键知识。以Vivado 2015.4集成发工具为设计平台,全面系统地说明了在Xilinx Zynq-7000 SoC平台上实现嵌式系统设计的方法,对裸机环境和Linux环境下的嵌式实现流程行了详细的说明。此外,在本书中还引Xilinx的HLS高层次综合工具,说明在片内硬件中使用C语言建模复杂算法的方法 内容先 在编写本书内容时,参考了ARM公司大学计划提供的Cortex-A9单核/双核处理器的*教学资料,以及Xilinx公司大学计划提供的Zynq-7000 SoC嵌式设计教学资料,力图全面反映全球新的嵌式系统设计理论和实现方法。 实例丰富 通过大量的设计实例,以Xilinx公司Vivado 2015.4集成发环境为平台,基于XC7Z020 SoC器件,详细说明Cortex-A9嵌式系统的设计和实现方法。全书实例达到近40个,可以满足嵌式系统教学和自学的需求。 软硬融合 在编写本书的过程中,特别强调软件硬件协同设计、协同仿真和协同调试的嵌式系统设计新方法。同时,也突出体现以IP核为中心的系统级软件硬件相融合的设计思想。<br/>【作者】<br/>何宾 著名的嵌式技术和EDA技术专家,长期从事电子设计自动化方面的教学和科研工作,与全球多家知名的半导体厂商和EDA工具厂商大学计划保持紧密合作。目前已经出版嵌式和EDA方面的著作近30部,内容涵盖电路仿真、电路设计、可编程逻辑器件、数字信号处理、单片机、嵌式系统、片上可编程系统等。典型的代表作有《Xilinx FPGA设计权威指南》、《Altium Designer13.0电路设计、仿真与验证权威指南》、《Xilinx FPGA数字设计-从门级到行为级的双重描述》、《Xilinx FPGA数字信号处理权威指南-从HDL、模型到C的描述》、《模拟与数字系统协同设计权威指南-Cypress集成发环境》、《STC单片机原理及应用》、《Altium Designer15.0电路仿真、设计、验证与工艺实现权威指南》、《STC单片机C语言程序设计》。<br/>
目录展开

内容简介

学习说明 Study Shows

前言

第1章 Zynq-7000 SoC设计导论

1.1 全可编程片上系统基础知识

1.1.1 全可编程片上系统的演进

1.1.2 SoC与MCU和CPU的比较

1.1.3 全可编程SoC诞生的背景

1.1.4 可编程SoC系统技术特点

1.1.5 全可编程片上系统中的处理器类型

1.2 Zynq-7000 SoC功能和结构

1.2.1 Zynq-7000 SoC产品分类及资源

1.2.2 Zynq-7000 SoC的功能

1.2.3 Zynq-7000 SoC处理系统PS的构成

1.2.4 Zynq-7000 SoC可编程逻辑PL的构成

1.2.5 Zynq-7000 SoC内的互联结构

1.2.6 Zynq-7000 SoC的供电引脚

1.2.7 Zynq-7000 SoC内MIO到EMIO的连接

1.2.8 Zynq-7000 SoC内为PL分配的信号

1.3 Zynq-7000 SoC在嵌入式系统中的优势

1.3.1 使用PL实现软件算法

1.3.2 降低功耗

1.3.3 实时减负

1.3.4 可重配置计算

1.4 Zynq-7000 SoC的Vivado设计流程

1.4.1 Vivado的IP设计和系统级设计集成

1.4.2 使用RTL或网表的设计流程

1.4.3 IP子系统设计

1.4.4 嵌入式处理器硬件设计

1.4.5 使用模型和高级综合的DSP设计

1.4.6 脱离上下文的设计流程

1.4.7 I/O引脚规划和布局

1.4.8 设计分析和验证

1.4.9 器件编程和硬件验证

1.4.10 部分可重配置

第2章 AMBA协议规范

2.1 AMBA规范概述

2.2 AMBA APB规范

2.2.1 AMBA APB写传输

2.2.2 AMBA APB读传输

2.2.3 AMBA APB错误响应

2.2.4 操作状态

2.2.5 AMBA3 APB信号

2.3 AMBA AHB规范

2.3.1 AMBA AHB结构

2.3.2 AMBA AHB操作

2.3.3 AMBA AHB传输类型

2.3.4 AMBA AHB猝发操作

2.3.5 AMBA AHB传输控制信号

2.3.6 AMBA AHB地址译码

2.3.7 AMBA AHB从设备传输响应

2.3.8 AMBA AHB数据总线

2.3.9 AMBA AHB传输仲裁

2.3.10 AMBA AHB分割传输

2.3.11 AMBA AHB复位

2.3.12 关于AHB数据总线的位宽

2.3.13 AMBA AHB接口设备

2.4 AMBA AXI4规范

2.4.1 AMBA AXI4概述

2.4.2 AMBA AXI4功能

2.4.3 AMBA AXI4互联结构

2.4.4 AXI4-Lite功能

2.4.5 AXI4-Stream功能

第3章 Zynq-7000系统公共资源及特性

3.1 时钟子系统

3.1.1 时钟系统架构

3.1.2 CPU时钟域

3.1.3 时钟编程实例

3.1.4 时钟系统内生成电路结构

3.2 复位子系统

3.2.1 复位系统结构和层次

3.2.2 复位流程

3.2.3 复位的结果

第4章 Zynq调试和测试子系统

4.1 JTAG和DAP子系统

4.1.1 JTAG和DAP系统功能

4.1.2 JTAG和DAP系统I/O信号

4.1.3 编程模型

4.1.4 ARM DAP控制器

4.1.5 跟踪端口接口单元TPIU

4.1.6 Xilinx TAP控制器

4.2 CoreSight系统结构及功能

4.2.1 CoreSight结构概述

4.2.2 CoreSight系统功能

第5章 Cortex-A9处理器及指令集

5.1 应用处理单元概述

5.1.1 基本功能

5.1.2 系统级视图

5.2 ARM处理器架构发展

5.3 Cortex-A9中央处理器结构

5.3.1 处理器模式

5.3.2 寄存器

5.3.3 流水线

5.3.4 分支预测

5.3.5 指令和数据对齐

5.3.6 跟踪和调试

5.4 Cortex-A9处理器指令集

5.4.1 指令集基础

5.4.2 数据处理操作

5.4.3 存储器指令

5.4.4 分支

5.4.5 饱和算术

5.4.6 杂项指令

第6章 Cortex-A9片上存储器系统结构和功能

6.1 L1高速缓存

6.1.1 高速缓存背景

6.1.2 高速缓存的优势和问题

6.1.3 存储器层次

6.1.4 高速缓存结构

6.1.5 缓存策略

6.1.6 写和取缓冲区

6.1.7 缓存性能和命中速度

6.1.8 无效和清除缓存

6.1.9 一致性和统一性点

6.1.10 Zynq-7000中Cortex-A9 L1高速缓存的特性

6.2 存储器顺序

6.2.1 普通、设备和强顺序存储器模型

6.2.2 存储器属性

6.2.3 存储器屏障

6.3 存储器管理单元

6.3.1 MMU功能描述

6.3.2 虚拟存储器

6.3.3 转换表

6.3.4 页表入口域的描述

6.3.5 TLB构成

6.3.6 存储器访问顺序

6.4 侦听控制单元

6.4.1 地址过滤

6.4.2 SCU主设备端口

6.5 L2高速缓存

6.5.1 互斥L2-L1高速缓存配置

6.5.2 高速缓存替换策略

6.5.3 高速缓存锁定

6.5.4 使能/禁止L2高速缓存控制器

6.5.5 RAM访问延迟控制

6.5.6 保存缓冲区操作

6.5.7 在Cortex-A9和L2控制器之间的优化

6.5.8 预取操作

6.5.9 编程模型

6.6 片上存储器

6.6.1 片上存储器概述

6.6.2 片上存储器功能

6.7 系统地址分配

6.7.1 地址映射

6.7.2 系统总线主设备

6.7.3 I/O外设

6.7.4 SMC存储器

6.7.5 SLCR寄存器

6.7.6 杂项PS寄存器

6.7.7 CPU私有总线寄存器

第7章 Zynq-7000 SoC的Vivado基本设计流程

7.1 创建新的工程

7.2 使用IP集成器创建处理器系统

7.3 生成顶层HDL并导出设计到SDK

7.4 创建应用测试程序

7.5 设计验证

7.5.1 验证前的硬件平台准备

7.5.2 设计验证的具体实现

7.6 SDK调试工具的使用

7.6.1 打开前面的设计工程

7.6.2 导入工程到SDK

7.6.3 建立新的存储器测试工程

7.6.4 运行存储器测试工程

7.6.5 调试存储器测试工程

7.7 SDK性能分析工具

第8章 ARM GPIO的原理和控制实现

8.1 GPIO模块原理

8.1.1 GPIO接口及功能

8.1.2 GPIO编程流程

8.1.3 I/O接口

8.1.4 部分寄存器说明

8.1.5 底层读/写函数说明

8.1.6 GPIO的API函数说明

8.2 Vivado环境下MIO读/写控制的实现

8.2.1 调用底层读/写函数编写GPIO应用程序

8.2.2 调用API函数编写控制GPIO应用程序

8.3 Vivado环境下EMIO读/写控制的实现

8.3.1 调用底层读/写函数编写GPIO应用程序

8.3.2 调用API函数编写控制GPIO应用程序

第9章 Cortex-A9异常与中断原理及实现

9.1 异常原理

9.1.1 异常类型

9.1.2 异常处理

9.1.3 其他异常句柄

9.1.4 Linux异常程序流

9.2 中断原理

9.2.1 外部中断请求

9.2.2 Zynq-7000 SoC内的中断环境

9.2.3 中断控制器的功能

9.3 Vivado环境下中断系统的实现

9.3.1 Cortex-A9处理器中断及异常初始化流程

9.3.2 Cortex-A9 GPIO控制器初始化流程

9.3.3 导出硬件设计到SDK

9.3.4 创建新的应用工程

9.3.5 运行应用工程

第10章 Cortex-A9定时器原理及实现

10.1 定时器系统架构

10.1.1 CPU私有定时器和看门狗定时器

10.1.2 全局定时器/计数器

10.1.3 系统看门狗定时器

10.1.4 三重定时器/计数器

10.1.5 I/O信号

10.2 Vivado环境下定时器的控制实现

10.2.1 打开前面的设计工程

10.2.2 创建SDK软件工程

10.2.3 运行软件应用工程

第11章 Cortex-A9 DMA控制器原理及实现

11.1 DMA控制器架构

11.2 DMA控制器功能

11.2.1 考虑AXI交易的因素

11.2.2 DMA管理器

11.2.3 多通道数据FIFO(MFIFO)

11.2.4 存储器—存储器交易

11.2.5 PL外设AXI交易

11.2.6 PL外设请求接口

11.2.7 PL外设长度管理

11.2.8 DMAC长度管理

11.2.9 事件和中断

11.2.10 异常终止

11.2.11 安全性

11.2.12 IP配置选项

11.3 DMA控制器编程指南

11.3.1 启动控制器

11.3.2 执行DMA传输

11.3.3 中断服务例程

11.3.4 寄存器描述

11.4 DMA引擎编程指南

11.4.1 写微码编程用于AXI交易的CCRx

11.4.2 存储器到存储器传输

11.4.3 PL外设DMA传输长度管理

11.4.4 使用一个事件重新启动DMA通道

11.4.5 中断一个处理器

11.4.6 指令集参考

11.5 编程限制

11.6 系统功能之控制器复位配置

11.7 I/O接口

11.7.1 AXI主接口

11.7.2 外设请求接口

11.8 Vivado环境下DMA传输的实现

11.8.1 DMA控制器初始化流程

11.8.2 中断控制器初始化流程

11.8.3 中断服务句柄处理流程

11.8.4 导出硬件设计到SDK

11.8.5 创建新的应用工程

11.8.6 运行软件应用工程

第12章 Cortex-A9安全性扩展

12.1 TrustZone硬件架构

12.1.1 多核系统的安全性扩展

12.1.2 普通世界和安全世界的交互

12.2 Zynq-7000 APU内的TrustZone

12.2.1 CPU安全过渡

12.2.2 CP15寄存器访问控制

12.2.3 MMU安全性

12.2.4 L1缓存安全性

12.2.5 安全异常控制

12.2.6 CPU调试TrustZone访问控制

12.2.7 SCU寄存器访问控制

12.2.8 L2缓存中的TrustZone支持

第13章 Cortex-A9 NEON原理及实现

13.1 SIMD

13.2 NEON架构

13.2.1 与VFP的共性

13.2.2 数据类型

13.2.3 NEON寄存器

13.2.4 NEON指令集

13.3 NEON C编译器和汇编器

13.3.1 向量化

13.3.2 检测NEON

13.4 NEON优化库

13.5 SDK工具提供的优化选项

13.6 使用NEON内联函数

13.6.1 NEON数据类型

13.6.2 NEON内联函数

13.7 优化NEON汇编器代码

13.8 提高存储器访问效率

13.9 自动向量化实现

13.9.1 导出硬件设计到SDK

13.9.2 创建新的应用工程

13.9.3 运行软件应用工程

13.10 NEON汇编代码实现

13.10.1 导出硬件设计到SDK

13.10.2 创建新的应用工程

13.10.3 运行软件应用工程

第14章 Cortex-A9外设模块结构及功能

14.1 DDR存储器控制器

14.1.1 DDR存储器控制器接口及功能

14.1.2 AXI存储器端口接口

14.1.3 DDR核和交易调度器

14.1.4 DDRC仲裁

14.1.5 DDR控制器PHY

14.1.6 DDR初始化和标定

14.1.7 纠错码

14.2 静态存储器控制器

14.2.1 静态存储器控制器接口及功能

14.2.2 静态存储器控制器和存储器的信号连接

14.3 四-SPI Flash控制器

14.3.1 四-SPI Flash控制器功能

14.3.2 四-SPI Flash控制器反馈时钟

14.3.3 四-SPI Flash控制器接口

14.4 SD/SDIO外设控制器

14.4.1 SD/SDIO控制器功能

14.4.2 SD/SDIO控制器传输协议

14.4.3 SD/SDIO控制器接口信号连接

14.5 USB主机、设备和OTG控制器

14.5.1 USB控制器接口及功能

14.5.2 USB主机操作模式

14.5.3 USB设备操作模式

14.5.4 USB OTG操作模式

14.6 吉比特以太网控制器

14.6.1 吉比特以太网控制器接口及功能

14.6.2 吉比特以太网控制器接口编程向导

14.6.3 吉比特以太网控制器接口信号连接

14.7 SPI控制器

14.7.1 SPI控制器的接口及功能

14.7.2 SPI控制器时钟设置规则

14.8 CAN控制器

14.8.1 CAN控制器接口及功能

14.8.2 CAN控制器操作模式

14.8.3 CAN控制器消息保存

14.8.4 CAN控制器接收过滤器

14.8.5 CAN控制器编程模型

14.9 UART控制器

14.9.1 UART控制器接口及功能

14.10 I2C控制器

14.10.1 I2C速度控制逻辑

14.10.2 I2C控制器的功能和工作模式

14.11 ADC转换器接口

14.11.1 ADC转换器接口及功能

14.11.2 ADC命令格式

14.11.3 供电传感器报警

14.12 PCI-E接口

第15章 Zynq-7000内的可编程逻辑资源

15.1 可编程逻辑资源概述

15.2 可编程逻辑资源功能

15.2.1 CLB、Slice和LUT

15.2.2 时钟管理

15.2.3 块RAM

15.2.4 数字信号处理-DSP Slice

15.2.5 输入/输出

15.2.6 低功耗串行收发器

15.2.7 PCI-E模块

15.2.8 XADC(模拟-数字转换器)

15.2.9 配置

第16章 Zynq-7000内的互联结构

16.1 系统互联架构

16.1.1 互联模块及功能

16.1.2 数据路径

16.1.3 时钟域

16.1.4 连接性

16.1.5 AXI ID

16.1.6 寄存器概述

16.2 服务质量

16.2.1 基本仲裁

16.2.2 高级QoS

16.2.3 DDR端口仲裁

16.3 AXI_HP接口

16.3.1 AXI_HP接口结构及特点

16.3.2 接口数据宽度

16.3.3 交易类型

16.3.4 命令交替和重新排序

16.3.5 性能优化总结

16.4 AXI_ACP接口

16.5 AXI_GP接口

16.6 AXI信号总结

16.7 PL接口选择

16.7.1 使用通用主设备端口的Cortex-A9

16.7.2 通过通用主设备的PS DMA控制器(DMAC)

16.7.3 通过高性能接口的PL DMA

16.7.4 通过AXI ACP的PL DMA

16.7.5 通过通用AXI从(GP)的PL DMA

第17章 Zynq-7000 SoC内定制简单AXI-Lite IP

17.1 设计原理

17.2 定制AXI-Lite IP

17.2.1 创建定制IP模板

17.2.2 修改定制IP设计模板

17.2.3 使用IP封装器封装外设

17.3 打开并添加IP到设计中

17.3.1 打开工程和修改设置

17.3.2 添加定制IP到设计

17.3.3 添加xdc约束文件

17.4 导出硬件到SDK

17.5 建立和验证软件应用工程

17.5.1 建立应用工程

17.5.2 下载硬件比特流文件到FPGA

17.5.3 运行应用工程

第18章 Zynq-7000 SoC内定制复杂AXI LITE IP

18.1 设计原理

18.1.1 VGA IP核的设计原理

18.1.2 移位寄存器IP核的设计原理

18.2 定制VGA IP核

18.2.1 创建定制VGA IP模板

18.2.2 修改定制VGA IP模板

18.2.3 使用IP封装器封装VGA IP

18.3 定制移位寄存器IP核

18.3.1 创建SHIFTER IP模板

18.3.2 修改定制SHIFTER IP模板

18.3.3 使用IP封装器封装SHIFTER IP

18.4 打开并添加IP到设计中

18.4.1 打开工程和修改设置

18.4.2 添加定制IP到设计

18.4.3 添加xdc约束文件

18.5 导出硬件到SDK

18.6 建立和验证软件工程

18.6.1 建立应用工程

18.6.2 下载硬件比特流文件到FPGA

18.6.3 运行应用工程

第19章 Zynq-7000 AXI HP数据传输原理及实现

19.1 设计原理

19.2 构建硬件系统

19.2.1 打开工程和修改设置

19.2.2 添加并连接AXI DMA IP核

19.2.3 添加并连接FIFO IP核

19.2.4 连接DMA中断到PS

19.2.5 验证和建立设计

19.3 建立和验证软件工程

19.3.1 导出硬件到SDK

19.3.2 创建软件应用工程

19.3.3 下载硬件比特流文件到FPGA

19.3.4 运行应用工程

第20章 Zynq-7000 ACP数据传输原理及实现

20.1 设计原理

20.2 打开前面的设计工程

20.3 配置PS端口

20.4 添加并连接IP到设计

20.4.1 添加IP到设计

20.4.2 系统连接

20.4.3 分配地址空间

20.5 使用SDK设计和实现应用工程

20.5.1 创建新的软件应用工程

20.5.2 导入应用程序

20.5.3 下载硬件比特流文件到FPGA

20.5.4 运行应用工程

第21章 Zynq-7000软件和硬件协同调试原理及实现

21.1 设计目标

21.2 ILA核原理

21.2.1 ILA触发器输入逻辑

21.2.2 多触发器端口的使用

21.2.3 使用触发器和存储限制条件

21.2.4 ILA触发器输出逻辑

21.2.5 ILA数据捕获逻辑

21.2.6 ILA控制与状态逻辑

21.3 VIO核原理

21.4 构建协同调试硬件系统

21.4.1 打开前面的设计工程

21.4.2 添加定制IP

21.4.3 添加ILA和VIO核

21.4.4 标记和分配调试网络

21.5 生成软件工程

21.6 S/H协同调试

第22章 Zynq-7000 SoC启动和配置原理及实现

22.1 Zynq-7000 SoC启动过程

22.2 Zynq-7000 SoC启动要求

22.2.1 供电要求

22.2.2 时钟要求

22.2.3 复位要求

22.2.4 模式引脚

22.3 Zynq-7000 SoC内的BootROM

22.3.1 BootROM特性

22.3.2 BootROM头部

22.3.3 启动设备

22.3.4 BootROM多启动和启动分区查找

22.3.5 调试状态

22.3.6 BootROM后状态

22.4 Zynq-7000 SoC器件配置接口

22.4.1 描述功能

22.4.2 器件配置流程

22.4.3 配置PL

22.4.4 寄存器概述

22.5 生成SD卡镜像文件并启动

22.5.1 SD卡与XC7Z020接口设计

22.5.2 打开前面的设计工程

22.5.3 创建第一级启动引导

22.5.4 创建SD卡启动镜像

22.5.5 从SD卡启动引导系统

22.6 生成QSPI Flash镜像并启动

22.6.1 QSPI Flash接口

22.6.2 创建QSPI Flash镜像

22.6.3 从QSPI Flash启动引导系统

22.7 Cortex-A9双核系统的配置和运行

22.7.1 构建双核硬件系统工程

22.7.2 添加并互联IP核

22.7.3 导出硬件设计到SDK中

22.7.4 设置板级包支持路径

22.7.5 建立FSBL应用工程

22.7.6 建立CPU0应用工程

22.7.7 建立CPU1板级支持包

22.7.8 建立CPU1应用工程

22.7.9 创建SD卡镜像文件

22.7.10 双核系统运行和测试

22.7.11 双核系统的调试

第23章 Zynq-7000 SoC内XADC原理及实现

23.1 ADC转换器接口结构

23.2 ADC转换器功能

23.2.1 ADC命令格式

23.2.2 供电传感器报警

23.3 XADC IP核结构及信号

23.4 开发平台上XADC接口

23.5 在Zynq-7000 SoC内构建数模混合系统

23.5.1 打开前面的设计工程

23.5.2 配置PS端口

23.5.3 添加并连接XADC IP到设计

23.5.4 查看地址空间

23.5.5 添加设计约束文件

23.5.6 设计处理

23.6 使用SDK设计和实现应用工程

23.6.1 生成新的应用工程

23.6.2 导入应用程序

23.6.3 下载硬件比特流文件到FPGA

23.6.4 运行应用工程

第24章 Linux开发环境的构建

24.1 构建虚拟机环境

24.2 安装和启动Ubuntu14.04客户机操作系统

24.2.1 新添加两个磁盘

24.2.2 设置CD/DVD(SATA)

24.2.3 安装Ubuntu14.04

24.2.4 更改Ubuntu14.04操作系统启动设备

24.2.5 启动Ubuntu14.04操作系统

24.2.6 添加搜索链接资源

24.3 安装FTP工具

24.3.1 Windows操作系统下LeapFTP安装

24.3.2 Ubuntu操作系统环境下FTP安装

24.4 安装和启动SSH和git组件

24.4.1 安装和启动SSH组件

24.4.2 安装和git组件

24.5 安装交叉编译器环境

24.5.1 安装32位支持工具包

24.5.2 安装和设置SDK 2015.4工具

24.6 安装和配置Qt集成开发工具

24.6.1 Qt集成开发工具功能

24.6.2 构建PC平台Qt环境

24.6.3 构建ARM平台Qt环境

第25章 构建Zynq-7000 SoC内Ubuntu硬件运行环境

25.1 建立新的设计工程

25.2 添加IP核路径

25.3 构建硬件系统

25.3.1 添加和配置ZYNQ7 IP

25.3.2 添加和配置VDMA IP

25.3.3 添加和配置AXI Display Controller IP

25.3.4 添加和配置HDMI Transmitter IP核

25.3.5 添加和配置VGA IP核

25.3.6 连接用户自定义IP核

25.3.7 添加和配置Processor System Reset IP核

25.3.8 连接系统剩余部分

25.4 添加设计约束文件

25.5 导出硬件文件

第26章 构建Zynq-7000 SoC内Ubuntu软件运行环境

26.1 u-boot原理及实现

26.1.1 下载u-boot源码

26.1.2 u-boot版文件结构

26.1.3 u-boot工作模式

26.1.4 u-boot启动流程

26.1.5 编译u-boot

26.1.6 链接脚本文件结构

26.2 内核结构及编译

26.2.1 内核结构

26.2.2 下载Linux内核源码

26.2.3 内核版本

26.2.4 内核系统配置

26.2.5 Bootloader启动过程

26.2.6 Linux内核启动过程

26.2.7 编译内核

26.3 设备树原理及实现

26.3.1 设备树概述

26.3.2 设备树数据格式

26.3.3 设备树的编译

26.4 文件系统原理及下载

26.5 生成Ubuntu启动镜像

26.5.1 生成FSBL文件

26.5.2 生成BOOT. BIN启动文件

26.5.3 制作SD卡

26.5.4 复制BOOT. BIN文件

26.5.5 复制编译后的内核文件

26.5.6 复制编译后的设备树文件

26.5.7 复制文件系统

26.6 启动Ubuntu操作系统

第27章 Linux环境下简单字符设备驱动程序的开发

27.1 驱动程序的必要性

27.2 Linux操作系统下的设备文件类型

27.3 Linux驱动的开发流程

27.4 驱动程序的结构框架

27.4.1 加载和卸载驱动函数模块

27.4.2 字符设备中重要的数据结构和函数

27.5 编写Makefile文件

27.6 编译驱动程序

27.7 编写测试程序

27.8 运行测试程序

第28章 Linux环境下包含中断机制驱动程序的开发

28.1 设计原理

28.2 编写包含中断处理的驱动代码

28.2.1 驱动程序头文件

28.2.2 驱动的加载和卸载函数

27.2.3 file_operations初始化

28.3 编写Makefile文件

28.4 编译驱动程序

28.5 测试驱动程序

第29章 Linux环境下图像处理系统的构建

29.1 系统整体架构和功能

29.2 OV5640摄像头性能

29.2.1 摄像头捕获模块的硬件

29.2.2 SCCB接口规范

29.2.3 写摄像头模组寄存器操作

29.2.4 读摄像头模组寄存器操作

29.2.5 摄像头初始化流程

29.3 Vivado HLS实现拉普拉斯算子滤波算法的设计

29.3.1 Vivado HLS工具的性能和优势

29.3.2 拉普拉斯算法与HDL之间的映射

29.4 图像处理系统的整体构建

29.5 图像处理系统软件的设计

29.5.1 Ubuntu桌面系统的构建

29.5.2 Qt图像处理程序的开发

29.6 嵌入式图像处理系统测试

累计评论(9条) 4个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部