嵌入式系统硬件抽象层的建立及软件的可移植性设计
关键词:设备驱动程序 嵌入式系统 软件设计 可移植性
1 嵌入式系统设计
由于嵌入式系统有着体积小、功能集中、可靠性高等优点,已被广泛地应用到日常生活的各个方面,如移动通信、工业控制、医疗器械,家用电器等。如何缩短嵌入式系统的开发周期,降低开发成本,以及提高产品的可靠性已成为嵌入式行业普遍关注的问题。在嵌入式系统设计中,通常采用以下设计方法。
(1)瀑布模式开发过程
瀑布模式开发过程工作模式简单,任务的划分协调及人员安排、物质材料的分配管理都比较容易。如图1所示,开发过程为从硬件到软件的流水线式进行。此类开发方式有以下特点:
◇ 小系统,如利用8051控制的低速率信号采集等;(凹丫丫范文网fanwen.oyaya.net收集整理)
◇ 开发所需人力、物力资源有限,一般1个或几个人即可完成;
◇ 要求开发人员对软、硬件设计和制作都比较熟悉;
◇ 对开发周期要求不高,此类开发过程无疑会使用最长的开发周期;
◇ 在开发过程中,任一环节的阻塞都会影响其它环节的开发。
(2)V模式开发过程
V模式开发过程为一种并行的工作方式,任务的划分协调及人员安排、物质材料的分配都必须考虑不同工作内容,如图2 所示。
开发过程为硬件和软件同时进行,最后联合调试。此类开发方式有以下特点:
◇ 大系统,如利用PowerPC等处理器设计的网络交换/访问设备;
◇ 开发人力、物力资源比较丰富;
◇ 开发人员分工比较明确,软件开发者可不需了解太多的硬件信息,而硬件开发人员对软件也可不做太多了解;
◇ 有利于缩短开发周期;
◇ 在开发过程中,软、硬件设计独立进行。 硬件开发的阻塞不会影响软件开发过程,同样,软件开发的阻塞不会影响硬件的开发过程。
但在V模式开发过程中,仍存在以下问题:
◇ 设备驱动程序的可移值性差,与硬件和操作系统均有密切相关性;
◇ 软件测试需要等硬件完成以后才能进行;
◇ 对于每个设备驱动程序设计人员都需有软件和硬件的知识背景;
◇ 在测试过程中,很难判断错误是由硬件还是由软件造成的。
为了克服V模式开发过程中的上述问题,本文将V模式开发过程稍作改进,增加了硬件抽象层,对系统软硬件起到隔离作用,从而提高系统软件的可移值性及有效地利用人力资源、缩短开发周期和提高产品的可靠性。
2 基于硬件抽象层的系统软件设计特性
(1)包含硬件抽象层的系统结构
比较图3和图4,硬件抽象层完全把系统软件和硬件部分隔离开来,这样就使得系统的设备驱动程序与硬件设备无关,从而大大提高了系统的可移植性。从软硬件测试角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件的测试工作的并行进行成为可能。在抽象层的定义方面,需要规定统一的软硬件接口标准,其设计工作需要基于系统需求来做,代码工作可由对硬件比较熟悉的人员来完成。抽象层一般应包含相关硬件的初始化、数据的输入/输出操作、硬件设备的配置操作等功能。
(2)包含硬件抽象层的系统开发过程
如图
《嵌入式系统硬件抽象层的建立及软件的可移植性设计》