《Xilinx Zynq SoC与嵌入式Linux设计实战指南 兼容ARM Cortex-A9的设计方法》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:陆启帅,陆彦婷,王地著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2014
  • ISBN:9787302373445
  • 页数:328 页
图书介绍:本书以Zynq作为开发平台,结合ARM和FPGA的优点,设计出实际案例。深入分析了嵌入式Linux系统的移植、驱动设计和基于QT的 GUI设计。在四个具体案例中,将给出详细的设计方法,步骤和原理,并给出源码。

第一篇 Zynq开发基础 3

第1章 Zynq初体验 3

1.1 PL部分设计实现 3

1.1.1 创建工程 4

1.1.2 设计输入 6

1.1.3 设计综合 10

1.1.4 设计实现 12

1.1.5 下载执行 12

1.2 PS部分设计实现 13

1.2.1 建立Zynq硬件系统 13

1.2.2 在PS中设计Hello World程序 16

1.2.3 下载执行程序 18

第2章 Zynq集成开发环境 20

2.1 Zynq硬件平台 20

2.1.1 Zynq XC7Z020芯片硬件资源 20

2.1.2 ZedBoard硬件资源 21

2.2 Zynq软件平台 23

2.2.1 嵌入式硬件开发工具XPS 23

2.2.2 嵌入式软件开发工具SDK 27

第3章 Zynq启动流程及镜像制作 32

3.1 BootROM 32

3.2 Zynq器件的启动配置 37

3.3 使用BootGen 41

3.3.1 BootGen介绍 41

3.3.2 BIF文件语法 41

3.3.3 BootGen实例 43

第二篇 Zynq底层硬件设计 49

第4章 GPIO原理及设计实现 49

4.1 GPIO原理 49

4.2 Zynq XC7Z020 GPIO寄存器 50

4.2.1 DATA_RO寄存器 51

4.2.2 DATA寄存器 52

4.2.3 MASK_DATA_LSW/MSW寄存器 52

4.2.4 DIRM寄存器 53

4.2.5 OEN寄存器 54

4.2.6 GPIO slcr寄存器 55

4.3 GPIO设计实现 57

4.3.1 汇编语言实现 58

4.3.2 C语言实现 61

第5章 中断原理及实现 64

5.1 中断原理 64

5.1.1 中断类型 65

5.1.2 中断向量表 65

5.1.3 中断处理过程 66

5.2 Zynq中断体系结构 67

5.2.1 私有中断 68

5.2.2 软件中断 69

5.2.3 共享外设中断 69

5.2.4 中断寄存器 71

5.3 中断程序设计实现 71

5.3.1 中断向量表和解析程序 72

5.3.2 中断源配置 74

5.3.3 ICD寄存器初始化 78

5.3.4 ICC寄存器组初始化 82

5.3.5 ICD寄存器组配置 83

5.3.6 ARM程序状态寄存器(CPSR)配置 84

5.3.7 中断服务程序设计 85

5.4 设计验证 86

第6章 定时器原理及实现 88

6.1 Zynq定时器概述 88

6.2 私有定时器 88

6.2.1 私有定时器寄存器 89

6.2.2 私有定时器设计实现 91

6.3 私有看门狗定时器 93

6.3.1 私有看门狗定时器寄存器 93

6.3.2 私有看门狗定时器设计实现 95

6.4 全局定时器 97

6.4.1 全局定时器寄存器 97

6.4.2 全局定时器设计实现 98

第7章 通用异步收发器原理及实现 102

7.1 UART概述 102

7.2 UART寄存器 105

7.3 UART设计实现 111

7.3.1 UART引脚设置 111

7.3.2 UART初始化 114

7.3.3 UART字符接收和发送函数实现 115

7.3.4 UART主函数实现 116

7.3.5 UART具体实现步骤 117

第8章 OLED原理及实现 119

8.1 OLED概述 119

8.2 建立OLED硬件系统 120

8.3 生成自定义OLED IP模板 122

8.4 修改MY_OLED IP设计模板 124

8.5 OLED驱动程序设计实现 130

8.5.1 OLED初始化 132

8.5.2 写数据相关函数 133

8.5.3 写显存相关函数实现 136

8.6 设计验证 136

第9章 Zynq双核运行原理及实现 138

9.1 双核运行原理 138

9.2 硬件系统设计 140

9.3 软件设计 141

9.3.1 FSBL 141

9.3.2 CPUO应用程序设计 145

9.3.3 CPU1应用程序设计 148

9.4 设计验证 152

第三篇 嵌入式Linux设计 155

第10章 嵌入式Linux系统构建 155

10.1 Ubuntu 13.1 0设置 155

10.1.1 root登录 155

10.1.2 安装FTP服务器和SSH服务器 156

10.2 PuTTY和FileZilla工具使用 158

10.2.1 PuTTY工具使用 158

10.2.2 FileZilla工具使用 161

10.3 交叉编译器安装 162

10.3.1 Xilinx ARM交叉编译器下载 162

10.3.2 Xilinx ARM交叉编译器安装 162

10.4 嵌入式Qt环境构建 165

10.4.1 主机环境Qt构建 165

10.4.2 目标机Qt环境构建 169

第11章 嵌入式Linux系统实现 178

11 1 硬件平台构建 178

11.1.1 自定义GPIO IP核设计 180

11.1.2 添加my_led IP核端口 182

11.2 my_led IP核逻辑设计 186

11.2.1 设置引脚方向信息 187

11.2.2 my_led IP核端口和连接设计 188

11.2.3 my_led IP核用户逻辑设计 190

11.2.4 my_led IP核引脚约束设计 191

11.2.5 my_led IP核硬件比特流生成 195

11 3 启动文件BOOT.BIN设计 196

11.3.1 第一阶段启动代码设计 196

11.3.2 u-boot编译 201

11.3.3 生成BOOT.BIN文件 202

11.4 L-inux内核编译 204

11.4.1 内核简介 204

11.4.2 Xilinx Linux内核的获取 205

11.4.3 Xinx Linux内核编译 205

11.5 系统测试 211

11.6 添加my_led设备 212

11.6.1 my_led驱动程序设计 212

11.6.2 应用程序调用驱动程序测试 219

第12章 u-boot原理及移植 219

12.1 u-boot版本及源码结构 221

12.1.1 u-boot版本 221

12.1.2 u-boot源码结构 221

12.2 u-boot配置和编译分析 222

12.2.1 u-boot配置分析 223

12.2.2 顶层Makefile分析 227

12.3 u-boot运行过程分析 237

12.3.1 start.S文件分析 239

12.3.2 lowlevel_init.S分析 248

12.3.3 board_init_f分析 252

12.3.4 boardn_init_r分析 257

12.3.5 main_loop分析 259

12.4 u-boot移植 260

12.4.1 删除无关文件 260

12.4.2 修改因删除无关源码造成的错误 261

12.4.3 添加修改ZedBoard移植代码 262

12.4.4 u-boot测试 265

第13章 Linux内核原理及移植 267

13.1 Linux内核版本及源码结构 267

13.1.1 Linux内核版本 267

13.1.2 Linux内核源码结构 268

13.2 Linux内核系统配置 269

13.2.1 Makefile分析 269

13.2.2 Makefile中的变量 270

13.2.3 子目录Makefile 271

13.2.4 内核配置文件 272

13.3 Linux内核启动分析 274

13.3.1 内核启动入口 275

13.3.2 zlmage自解压 278

13.3.3 第一阶段启动代码分析 285

13.3.4 第二阶段启动代码分析 289

13.4 Linux内核移植 295

13.4.1 添加配置文件 295

13.4.2 添加和修改ZedBoard相关文件 296

13.4.3 添加驱动文件和头文件 297

13.4.4 Linux内核测试 297

第14章 网络视频设计及实现 299

14.1 总体设计 299

14.2 V4L2关键技术 300

14.2.1 V4L2基本原理 300

14.2.2 相关数据结构和函数 301

14.2.3 V4L2T作流程 308

14.3 TCP及Qt下的网络编程 309

14.3.1 服务器端程序设计 310

14.3.2 客户端程序设计 321

14.4 设计验证 325

14.4.1 主机设计验证 325

14.4.2 目标机设计验证 326