SoC FPGA 嵌入式设计和开发教程PDF电子书下载
- 电子书积分:12 积分如何计算积分?
- 作 者:梅雪松,宋士权,陈云龙编著
- 出 版 社:北京:北京航空航天大学出版社
- 出版年份:2019
- ISBN:9787512422391
- 页数:315 页
第1章 SoC FPGA软硬件系统开发概述 1
1.1 Intel SoC FPGA系列 1
1.1.1 Cyclone Ⅴ SoC FPGA 2
1.1.2 Arria Ⅴ SoC FPGA 2
1.1.3 Arria 10 SoC FPGA 2
1.1.4 Stratix 10 SoC FPGA 3
1.1.5 SoC FPGA应用领域与前景 3
1.2 Intel Cyclone Ⅴ SoC FPGA介绍 4
1.2.1 什么是SoC FPGA 4
1.2.2 SOPC 4
1.2.3 SoC FPGA与SOPC之间的差异 5
1.2.4 SoC FPGA架构的优势 6
1.3 Cyclone Ⅴ SoC FPGA器件硬件设计概述 9
1.3.1 FPGA I/O和时钟 10
1.3.2 SoC FPGA JTAG电路设计 12
1.4 AC501-SoC开发板介绍 13
1.4.1 布局及组件 13
1.4.2 轻触按键 14
1.4.3 用户LED 15
1.4.4 时钟输入 16
1.4.5 GPIO接口 17
1.4.6 DDR3 SDRAM 18
1.4.7 通用显示扩展接口 19
1.4.8 USB转UART 21
1.4.9 以太网收发器 21
1.5 本章小结 23
第2章 SoC FPGA开发板的使用 24
2.1 安装SoC FPGA开发工具 24
2.2 SoC FPGA的配置数据烧写与固化 24
2.2.1 SoC FPGA启动配置方式介绍 24
2.2.2 sof文件的烧写方式 26
2.2.3 jic文件的生成和烧写 28
2.3 在SoC FPGA上运行Linux操作系统 32
2.3.1 SoC FPGA中的H PS启动流程介绍 32
2.3.2 HPS启动方式介绍 33
2.3.3 制作启动镜像SD卡 34
2.3.4 准备硬件板卡 35
2.3.5 开机测试 39
2.4 开发板Linux系统常用操作 40
2.4.1 查看目录 40
2.4.2 设置和修改用户密码 40
2.4.3 查看和编辑文件 41
2.4.4 设置IP地址 43
2.4.5 挂载SD卡的FAT32分区 45
2.4.6 挂载U盘 46
2.4.7 文件操作 47
2.4.8 目录操作 48
2.4.9 停止某个进程 49
2.4.10 重启和关机 50
2.5 本章小结 50
第3章 SoC FPGA开发概述 51
3.1 SoC FPGA开发流程 51
3.1.1 硬件开发 51
3.1.2 软件开发 53
3.2 AC501-SoC FPGA开发板的黄金参考设计说明 53
3.2.1 GHRD 53
3.2.2 打开和查看GHRD 54
3.2.3 组件参数配置详解 57
3.3 本章小结 62
第4章 手把手修改GHRD系统 63
4.1 修改GHRD工程 63
4.1.1 打开GHRD工程 63
4.1.2 添加UART IP 64
4.1.3 关于HPS与FPGA数据交互 64
4.1.4 连接UART IP信号端口 65
4.1.5 分配组件基地址 67
4.1.6 生成Qsys系统的HDL文件 68
4.1.7 添加uart_1的端口到Quartus工程中 69
4.1.8 分配FPGA引脚 71
4.1.9 生成配置数据二进制文件 72
4.2 制作Preloader Image 72
4.2.1 打开SoC EDS工具 73
4.2.2 生成bsp文件 74
4.2.3 编译Preloader和U-Boot 77
4.2.4 更新Preloader和U-Boot 79
4.2.5 Win 10系统下更新失败问题 80
4.2.6 使用新的U-Boot启动SoC 81
4.3 制作设备树 82
4.3.1 设备树制作流程 82
4.3.2 准备所需文件 82
4.3.3 生成.dts文件 83
4.3.4 生成.dtb文件 84
4.4 运行修改后的工程 85
4.5 本章小结 87
第5章 使用DS-5编写和调试SoC的Linux应用程序 88
5.1 启动DS-5 88
5.2 创建C工程 91
5.3 编译工程 94
5.4 建立SSH远程连接 95
5.4.1 创建远程连接 95
5.4.2 复制文件到目标板 101
5.4.3 运行应用程序 102
5.5 远程调试 103
5.5.1 GDB设置 103
5.5.2 GDB连接和调试 106
5.6 使用WinSCP实现多系统传输文件 108
5.6.1 为什么要使用WinSCP 108
5.6.2 安装WinSCP 109
5.6.3 建立远程主机连接 109
5.6.4 新建远程连接 112
5.6.5 调用PuTTY终端 112
5.7 本章小结 113
第6章 基于虚拟地址映射的Linux硬件编程 114
6.1 什么是虚拟地址映射 114
6.2 虚拟地址映射的实现 115
6.3 基于虚拟地址映射的PIO编程应用 117
6.3.1 PIO外设的虚拟地址映射 117
6.3.2 在DS-5中建立PIO应用工程 118
6.3.3 添加和包含HPS库文件 119
6.3.4 添加FPGA侧外设硬件信息 121
6.3.5 PIO IP核介绍 124
6.3.6 PIO核寄存器映射 125
6.3.7 PIO IP核应用实例 128
6.3.8 合理的程序退出机制 131
6.3.9 关于按键消抖 133
6.4 基于虚拟地址映射的UART编程应用 134
6.4.1 UART核介绍 134
6.4.2 UART寄存器映射 134
6.4.3 UART IP核应用实例 136
6.4.4 UART IP核板级调试 144
6.4.5 小结 145
6.5 基于虚拟地址映射的I2 C编程应用 145
6.5.1 OpenCores I2 C IP简介 146
6.5.2 OpenCores I2 C IP寄存器映射 146
6.5.3 I2 C IP核应用实例 149
6.5.4 小结 161
6.6 本章小结 161
第7章 基于Linux应用程序的HPS配置FPGA 162
7.1 制作Quartus工程 163
7.2 生成rbf格式配置数据 163
7.3 编译Linux配置FPGA应用程序 165
7.4 在系统重配置FPGA实验 166
7.5 本章小结 168
第8章 编译嵌入式Linux系统内核 169
8.1 安装VMware 170
8.2 安装Ubuntu系统 171
8.2.1 使用现成的Ubuntu系统镜像 171
8.2.2 安装全新的Ubuntu系统 175
8.3 下载Linux系统源码 182
8.4 设置交叉编译环境 185
8.5 配置和编译内核 189
8.5.1 快速配置内核 189
8.5.2 保存内核配置文件 195
8.5.3 编译内核 195
8.5.4 使用内核启动开发板 197
8.6 本章小结 199
第9章 Linux设备树的原理与应用实例 200
9.1 什么是设备树 200
9.2 设备树的基本格式 201
9.3 设备树加载设备驱动原理 206
9.4 编写I2 C控制器设备节点 208
9.5 加载OC_I2 C驱动 211
9.6 使用RTC 212
9.7 使用EEPROM 216
9.8 编写SPI控制器设备节点 217
9.9 本章小结 219
第10章 基于Linux标准文件I/O的设备读/写 220
10.1 什么是文件I/O 220
10.2 基于文件I/O操作的一般方法 220
10.2.1 文件描述符 220
10.2.2 打开设备(open) 221
10.2.3 向设备写入数据(write) 221
10.2.4 读取设备数据(read) 222
10.2.5 杂项操作(ioctl) 222
10.2.6 关闭设备(close) 223
10.2.7 其他操作 223
10.3 使用文件I/O实现I2 C编程 223
10.4 本章小结 226
第11章 FPGA与HPS高速数据交互应用 227
11.1 FPGA与HPS通信介绍 227
11.1.1 H2F_LW_AXI_Master桥 229
11.1.2 H2F_AXI_Master桥 229
11.1.3 F2H_AXI_Slave桥 230
11.2 AXI与Avalon-MM总线的互联 230
11.3 Avalon-MM总线 230
11.4 Avalon-MM Slave接口 232
11.5 基本Avalon-MM Slave IP设计框架 234
11.5.1 端口定义 234
11.5.2 寄存器和线网定义 235
11.5.3 Avalon总线对寄存器的读/写 235
11.5.4 用户逻辑使用寄存器 236
11.6 PWM控制器设计 237
11.6.1 PWM IP核端口设计 238
11.6.2 PWM IP核寄存器定义 239
11.6.3 读/写PWM寄存器 239
11.6.4 Platform Designer中封装PWM IP 241
11.7 Avalon-MM Master接口 255
11.7.1 常见的通用Avalon-MM Master主机 256
11.7.2 DMA Controller 256
11.7.3 Scatter-Gather DMA Controller 256
11.7.4 Modular Scatter-Gather DMA 258
11.7.5 Avalon-MM Master模板 260
11.8 高速数据采集系统 263
11.8.1 安装Avalon-MM Master模板 263
11.8.2 完善Qsys系统 265
11.8.3 修改Quartus中的Qsys例化 269
11.8.4 测试逻辑设计 271
11.9 本章小结 275
第12章 Linux驱动编写与编译 276
12.1 基本字符型设备驱动 276
12.1.1 字符型设备驱动框架 277
12.1.2 PWM控制器驱动的完整源码 286
12.1.3 驱动编译Makefile 291
12.1.4 Ubuntu下编译设备驱动 292
12.1.5 字符型设备驱动验证 293
12.2 基于DMA的字符型设备驱动 297
12.2.1 Avalon-MM Master Write驱动 298
12.2.2 Avalon-MM Master Write测试 304
12.3 本章小结 311
附录A 外设地址映射 312
附录B HPS GPIO映射 314
参考文献 315
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《激光加工实训技能指导理实一体化教程 下》王秀军,徐永红主编;刘波,刘克生副主编 2017
- 《AutoCAD 2019 循序渐进教程》雷焕平,吴昌松,陈兴奎主编 2019
- 《少儿电子琴入门教程 双色图解版》灌木文化 2019
- 《Photoshop CC 2018基础教程》温培利,付华编著 2019
- 《剑桥国际英语写作教程 段落写作》(美)吉尔·辛格尔顿(Jill Shingleton)编著 2019
- 《英语自学进阶教程全6册 3》爱尔兰迪尔德丽出版社著 2019
- 《雅马哈管乐队训练教程 降E调单簧管 分谱》Japan Band Clinic委员会 2019
- 《线性代数简明教程》刘国庆,赵剑,石玮编著 2019
- 《市政工程基础》杨岚编著 2009
- 《家畜百宝 猪、牛、羊、鸡的综合利用》山西省商业厅组织技术处编著 1959
- 《《道德经》200句》崇贤书院编著 2018
- 《高级英语阅读与听说教程》刘秀梅编著 2019
- 《计算机网络与通信基础》谢雨飞,田启川编著 2019
- 《看图自学吉他弹唱教程》陈飞编著 2019
- 《法语词汇认知联想记忆法》刘莲编著 2020
- 《培智学校义务教育实验教科书教师教学用书 生活适应 二年级 上》人民教育出版社,课程教材研究所,特殊教育课程教材研究中心编著 2019
- 《国家社科基金项目申报规范 技巧与案例 第3版 2020》文传浩,夏宇编著 2019
- 《流体力学》张扬军,彭杰,诸葛伟林编著 2019
- 《大学计算机实验指导及习题解答》曹成志,宋长龙 2019
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《大学生心理健康与人生发展》王琳责任编辑;(中国)肖宇 2019
- 《大学英语四级考试全真试题 标准模拟 四级》汪开虎主编 2012
- 《大学英语教学的跨文化交际视角研究与创新发展》许丽云,刘枫,尚利明著 2020
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《复旦大学新闻学院教授学术丛书 新闻实务随想录》刘海贵 2019
- 《大学英语综合教程 1》王佃春,骆敏主编 2015
- 《大学物理简明教程 下 第2版》施卫主编 2020
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019