新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 可移植的嵌入式WEB服务器软件设计

可移植的嵌入式WEB服务器软件设计

作者:时间:2012-03-26来源:网络收藏

引言

随着互联网技术的飞速发展,嵌入式技术在工业生产的过程控制、环境监测以及远程数据采集等方面得到了广泛的应用,通过嵌入在目标设备中的,可以非常方便地获取远程数据,并实现对远程设备的干预,达到对远程现场进行监视和控制的目的。在实际系统中,远程设备往往千差万别,为了在这些目标设备中构建,必须针对不同的系统编写相应的WEB服务器代码,通过采用基于操作系统适配层的中间件技术,可以很好的解决WEB服务器软件在不同系统之间的移植问题,同时改善软件的可维护性。

1、嵌入式软件的可移植问题

主要指把同一软件放置到不同系统平台(如不同的硬件平台或操作系统)并使之正常运行的难易程度,有时候被表述为跨平台性,软件的主要涉及到上面提到的软硬件运行环境。开发出来的程序,如果不用修改或只需极少量的修改便能在其它种类的计算机上运行,就是可移植性好的程序。在当今的软件设计中,为了在不同的产品线上重复使用相同的代码,经常需要将代码从一个平台移植到另一个平台,这种代码的重复利用非常重要,因为它可以缩短软件开发和测试的周期,同时还能减少后期的维护工作。

计算机软件的运行环境有两个方面——硬件环境和软件环境。硬件环境主要涉及计算机的硬件体系结构,比如X86体系结构、ARM体系结构、MIPS体系结构等,不同的体系结构其指令系统、中断处理、寄存器组织、总线读写等都存在一定的差别;软件环境指的是软件依赖的操作系统。嵌入式应用需求多样,操作系统种类也非常丰富,常见的有 VxWorks、Nucleus、WinCE、Linux/uClinux、eCos、uC/OS-II、ThreadX、Hopen和Delta等,不同的操作系统都会提供一些系统服务,比如任务创建和管理、任务间件通讯等,但各个操作系统在具体实现时会存在一些差异,其对外提供的系统服务接口也有不同,比如创建任务的系统调用:VxWorks为taskSpawn,Nucleus为NU_Create_Task,为了编写具有最广泛适应性的可移植代码,开发人员必须注意到这些差异,并且采取适当的策略,来开发具有良好可移植性的软件,使用一个称为操作系统适配层的中间件可以很好的解决这个问题。

中间件(Middleware)是位于平台(硬件、操作系统)和应用程序之间的一组通用服务,这些服务具有标准的程序接口和协议,针对不同的操作系统和硬件平台,它们可以有符合接口和协议规范的多种实现。基于中间件模型,需要对软件模块进行一下简单的重构:界面与功能模块分离,在模块化的软件中,界面要求以独立的模块出现,它与功能模块之间可以根据具体的情况采用API调用或者消息等通讯机制来进行交互,这样在进行界面修改时可以不修改软件的其他部分;同时功能模块不直接调用操作系统的服务函数,而是调用中间件提供的处理函数,通过中间件实现与操作系统、硬件以及人机界面之间的交互,这样整个软件的框架就变成如下结构:

基于中间件的软件结构图


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭