欢迎来到天天文库
浏览记录
ID:43584518
大小:180.00 KB
页数:10页
时间:2019-10-11
《嵌入式软件设计》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、引言嵌入式系统被定义为:以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。嵌入式操作系统是支持嵌入式系统应用的操作系统软件,它是嵌入式系统极为重要的组成部分,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。与通用操作系统相比较,嵌入式操作系统在系统实时高效性、硕件的依赖性、软件固态化以及应用的专用性等方而具有较为突出的特点。嵌入式操作系统的出现,大大提高了嵌入式系统开发的效率,在嵌入式
2、操作系统Z上开发嵌入系统将减少系统开发的工作量,增强嵌入式应用软件的可移植性,使嵌入式系统的开发方法更具科学性。近年来,随着电子技术的不断进步,嵌入式系统开发己成为热点。WindowsCE最大的好处在于界面的通用性,用户容易接收;同时,可以将Windows通用操作系统下的应用程序移植到嵌入式应用系统中。关于WindowsCE的研究文献有许多,但是缺少从构建平台到网络应用的系统分析,本文从网络应用出发,深入研究WindowsCE下如何实现TCP/IP协议,这对嵌入式网络应用很有意义。1基于Window
3、sCE的嵌入式系统的结构要进行嵌入式系统的应用开发,必须先建立一个开发平台。一个基于WindowsCE的平台由WindowsCE操作系统核组件、OEM适配层(OEMAdaptationLayer,OAL)和设备驱动程序以及组成系统的硕件设备组成,图为基于WindowsCE平台的层次结构。从图中可以看出,一个基于WindowsCE的嵌入式系统可分为四个层次,从底层到上层分别是便件层、OEM层、操作系统层和应用程序层。图基于WindowsCE的目标平台及其组件2嵌入式BSP介绍分析对于嵌入式操作系统而言
4、,将核心功能与具体的硬件平台尽可能区分开,这是实现系统可移植性、尽快构建于各种平台上的根本,因此嵌入式操作系统把和硬件相关的所有程序设计成一个软件层,这个软件层就是板级支持包BSP(BoardSupportPackage)o创建自己平台的BSP也是实现整个系统的关键。在嵌入式领域,对BSP大致有三种不同的理解,它们分别代表了BSP功能的三个方面,或者说系统开发的三个层次:(1)操作系统的驱动程序:BSP为操作系统提供了而向开发板上各种设备的统一接口,使得操作系统得到一定程度的硬件独立性。(2)驱动程
5、序:对于认为BSP就是驱动程序的人来说,他们通常接触的是嵌入式系统提供商提供的某种应用方案的应用系统(Toolsolution)o在这种开发系统中,因为开发人员没有必要自己去开发驱动程序,只需骑证驱动程序在自己系统是否正确运行即可,所以他们认为BSP就是所有驱动程序。(3)硬件抽象层(HardwareAbstractLayer,HIAL):对于开发嵌入式操作系统的工程师而言,倾向于将BSP看成是对硬件平台的抽象层和处理器的驱动。3BSP结构及组成BSP是一种构建于硕件平台之上,服务于操作系统核心的软
6、件层,被包括在很多C语言以及汇编语言文件中,功能从大体上可以分为硬件、软件初始化、内核映像的下载和设备驱动。WindowsCEBSP结构图(-)OAL层OAL也就是OEM适配层,介于WinCE内核和硬件平台之间的软件层,负责硬件平台与操作系统之间的通信,创建OAL也就是完成一些函数,这些函数一部分用于内核与硬件设备如串口、以太网口、计时器等的通信,另一部分用于设备硬件启动的初始化、硬件中断的控靠4等。OAL中还包括BootLoader,这是平台的启动代码。(二)BootLoader在PC机中,开机后
7、首先执行的是BIOS(一段固件程序),进行硬件检测和资源分配后,并将硬盘MBR屮的BootLoader读到系统的RAM屮,然后将控制权交给操作系统的BootLoader。BootLoader的主要运行任务就是将内核映从硬盘上读到RAM中,然后跳转到内核的入口点去运行,也即开始启动操作系统。在嵌入式系统中,也需要设计一个与8loS功能相类似的软件,这个软件就是BootLoader,它是在操作系统内核运行之前运行的一段小的单独的程序代码,负责加载启动整个系统。BootLoader通常是存放于ROM或FL
8、ASH中的,它进行便件设备的初始化、建立内存空间的映射图,从而将系统的软硬件环境带到〜个合适的状态,以便为最终调用操作系统内核准备好止确的环境。WinCE.NET的BootLoader主要用于肩动硬件和下载内核映像文件NK.bin到弱标板上。困为BootLoader是严重地依赖于硬件而实现的,医此根据自己的硬件平台设计创建一款功能完善的BootLoader,是开发WinCE.NET系统BSP的第一步,也是极为关键的一步。(三)设备驱动这里的设各驱动是指平台上各种外设驱
此文档下载收益归作者所有