FPGA上的嵌入式系统设计实例(含光盘)
分類: 图书,计算机/网络,计算机体系结构,
作者: 赵峰等编著
出 版 社: 西安电子科技大学出版社
出版时间: 2008-4-1字数: 459000版次: 1页数: 302印刷时间: 2008/04/01开本: 16开印次: 1纸张: 胶版纸I S B N : 9787560619958包装: 平装编辑推荐
在本书的写作过程中,弱化基本概念,强调实验和项目设计,并且突出版本管理的作用。前3章是基本概念的介绍;第4章是XILINX FPGA上基于MicroBlaze软核的基础实验;第5章为基于MicroBlaze软核的硬件系统构建的uClinux操作系统平台;第6~8章是项目设计案例分析,第6章是XILINX XUP Virtex-ⅡPRO开发板上基于PowerPC硬核的嵌入式人脸检测系统的设计,第7章是XILINX Spartan-3E Starter Kit上基于MicroBlaze软核的Mini VOS服务器的设计,第8章是XILINX XUP Virtex-ⅡPRO开发板上基于MicroBlaze软核的快速点餐系统的设计。
内容简介
本书讲解了嵌入式系统的基本知识:定义、特点与组成;GNU工具链;嵌入式操作系统;FPGA原理和MicroBlaze处理器。以基于MicroBlaze的6个基础实验和3个不同领域的工程项目贯穿全书,对FPGA上的嵌入式系统设计进行了较全面的讲解。本书的前3章介绍基本概念;第4章是XILINX FPGA上基于MicroBlaze处理器软核的基础实验;第5章为基于MicroBlaze软核的硬件系统构建的uClinux操作系统平台;第6~8章是工程案例分析。
嵌入式系统是一门实践性极强的课程,笔者认为嵌入式系统功能容易实现,而提高性能则较为困难;设计过程容易掌握,而调试能力非常难于建立。故而在此书的写作过程中,弱化基本概念,而强调实验和项目实践。
本书可用作大专院校的实验教材,也可用作嵌入式系统培训教材。
目录
第1章 嵌入式系统概述
1.1 嵌入式系统的定义
1.2 嵌入式系统的发展
1.3 嵌入式系统的组成
1.4 嵌入式系统的特征
第2章 GNU工具链
2.1 GNU的由来与发展
2.2 编译器
2.2.1 GCC简介
2.2.2 GCC的特点
2.2.3 GCC的执行过程
2.2.4 GCC的基本用法与选项
2.2.5 Gdb调试器
2.3 自动编译
2.3.1 Make工程管理器
2.3.2 Makefile的结构
2.3.3 Makefile变量
2.3.4 Makefile规则
2.3.5 使用autotools
2.4 版本控制
2.4.1 版本管理模型
2.4.2 常用术语介绍
2.4.3 CVS的使用
2.4.4 Subversion
第3章 FPGA上的嵌入式系统设计基础
3.1 FPGA原理与发展
3.1.1 PLD原理
3.1.2 FPGA原理
3.2 MicroBlaze处理器
3.2.1 MicroBlaze性能介绍
3.2.2 MicroBlaze的结构
3.2.3 MicroBlaze的数据和指令
3.2.4 MicroBlaze的寄存器结构
3.2.5 MicroBlaze的流水结构
3.2.6 MicroBlaze的存储结构
3.2.7 MicroBlaze的中断机制
3.2.8 MicroBlaze的FPU(Floating Point Unit)
3.2.9 MicroBlaze指令和数据Cache
3.3 MicroBlaze的总线接口
3.3.1 OPB
3.3.2 LMB
3.3.3 XCL
3.3.4 FSL
3.3.5 调试接口和追踪接口
3.4 XILINX嵌入式系统开发流程
3.4.1 XILINX嵌入式系统开发工具介绍
3.4.2 EDK套件组件介绍
3.4.3 XILINX嵌入式系统开发流程
第4章 基于MicroB0azo的基础实验
4.1 简单的硬件设计
4.1.1 使用Base System Builder创建工程
4.1.2 分析已创建工程
4.1.3 生成处理器和硬件网表
4.1.4 生成Bitstream下载测试程序
4.2 在硬件设计中添加IP
4.2.1 在处理器系统中增加IP
4.2.2 扩展硬件系统
4.2.3 分析MHS文件
4.2.4 验证硬件设计
4.3 在嵌入式系统中添加自定义IP
4.3.1 打开工程
4.3.2 用向导建立一个用户自定义OPB外设
4.3.3 将自定义外设添加到系统中
4.3.4 硬件上的验证
4.4 编写基本的应用软件
4.4.1 项目更新
4.4.2 创建一个BSP
4.4.3 修改C程序
4.4.4 连接图
4.5 添加定时器
4.5.1 打开工程
4.5.2 添加中断控制器和OPB定时器
4.5.3 配置BSP
4.5.4 运行SDK
4.5.5 创建一个C工程
4.5.6 管理编译配置
4.5.7 添加源程序
4.5.8 写中断程序并编译代码
4.5.9 硬件测试
4.5.10 通过SDK调试
4.6 软、硬件系统协同调试
4.6.1 打开工程
4.6.2 ChipScope核的实例化
4.6.3 SDK和ChipScope的操作
4.6.4 软、硬件协同调试
第5章 嵌入式操作系统
5.1 嵌入式操作系统简介
5.1.1 常见嵌入式操作系统
5.1.2 系统选用原则
5.2 嵌入式操作系统基础
5.2.1 BSP
5.2.2 驱动程序
5.2.3 POSIX
5.3 嵌入式操作系统实验
5.3.1 基于操作系统的MicroBlaze系统配置
5.3.2 uClinux交叉编译环境的搭建
5.3.3 EDK文件的导入及uClinux的基本配置
5.3.4 uClinux高级配置
5.3.5 添加uClinux驱动程序
5.3.6 添加uClinux应用程序
5.4 常见问题及解决方法
第6章 人脸检测系统设计
6.1 案例简介
6.2 基于PowerPC的硬件平台搭建
6.3 人脸检测系统的软件移植
6.4 总结
第7章 嵌入式Mini VOS服务器
7.1 案例简介
7.2 搭建MicroBlaze硬件平台
7.3 在EDK中配置项目软件环境
7.4 uClinux交叉编译环境的搭建
7.4.1 建立共享文件夹
7.4.2 建立交叉编译环境
7.5 EDK硬件配置文件的导入及uClinux基本配置
7.6 LED驱动及VOS应用系统的加载
7.7 源码
第8章 快速点餐系统设计
8.1 案例简介
8.2 搭建MicroBlaze硬件平台
8.3 在EDK中配置项目软件环境
8.4 uClinux交叉编译环境的搭建
8.4.1 建立共享文件夹
8.4.2 建立交叉编译环境
8.5 uClinux基本配置
8.6 添加网页素材
8.7 应用程序的验证
书摘插图
第1章嵌入式系统概述
1.1嵌入式系统的定义
到目前为止,嵌入式系统并没有非常严格的定义,业内比较认同的嵌入式系统概念是:嵌入式系统是以应用为中心,以计算机技术为基础,并且软、硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。这一概念完全是从应用角度出发来定义的。
对嵌入式系统较全面的理解应当从以下三方面来认识:
(1)硬件应由嵌入式处理器作为基础平台。
(2)软件应以嵌入式软件为运行平台。
(3)形式应是嵌入在设备中,各种设备有不同的外形及相应的附属配件,嵌入式系统只不过是其中的一个核心处理部件而已。
1.2嵌入式系统的发展
嵌入式系统至今已有30多年的历史,经历了四个比较明显的阶段。
第一阶段是无操作系统的微控制阶段,是以单片机为核心的控制系统阶段,这种系统大部分应用于一些专业性极强的工业控制系统中,没有操作系统的支持,通过汇编语言来编程。这一阶段系统的主要特点是:系统结构和功能都相对单一,处理效率较低,存储容量小,几乎没有用户接口。
第二阶段是以嵌入式CPU为基础、以简单操作系统为核心的嵌入式系统阶段。这一阶段系统的主要特点是:CPU种类繁多,通用性比较差;系统开销小,效率高;一般配备系统仿真器,操作系统具有一定的兼容性和扩展性;应用软件较专业,用户界面不够友好。
第三阶段是通用的嵌入式实时操作系统阶段,是以嵌入式操作系统为核心的嵌入式系统阶段。这一阶段系统的主要特点是:嵌入式操作系统能运行于各种不同类型的微处理器上,兼容性好;操作系统内核精小、效率高,并且具有高度的模块化和扩展性;具备文件和目录管理、设备支持、多任务、网络支持、图形窗口以及用户界面等功能;具有大量的应用程序接口(API),开发应用程序简单;嵌入式应用软件丰富。
……