《基于EDK的FPGA嵌入式系统开发》PDF下载

  • 购买积分:12 如何计算积分?
  • 作  者:杨强浩等编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2008
  • ISBN:7111229142
  • 页数:331 页
图书介绍:本书介绍了嵌入式集成开发平台EDK工具组的使用方法等。

第1章 绪论 1

1.1 嵌入式系统发展趋势 1

1.2 基于XILINX FPGA设计嵌入式产品的优势 2

1.3 如何阅读本书 3

第2章 Xilinx公司新型FPGA结构 5

2.1 Spartan-3系列FPGA 5

2.1.1 Spartan-3型FPGA 5

2.1.2 Spartan-3E型FPGA 7

2.1.3 Spartan-3L型FPGA 8

2.1.4 Spartan-3A型FPGA 9

2.2 Virtex-4型FPGA结构 11

2.2.1 CLB结构 11

2.2.2 DCM结构 14

2.2.3 PMCD结构 18

2.2.4 局部时钟网络 19

2.2.5 IO特性 20

2.3 Virtex-5型FPGA结构 24

2.3.1 CLB逻辑架构 25

2.3.2 时钟资源 26

2.3.3 其他资源优势 27

第3章 Microblaze处理器结构 29

3.1 Microblaze逻辑结构 30

3.2 Microblaze总线结构 31

3.2.1 Microblaze的OPB总线 32

3.2.2 Microblaze的LMB总线 38

3.2.3 Microblaze的FSL总线 41

3.3 Microblaze的寄存器结构 43

3.3.1 通用寄存器组 43

3.3.2 特殊功能寄存器组 43

第4章 PowerPC405处理器核 45

4.1 PowerPC405总体结构 45

4.2 PowerPC405核的总线与控制器 47

4.2.1 OCM控制器 47

4.2.2 APU控制器 49

4.2.3 PLB总线 50

4.3 寄存器结构 52

4.3.1 通用寄存器 52

4.3.2 特殊寄存器 52

第5章 嵌入式设计的FPGA配置 63

5.1 传统配置和嵌入式设计配置 63

5.2 SPI/BPI FLASH加载原理 64

5.2.1 FPGA和SPI FLASH的连接 64

5.2.2 复用SPI FLASH 66

5.2.3 复用BPI FLASH 67

5.2.4 SPI FLASH+通用FLASH 69

5.3 混用并行FLASH加载原理 69

5.4 基于System ACE的加载方式原理 70

5.4.1 System ACE技术简介 70

5.4.2 System ACE的构成 71

5.4.3 ACE控制器的连接电路 72

5.4.4 ACE控制器的时序 74

5.4.5 ACE控制器的内部寄存器 77

第6章 Xilinx的XPS和SDK开发环境 82

6.1 Platform Studio 8.1工具套件简介 82

6.2 XPS使用的特殊文件 82

6.2.1 XMP文件结构 83

6.2.2 MHS文件结构 83

6.2.3 MSS文件结构 84

6.2.4 UCF文件结构 85

6.2.5 CMD文件结构 86

6.3 XPS的图形界面 87

6.3.1 XPS的窗口 87

6.3.2 XPS的菜单 94

6.4 软件调试图形界面 99

6.4.1 软件调试图形界面的窗口 99

6.4.2 软件调试图形界面的菜单 100

6.5 SDK图形界面 101

6.5.1 SDK图形界面的窗口 102

6.5.2 SDK图形界面的菜单 103

第7章 EDK工程设计流程 110

7.1 设计流程图 110

7.2 建立一个简单的Microblaze工程 111

7.2.1 构建基本硬件结构 111

7.2.2 连接所有组件 116

7.2.3 生成硬件比特流文件 121

7.2.4 分析报告和日志 122

7.2.5 编译相关测试应用软件 122

7.2.6 下载设计到目标板 125

7.3 建立一个简单的PPC405工程 126

7.3.1 构建基本硬件结构 126

7.3.2 连接所有组件 128

7.3.3 其他步骤 130

7.4 使用SDK建立应用软件工程 131

7.4.1 创建C语言工程 131

7.4.2 添加和调试源代码 134

7.4.3 运行程序和分析统计信息 135

7.4.4 向XPS加入调试后的应用软件工程 138

第8章 仿真和调试 139

8.1 仿真技术简介 139

8.2 使用Modelsim工具仿真嵌入式设计 140

8.2.1 Modelsim工具简介 140

8.2.2 生成Modelsim嵌入式仿真库 141

8.2.3 设置Modelsim嵌入式仿真环境 143

8.2.4 Testbench初步 146

8.2.5 仿真一个简单的嵌入式设计 148

8.2.6 使用第三方仿真核仿真复杂嵌入式设计 155

8.3 使用XMD工具调试嵌入式软件 159

8.3.1 XMD工具的基本命令 160

8.3.2 使用XMD工具 164

8.3.3 使用XMD命令行界面 165

8.3.4 使用图形调试界面基本流程 169

第9章 ISE工具和EDK工具协作设计 174

9.1 ISE工具简介 174

9.2 在ISE工具中添加处理器结构 175

9.3 输出EDK设计到ISE 180

第10章 定制与添加外设 188

10.1 IP核简介 188

10.2 EDK提供的IP核 188

10.3 添加EDK提供的IP核 190

10.3.1 添加SPI接口核 190

10.3.2 添加System ACE接口核 194

10.4 使用IPIF接口定制IP核 194

10.4.1 生成OPB总线上的新外设 195

10.4.2 添加用户逻辑代码 199

10.4.3 输入IP核到EDK工程 200

10.4.4 验证生成的IP核 207

10.5 完全定制IP核 207

10.5.1 构建用户逻辑 208

10.5.2 编写功能文件 208

10.5.3 输入IP核 210

10.5.4 验证IP核 212

第11章 使用Chipscope Pro调试设计 214

11.1 Chipscope Pro简介 214

11.2 在EDK中可使用的Chipscope core 215

11.2.1 Chipscope_icon原理 215

11.2.2 Chipscope_ila原理 215

11.2.3 Chipscope_opb_iba原理 217

11.2.4 Chipscope_plb_iba原理 218

11.2.5 Chipscope_vio原理 218

11.3 在设计中添加和配置Chipscope core 218

11.3.1 在设计中添加和配置ICON核 219

11.3.2 在设计中添加和配置ILA核 219

11.3.3 在设计中添加和配置IBA核 223

11.3.4 在设计中添加和配置VIO核 227

11.4 通过Analyzer调试嵌入式设计流程 228

11.4.1 调试前的准备工作 228

11.4.2 连接Analyzer工具与目标板 229

11.4.3 使用Analyzer观察ILA信号 230

11.4.4 使用Analyzer观察IBA信号 233

11.4.5 使用Analyzer观察VIO信号 234

第12章 用于FPGA的嵌入式操作系统 236

12.1 嵌入式操作系统发展历程 236

12.2 嵌入式操作系统分类与选型原则 237

12.3 嵌入式Linux操作系统 240

12.4 VxWorks操作系统 241

12.5 Nucleus操作系统 242

第13章 EDK软件库 244

13.1 LibXil Net库 245

13.2 LibXil File库 249

13.3 LibXil FATFile System(FATfs)库 250

13.4 LibXil Memory File System(MFS)库 251

13.5 LwIP库 253

13.6 LibXil Drivers库 254

第14章 基于Standalone的软件设计 255

14.1 应用软件工程的组成 256

14.1.1 代码文件 256

14.1.2 编译与连接选项设置 257

14.1.3 连接文件的结构 261

14.1.4 软件平台设置与生成BSP库文件 264

14.2 Microblaze的BSP 267

14.2.1 中断操作类 267

14.2.2 异常操作类 267

14.2.3 指令缓存操作类 268

14.2.4 数据缓存操作类 268

14.2.5 FSL总线接口宏 269

14.2.6 寄存器操作宏 270

14.3 PowerPC405的BSP 271

14.3.1 启动代码 271

14.3.2 缓存操作类 272

14.3.3 异常操作类 272

14.3.4 文件操作类 274

14.3.5 内存操作类 274

14.3.6 计时器操作类 274

14.3.7 FSL总线接口宏 275

第15章 基于Xilkernel的软件设计 278

15.1 Xilkernel简介 278

15.2 Xilkernel的API函数 279

15.2.1 线程管理类 279

15.2.2 信号灯类 281

15.2.3 消息队列类 283

15.2.4 共享内存类 284

15.2.5 互斥锁类 285

15.2.6 动态缓冲内存管理类 286

15.2.7 软件计时器类 286

15.3 Xilkernel的开发流程 287

15.3.1 构造硬件结构 287

15.3.2 设置软件平台 288

15.3.3 代码分析 296

15.4 生成文件系统并验证设计 301

第16章 移植Montavista Linux 305

16.1 Montavista Linux简介 305

16.2 构建基于Montavista Linux的交叉编译环境 305

16.3 构造基于PowerPC405的硬件系统 311

16.4 生成基于Montavista Linux的BSP 313

16.5 给Montavista Linux内核打补丁 315

16.5.1 补丁文件解析 315

16.5.2 操作步骤 317

16.6 定制和编译Montavista Linux内核 317

16.7 基于RAM方式启动Montavista Linux 320

16.8 通过SystemACE固化Montavista Linux内核 321

16.9 Montavista Linux移植中容易出现的错误 322

16.10 通过网络获得Montavista Linux帮助资源 326

附录 328

附录A 常用逻辑符号对照表 328

附录B 本书常用英文缩略语中英文对照表 329

参考文献 331