以文本方式查看主题 - 曙海教育集团论坛 (http://sun4.cn/bbs/index.asp) -- 嵌入式硬件技术讨论专区 (http://sun4.cn/bbs/list.asp?boardid=15) ---- 嵌入式系统硬件抽象层的建立 (http://sun4.cn/bbs/dispbbs.asp?boardid=15&id=1502) |
-- 作者:wangxinxin -- 发布时间:2010-11-19 10:25:57 -- 嵌入式系统硬件抽象层的建立 1 嵌入式系统设计 由于嵌入式系统有着体积小、功能集中、可靠性高等优点,已被广泛地应用到日常生活的各个方面,如移动通信、工业控制、医疗器械,家用电器等。如何缩短嵌入式系统的开发周期,降低开发成本,以及提高产品的可靠性已成为嵌入式行业普遍关注的问题。在嵌入式系统设计中,通常采用以下设计方法。 (1)瀑布模式开发过程 瀑布模式开发过程工作模式简单,任务的划分协调及人员安排、物质材料的分配管理都比较容易。开发过程为从硬件到软件的流水线式进行。此类开发方式有以下特点: ◇ 小系统,如利用8051控制的低速率信号采集等; V模式开发过程为一种并行的工作方式,任务的划分协调及人员安排、物质材料的分配都必须考虑不同工作内容, 开发过程为硬件和软件同时进行,最后联合调试。此类开发方式有以下特点: 但在V模式开发过程中,仍存在以下问题: ◇ 设备驱动程序的可移值性差,与硬件和操作系统均有密切相关性; 为了克服V模式开发过程中的上述问题,本文将V模式开发过程稍作改进,增加了硬件抽象层,对系统软硬件起到隔离作用,从而提高系统软件的可移值性及有效地利用人力资源、缩短开发周期和提高产品的可靠性。 2 基于硬件抽象层的系统软件设计特性 (1)包含硬件抽象层的系统结构 硬件抽象层完全把系统软件和硬件部分隔离开来,这样就使得系统的设备驱动程序与硬件设备无关,从而大大提高了系统的可移植性。从软硬件测试角度来看,软硬件的测试工作都可分别基于硬件抽象层来完成,使得软硬件的测试工作的并行进行成为可能。在抽象层的定义方面,需要规定统一的软硬件接口标准,其设计工作需要基于系统需求来做,代码工作可由对硬件比较熟悉的人员来完成。抽象层一般应包含相关硬件的初始化、数据的输入/输出操作、硬件设备的配置操作等功能。 (2)包含硬件抽象层的系统开发过程 在系统需求分析并定义了软硬件各自的设计要求以后,就需要花费一定的时间来定义硬件抽象层的接口,以确保硬件设计和测试与软件设计和测试工作能够在相同的接口上进行,从而有利于最终的软硬件集成测试。 在基于硬件抽象层的V模式开发过程,软硬件的设计和调试具有无关性,并可完全地并行进行。硬件的错误不会影响到系统软件的调试,同样软件设计的错误也不会影响硬件的调试工作,这样就可大大缩短系统的测试周期和提高系统的可靠性。 (3)硬件抽象层的特点 硬件抽象层接口的定义和代码设计应具有以下特点: 3 硬件抽象层的设计示例 硬件抽象层接口的设计一般应包含以下几个步: 下面给出以字符为单位进行数据传输的UART接口硬件抽象层的接口定义内容: ◇ 设备初始化函数 4 结 论 以上所述的是作者在多年嵌入式系统开发中所总结出的开发流程,并在实践应用中起到了很好的效果。相信在一个较为复杂的嵌入式系统开发过程中,很好地利用上述开发流程,将会有利于提高系统的可移植性、减少产品的开发和测试周期,并能很好地保证产品的可靠性。 |