图书介绍

SOPC嵌入式系统基础教程PDF|Epub|txt|kindle电子书版本网盘下载

SOPC嵌入式系统基础教程
  • 周立功等编著 著
  • 出版社: 北京:北京航空航天大学出版社
  • ISBN:7810779028
  • 出版时间:2006
  • 标注页数:354页
  • 文件大小:88MB
  • 文件页数:371页
  • 主题词:微处理器-系统设计-高等学校-教材

PDF下载


点此进入-本书在线PDF格式电子书下载【推荐-云解压-方便快捷】直接下载PDF格式图书。移动端-PC端通用
种子下载[BT下载速度快]温馨提示:(请使用BT下载软件FDM进行下载)软件下载地址页直链下载[便捷但速度慢]  [在线试读本书]   [在线获取解压码]

下载说明

SOPC嵌入式系统基础教程PDF格式电子书版下载

下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。

建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!

(文件页数 要大于 标注页数,上中下等多册电子书除外)

注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具

图书目录

1.1 SOPC及其技术1

1.1.1 基于FPGA嵌入IP硬核的SOPC系统1

1.1.2 基于FPGA嵌入IP软核的SOPC系统1

第1章 概述1

1.1.3 基于HardCopy技术的SOPC系统2

1.2 Nios Ⅱ软核处理器3

1.2.1 Nios Ⅱ软核处理器简介3

1.2.2 可配置嵌入式软核处理器的优势5

1.3.1 Cyclone系列9

1.3 Altera支持SOPC的FPGA简介9

1.3.2 Cyclone Ⅱ系列11

1.3.3 Stratix系列12

1.3.4 Stratix Ⅱ系列14

第2章 SOPC开发流程及开发平台简介16

2.1 SOPC开发流程16

2.1.1 硬件开发18

2.1.2 软件开发18

2.1.3 SOPC基本开发流程简介19

2.2 简单SOPC实例开发任务及步骤21

2.3 分析系统需求22

2.4 使用Quartus Ⅱ建立工程23

2.4.1 打开Quartus Ⅱ软件并建立工程23

2.4.2 建立顶层模块26

2.5 使用SOPC Builder创建Nios Ⅱ系统27

2.5.1 SOPC Builder简介27

2.5.2 启动SOPC Builder29

2.5.4 添加Nios Ⅱ处理器内核31

2.5.3 指定目标FPGA和时钟设置31

2.5.5 添加片内存储器33

2.5.6 添加PIO35

2.5.7 添加系统ID外设35

2.5.8 指定基地址和中断请求优先级36

2.5.9 设置Nios Ⅱ复位和异常地址36

2.5.10 生成Nios Ⅱ系统37

2.6 集成Nios Ⅱ系统到Quartus Ⅱ工程39

2.6.1 添加Nios Ⅱ系统模块到Quartus Ⅱ顶层模块39

2.6.2 添加引脚和其他基本单元40

2.6.3 选择器件型号41

2.6.4 分配FPGA引脚42

2.6.5 器件和引脚的其他设置43

2.7 设置编译选项并编译硬件系统44

2.7.1 设置编译选项44

2.7.2 编译硬件系统44

2.7.3 查看编译报告44

2.8 下载硬件设计到目标FPGA46

2.9.1 创建一个新的C/C++应用工程47

2.9 使用Nios Ⅱ IDE建立用户程序47

2.9.2 设置C/C++应用工程系统属性52

2.9.3 编译连接工程53

2.10 调试/运行程序53

2.10.1 在目标硬件上运行程序54

2.10.2 在目标板上调试程序54

第3章 Nios Ⅱ体系结构57

3.1 Nios Ⅱ处理器结构57

3.2.1 Nios Ⅱ的通用寄存器58

3.2 Nios Ⅱ的寄存器文件58

3.2.2 Nios Ⅱ的控制寄存器60

3.3 算术逻辑单元(ALU)61

3.3.1 未实现的指令61

3.3.2 用户指令61

3.3.3 浮点指令61

3.4 复位信号62

3.5 Nios Ⅱ处理器运行模式62

3.6.2 中断控制器63

3.6.1 异常控制器63

3.6 异常和中断控制器63

3.7 Nios Ⅱ的异常处理64

3.7.1 异常类型64

3.7.2 异常硬件处理流程64

3.7.3 异常判别及优先级64

3.7.4 异常的嵌套65

3.7.5 异常返回66

3.7.6 异常响应时间66

3.8 存储器及I/O结构66

3.8.1 指令与数据总线67

3.8.2 高速缓存68

3.8.3 紧耦合存储器69

3.8.4 地址映射70

3.9 存储器和外设访问70

3.9.1 寻址方式70

3.9.2 高速缓存访问71

3.10 Nios Ⅱ处理器性能71

4.1.1 PIO寄存器描述73

4.1 并行输入/输出内核73

第4章 Nios Ⅱ外围设备73

4.1.2 PIO内核配置选项75

4.1.3 软件编程77

4.2 SDRAM控制器内核77

4.2.1 SDRAM控制器内核概述77

4.2.2 SDRAM内核配置选项79

4.2.3 软件编程81

4.2.4 SDRAM应用81

4.3 CFI控制器内核82

4.3.1 CFI控制器内核综述83

4.3.2 CFI控制器内核设置83

4.3.3 软件编程85

4.4 EPCS控制器内核85

4.4.1 EPCS控制器内核综述85

4.4.2 软件编程86

4.5 定时器内核87

4.5.1 定时器内核综述87

4.5.2 定时器寄存器描述88

4.5.3 定时器内核配置选项90

4.5.4 软件编程92

4.6 UART内核93

4.6.1 UART内核综述93

4.6.2 UART内核的寄存器描述95

4.6.3 UART内核配置选项99

4.6.4 软件编程101

4.7 JTAG_UART内核104

4.7.1 JTAG_UART的寄存器描述105

4.7.2 JTAG_UART内核配置选项106

4.7.3 软件编程108

4.8 SPI内核110

4.8.1 SPI内核综述110

4.8.2 SPI内核的寄存器描述112

4.8.3 SPI内核配置选项115

4.8.4 软件编程117

4.9 DMA内核118

4.9.1 DMA控制器内核综述118

4.9.2 DMA寄存器描述119

4.9.3 DMA控制器配置选项122

4.9.4 软件编程123

4.10 带Avalon接口的互斥内核125

4.10.1 互斥内核描述125

4.10.2 互斥内核配置选项126

4.10.3 软件编程126

4.11 带Avalon接口的邮箱内核129

4.11.1 邮箱内核描述129

4.11.2 邮箱内核配置选项129

4.11.3 软件编程130

4.12 System ID内核132

4.12.1 System ID寄存器描述133

4.12.2 软件编程133

第5章 FPGA配置和Flash编程134

5.1 FPGA配置134

5.1.1 FPGA配置方式134

5.1.2 FPGA配置过程136

5.2 Cyclone及Cyclone Ⅱ FPGA配置138

5.2.1 主动串行配置140

5.2.2 主动串行配置(AS)的配置时间估算143

5.2.3 JTAG配置143

5.3 配置芯片145

5.4 配置的软件设置146

5.4.1 配置方式及配置芯片选择146

5.4.2 复用配置引脚处理147

5.5 配置文件148

5.5.1 配置文件的格式148

5.5.2 配置文件设置和转换149

5.5.3 配置文件的压缩150

5.6 配置可靠性及电路设计注意事项152

5.6.1 配置的可靠性152

5.6.2 电路设计注意事项153

5.7 下载配置文件到FPGA153

5.8 下载配置文件到EPCS155

5.8.1 AS接口的EPCS直接编程155

5.8.2 JTAG接口的EPCS间接编程157

5.8.3 SOF文件转换为JIC文件158

5.8.4 JIC文件转换为JAM文件161

5.8.5 JIC和JAM文件的内容163

5.8.6 使用JIC文件和Quartus Ⅱ Programmer对EPCS编程163

5.8.7 使用JAM文件和Quartus Ⅱ Programmer对EPCS编程163

5.9 IDE Flash Programmer介绍164

5.9.1 IDE Flash Programmer编程工作过程165

5.9.2 Flash编程设计165

5.9.3 目标板Flash编程设计165

5.9.5 Flash文件166

5.9.4 Flash编程内容的类型166

5.10 用户程序引导167

5.10.1 从CFI Flash引导167

5.10.2 从串行配置器件EPCS引导167

5.10.3 引导复制程序168

5.10.4 用户程序ELF文件连接设置169

5.10.5 用户程序引导小结171

5.11 使用IDE Flash Programmer编程172

5.12 创建目标板Flash编程设计176

6.1 Nios Ⅱ IDE简介184

第6章 Nios Ⅱ应用程序及其外设HAL驱动开发184

6.2 设置工程系统库属性和编译选项186

6.2.1 C/C++ Build设置187

6.2.2 C/C++ Indexer设置188

6.2.3 System Library设置188

6.3 调试/运行程序190

6.3.1 调试器目标连接设置191

6.3.2 调试器设置192

6.4 下载程序到Flash194

6.5 硬件抽象层(HAL)系统库194

6.3.3 运行程序194

6.5.1 HAL的构成195

6.5.2 HAL的通用设备模型196

6.6 使用HAL开发应用程序197

6.6.1 Nios Ⅱ IDE工程结构197

6.6.2 与目标系统相关的system.h系统描述文件198

6.6.3 数据宽度及HAL类型定义200

6.6.4 HAL对系统启动的支持200

6.6.5 HAL与异常处理201

6.6.6 提高处理性能的措施203

6.7 设备驱动概述204

6.7.1 设备的寄存器抽象205

6.7.2 处理器外围设备的分类205

6.7.3 标准I/O访问方法206

6.7.4 标准I/O函数到具体驱动程序的映射206

6.7.5 驱动程序与设备交互的方法——轮询和中断208

6.7.6 调用设备驱动的方式208

6.8.1 创建一个描述设备寄存器的头文件209

6.8 开发HAL下的设备驱动209

6.8.2 为各类设备创建驱动程序210

6.8.3 把设备驱动集成到HAL中218

6.9 μC/OS-Ⅱ221

6.9.1 μC/OS-Ⅱ简介222

6.9.2 设备驱动的线程安全222

6.9.3 Newlib C标准库的线程安全223

6.9.4 HAL系统时钟与μC/OS-Ⅱ系统时钟224

6.9.6 使用Nios Ⅱ IDE开发μC/OS-Ⅱ应用程序225

6.9.5 μC/OS-Ⅱ代码编译和初始化225

6.9.7 μC/OS-Ⅱ基本常识230

6.10 Nios Ⅱ C语言至硬件加速编译器(C2H)简介231

第7章 Avalon接口规范233

7.1 Avalon总线简介233

7.2 术语和概念235

7.2.1 Avalon交换结构235

7.2.2 Avalon外设237

7.2.3 Avalon信号238

7.2.4 Avalon端口238

7.2.8 PTF文件与SOPC Builder239

7.2.7 周期239

7.2.5 主从端口对239

7.2.6 传输239

7.3 Avalon信号240

7.3.1 信号命名规则241

7.3.2 信号类型的完全列表241

7.3.3 信号极性244

7.3.4 信号序列和时序244

7.3.5 传输属性245

7.4.1 从端口基本信号246

7.4 从端口传输246

7.4.2 从端口基本读传输247

7.4.3 带传输属性的从端口读传输248

7.4.4 从端口基本写传输252

7.4.5 带传输属性的从端口写传输252

7.5 主端口传输255

7.5.1 主端口信号256

7.5.2 主端口基本读传输257

7.5.3 主端口基本写传输258

7.5.4 主端口传输的等待周期、建立时间及保持时间属性259

7.5.5 主端口传输的流水线、突发及三态属性260

7.6 流水线传输属性260

7.6.1 具有固定延迟的从端口流水线读传输260

7.6.2 具有可变延迟的从端口流水线读传输261

7.6.3 主端口流水线读传输263

7.7 流控制属性264

7.7.1 具有流控制的从端口传输265

7.7.2 具有流控制的主端口传输267

7.8 三态传输属性269

7.8.1 三态从端口传输270

7.8.2 三态主端口传输276

7.9 突发传输属性277

7.9.1 主端口突发传输277

7.9.2 从端口突发传输280

7.10 非传输相关的信号283

7.10.1 中断请求信号283

7.10.2 复位控制信号285

7.11.1 静态地址对齐286

7.11 地址对齐286

7.11.2 动态地址对齐287

7.11.3 为Avalon端口选择地址对齐参数288

7.11.4 不同地址对齐方式的连线及编程操作289

第8章 Nios Ⅱ系统深入设计291

8.1 定制基于Avalon的用户外设291

8.1.1 定制用户外设简介291

8.1.2 PWM设计说明293

8.1.3 将PWM设计封装为SOPC Builder元件296

8.1.4 使用并验证新创建的PWM元件300

8.1.5 手工修改创建的元件302

8.2 定制Nios Ⅱ用户指令302

8.2.1 Nios Ⅱ定制指令综述303

8.2.2 定制指令实现方式307

8.2.3 定制指令设计示例308

8.2.4 定制指令的使用方法312

第9章 NiosⅡ汇编程序设计及混合语言程序开发317

9.1 历史回顾317

9.2.1 数据传输指令318

9.2 Nios Ⅱ的指令集318

9.2.2 寄存器间数据拷贝指令319

9.2.3 算术逻辑运算指令319

9.2.4 比较指令320

9.2.5 移位指令321

9.2.6 跳转、分支和子程序调用指令321

9.2.7 断点及异常指令322

9.2.8 用户指令322

9.2.9 未实现的指令323

9.2.10 空操作323

9.3 Nios Ⅱ汇编程序设计323

9.3.1 利用Nios Ⅱ汇编语言实现“Hello World!”323

9.3.2 在C语言中内嵌汇编334

9.4 使用混合语言进行程序开发341

附录1 SmartSOPC多功能教学实验开发平台344

附录2 LA系列高性能逻辑分析仪349

参考文献354

热门推荐