网站首页 软件下载 游戏下载 翻译软件 电子书下载 电影下载 电视剧下载 教程攻略
书名 | SoC FPGA嵌入式设计和开发教程 |
分类 | 教育考试-考试-计算机类 |
作者 | 梅雪松,宋士权,陈云龙编 |
出版社 | 北京航空航天大学出版社 |
下载 | ![]() |
简介 | 作者简介 梅雪松,网名“小梅哥”,拥有多年电子设计经验,擅长知识的总结和传播,有《小梅哥和你一起深入学习FPGA》、《小梅哥FPGA学习笔记》两个系列网络博文;并推出了手把手式视频教程《FPGA设计思想与验证方法视频教程》,该教程在各大视频点击平台备受好评,网友称其为学习FPGA基础与提高教学视频的S选。同时,开设FPGA实地培训班,进行网络和实地FPGA培训,并多次进入高校进行SoC FPGA开发技术的培训。培训课程以其系统的知识讲解和生动的实例分析,得到了学员的一致肯定。 目录 章 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 DDR3SDRAM 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中的 HPS启动流程介绍 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 基于虚拟地址映射的I2C编程应用 145 6.5.1 OpenCores I2C IP简介 146 6.5.2 OpenCores I2C IP寄存器映射 146 6.5.3 I2C 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 编写I2C控制器设备节点 208 9.5 加载 OC_I2C驱动 211 9.6 使用RTC 212 9.7 使用EEPROM 216 9.8 编写SPI控制器设备节点 217 9.9 本章小结 219 0章 基于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实现I2C编程 223 10.4 本章小结 226 1章 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 2章 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 内容推荐 本书针对Intel Cyclone V SoC FPGA器件,介绍了其芯片结构,架构优势,并基于特定的硬件开发平台,以实例的形式介绍了其应用开发流程和调试技巧。书本内容包括了器件介绍,软件安装,FPGA逻辑设计,Linux系统设计方法,最后,给出了两个综合系统的设计思路与设计内容。 |
随便看 |
|
霍普软件下载网电子书栏目提供海量电子书在线免费阅读及下载。