首页 >  硕士论文 > 软件工程硕士论文 >   正文

基于MPC8245和VxWorks系统BSP移植与 FPGA 配置之软件实现

添加时间:2014-04-27 14:03:38   浏览:次   作者:www.dxlwwang.com
专业论文资料, 搜索论文发表论文代写论文网为你解忧愁!详情请咨询我们客服。
获取免费的论文资料? 欢迎您,提交你的论文要求,获取免费的帮助

第一章 绪论


1.1 研究背景和意义
由于嵌入式系统硬件平台千变万化,将操作系统移植到不同的硬件平台是不可避免的。能否将操作系统和应用程序以一种合适的方式进行移植是嵌入式软件开发方面的关键,这个移植过程要参考硬件平台上 CPU 的性能以及与其相关连的其他硬件性能,然后修改与处理器及硬件相关部分的代码。为解决平台移植的问题通常嵌入式系统将依赖于硬件部分、应用程序代码部分和操作系统代码部分分开,这样就形成了一个位于主板硬件和操作系统内核之间的一个基本软件层次,称为板级支持包 BSP。它在硬件驱动程序和操作系统之间提供了一个标准接口,操作系统和上层应用程序通过这个接口可以完成对各种硬件资源(包括设备控制器、CPU、存储器、局部总线和外部总线)的操作。这个中间层次屏蔽了具体的底层硬件环境,因此操作系统实际上面向的是这.个中间层次所代表的逻辑上的硬件环境[3]。BSP 为嵌入式操作系统提供支持,是嵌入式软件开发中非常重要的一部分,也是比较有难度的一部分。随着 VxWorks 的嵌入式操作系统的应用日趋广泛,对其 BSP 的开发也成为非常热门的课题,也是研究 VxWorks 操作系统的关键环节。它的任务有上电时硬件的初始化、支持 VxWorks 对硬件驱动的操作和将 VxWorks中依赖于硬件的部分和独立于硬件的部分集成在一起。由于嵌入式操作系统软件和硬件都非常灵活,因此嵌入式操作系统的开发难度比较大,开发周期长,调试BSP 同样具有挑战性,因而成本也会比较高。针对这些问题,探寻较为规范化的方法和步骤来实现 BSP 的开发有着非常重要的意义[4]。
……………


1.2 VxWorks 操作系统概述


1.2.1 国内外研究现状
20世纪 80 年代,嵌入式操作系统开始步入商业化的行列,尤其是最近几年发展的非常迅速。目前看来我国将成为全球最大的嵌入式操作系统市场之一,近几年来我国互联网、通信、消费电子市场发展迅速,因此出现了越来越多的数字设备生产商,为争取垄断地位,世界各国之间的竞争也愈演愈烈。嵌入式系统在这个领域的迅猛发展中也扮演了越来越重要的角色。到现在为止国内外已经有几十种商业操作系统可供选择,如 VxWorks、Linux、Winsows CE、“女娲”等,其中VxWorks 由于其卓越的性能占据绝对优势的地位[5]。VxWorks 操作系统是由美国风河公司率先推出的,而后又推出了如软件开发环境 Tornado、硬件开发调试工具、BSP 参考模板等一系列的产品,而且它所推出的 VxWorks 操作系统版本也不断升级,为嵌入式操作系统的开发带来了巨大的推动作用。但它的内核不对外开放且它的版权费用又比较昂贵,在我国只有一些授权的培训,知识储备较少,对VxWorks的研究与应用刚处于起步阶段。好在Tornado开发调试工具有完善的调试手段来提供支持,培训周期一般都比较短。当然VxWorks 操作系统现有技术还有很多不足之处,归纳起来有以下三点: VxWorks 操作系统各个任务之间相互进行通信时还存在不足之处。VxWorks 不支持基本的任务间如邮箱和事件等通信机制,例如无邮箱机制会导致两个任务需要使用一个消息队列来共享最新消息,这样就降低了信息交换的速度。Tornado 开发调试环境缺乏一定的项目管理能力。它缺乏一个有效的项目管理工具来生成编译用的 Makefile 文件,要查看函数内部代码的实现过程也比较麻烦。这大大影响了应用程序开发和调试的周期,也增强了开发难度。
……………


第二章 BSP 概述


2.1 BSP(板级支持包)简介
VxWorks 是美国风河公司推出的一款运行在目标机上的采用微内核结构,支持多种 CPU,具有高可靠性、实时性、可裁减性、可移植性等特点的 RTOS 实时操作系统。BSP 介于底层硬件和 VxWorks 操作系统内核之间,是一个软件抽象层,它在软件系统中的位置可以用图 2-1 来表示。从图中可以看出,它为上层提供了与操作系统内核的接口、与操作系统的 I/O系统的接口、与应用程序的接口。同时为底层硬件驱动程序和操作系统之间提供了一个统一的操作接口,操作系统和上层应用程序要访问底层硬件不必关心硬件的细节,可以通过这些接口使用硬件的各种资源并可以配置和管理硬件。这保证了 BSP 的一个重要特点---可移植性。所以,一旦底层硬件平台有了变化之后如添加或删除了某个器件,不需要重新开发,只要在 BSP 代码中将与变化的硬件相关的驱动代码加以修改就可完成它的移植工作,大大的缩短了开发周期[7]。
……………


2.2 VxWorks 的启动流程


2.2.1 VxWorks 映像分类与加载过程
深入了解 VxWorks 以及 bootrom 的执行流程在实际项目中是至关重要的,这样才能深入了解 BSP 的工作原理、目标板上硬件的初始化过程以及一些外围硬件设备的驱动程序是如何在 VxWorks 中被加载的。对这方面的深入了解在后续 BSP的开发过程中才知道如何来完成 BSP 的移植,这将大大缩短移植周期。首先需要分析一下 VxWorks 的映像类型,这是开发 BSP 的基础。按 VxWorks 内核的下载形式可分为两种类型:可引导和可加载映像。可引导映像(Bootable Image)该类型映像将 bootrom 引导代码和 VxWorks 操作系统映像合二为一。可直接烧写到 ROM/Flash 中,其中 bootrom 的作用是将目标板的 CPU 最小系统启动起来,它又分为 ROM-resident 映像和 ROM-based 映像。前者在系统上电后,引导代码BootStrap Program 将 VxWorks 映像中的 data 段和 BSS 段拷贝到 RAM 中的低端地址 RAM_LOW_ADRS 处,而映像的代码段仍在 ROM/Flash 中运行,如图 2-4 所示。它具有最快的引导速度,但运行速度却是最慢的。而后者是一种运行于 RAM 中,但起初存放于 ROM 中的 VxWorks 映像。在系统上电后,引导代码 BootStrapProgram 将 VxWorks 映像全部搬移到 RAM 中的低端地址 RAM_LOW_ADRS 处开始执行,如图 2-5 所示。
……………


第三章 系统需求分析......16
3.1 系统硬件平台总体架构 .... 16
3.2 系统软件组成以及 BSP 软件工作原理 ......... 21
3.3 本章小结 ..... 23
第四章 基于 MPC8245 和 VxWorks 系统.......24
4.1 BSP 的设计目标和开发过程 ......... 24
4.1.1 BSP 的设计目标 ....... 24
4.1.2 BSP 开发的过程 ....... 24
4.2 BSP 的修改与功能实现 ..... 25
4.3 Intel82559ER 网络驱动加载.... 34
4.3.1 Intel82559ER 网卡驱动加载流程.... 35
4.3.2 网卡驱动功能函数介绍 ...... 36
4.3.3 Intel82559ER 网卡驱动加载实现.... 38
4.4 bootrom 和 VxWorks 映像的编译 ....... 40
4.5 本章小结 .... 44
第五章 VxWorks BSP 调试与系统启动测试....45
5.1 使用 CodeWarrior 对单板进行编程 ......... 45
5.1.1 内存测试与验证 ...... 45
5.1.2 Flash 编程 ..... 48
5.2 VxWorks BSP 调试....... 50
5.3 VxWorks 系统启动测试 ..... 54
5.4 本章小结 .... 61


第六章 处理器配置 Xilinx FPGA


6.1 处理器配置 FPGA 概述
以往 FPGA 的配置数据都是通过单板上的 JTAG 接口来加载的,它的下载速度比较快,但这种方式掉电后需重新配置,一般用于调试阶段。随着嵌入式系统越来越流行,现今的系统要求在更小的空间和更低成本下实现更强大的功能,同时许多设计师也希望减少他们的元件数量并增加灵活性。为了同时实现这两个目标,系统上的微处理器可以用来配置 FPGA。这种方式可减少目标板上外围设备的个数,具有良好的应用性。此外,这种方式还可以完成系统地在线升级,可以根据不同的情况加载不同的功能代码,增强了系统的灵活性[25]。本章将介绍采用SelectMAP 模式来配置 Xilinx FPGA。在用 CPU 配置 FPGA 时,三种常见的组件是必需的:一个嵌入式微处理器,一个非易失性的存储器和一个 CPLD。如果一个专用配置设备如 PROM 的功能能够集成在这三个组件中,那么成本和空间都可以降低。使用 CPU 配置 Xilinx FPGAs有两种方式,这两种模式有几个相似之处,最重要的是整体的配置流程是一样的。
……………


结论


本论文首先阐述了基于 MPC8245 和 VxWorks 系统下 BSP 的移植过程。在对VxWorks 嵌入式系统下 BSP 的移植过程中,学习了 VxWorks 嵌入式操作系统以及MPC8245 处理器的相关知识,阅读了相关的文献和查阅了相关的手册,从底层了解了系统中关键软硬件的相关知识。并了解了 BSP 移植要点,并针对本课题中的V5LX330T 单板的结构和需求,给出了单板 BSP 移植的具体实现方法。在此基础上通过CodeWarrior仿真调试软件结合USBTAP仿真调试器对硬件系统和VxWorks嵌入式操作系统下的 BSP 进行调试,保证了系统正常稳定的运行。本论文所完成的工作有以下几项:
(1) 详细介绍了 VxWorks 操作系统以及 BSP 的相关知识。介绍了 VxWorks 操作系统的运行机制以及在该操作系统下使用的集成开发环境生成 bootrom 和VxWorks 映像文件的方法,本课题使用的是 Tornado2.2 软件。
(2) 对基于 VxWorks 操作系统下的 BSP 参考模板中的代码进行了修改,给出了 BSP 移植过程中具体的配置参数和方法,其中重点分析了网卡的驱动程序结构,并介绍了 VxWorks 操作系统对网卡设备的识别和加载过程。
(3)对硬件系统和 VxWorks 嵌入式操作系统下的 BSP 进行调试,最终使操作系统正常稳定的运行于 MPC8245 硬件平台上。
……………
参考文献(略)

提供海量毕业论文,论文格式,论文格式范文,留学生论文,商务报告相关资料检索服务。
本论文由代写论文网整理提供 https://www.dxlwwang.com/
需要专业的学术论文资料,请联系我们客服
本文地址:http://www.dxlwwang.com/ruanjian/1150.html
论文关键字:VxWorks BSP 网卡驱动程序 FPGA Intel82559ER