ImageVerifierCode 换一换
格式:DOC , 页数:5 ,大小:25.50KB ,
资源ID:1623889      下载积分:10 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.docduoduo.com/d-1623889.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(嵌入式系统硬件抽象层的建立及软件的可移植性设计.doc)为本站会员(kuailexingkong)主动上传,道客多多仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知道客多多(发送邮件至docduoduo@163.com或直接QQ联系客服),我们立即给予删除!

嵌入式系统硬件抽象层的建立及软件的可移植性设计.doc

1、 嵌入式系统硬件抽象层的建立及软件的可移植性设计嵌入式系统硬件抽象层的建立及软件的可移植性设计嵌入式系统硬件抽象层的建立及软件的可移植性设计嵌入式系统论文 嵌入式系统硬件抽象层的建立及软件的可移植性设计摘要:在阐述嵌入式系统软件设计方法的基础上,介绍嵌入式系统底层软件可移值性设计和硬件抽象层的建立;举例说明利用此思想的嵌入式软件的设计及测试过程。 关键词:设备驱动程序 嵌入式系统 软件设计 可移植性1 嵌入式系统设计由于嵌入式系统有着体积小、功能集中、可靠性高等优点,已被广泛地应用到日常生活的各个方面,如移动通信、工业控制、医疗器械,家用电器等。如何缩短嵌入式系统的开发周期,降低开发成本,以及

2、提高产品的可靠性已成为嵌入式行业普遍关注的问题。在嵌入式系统设计中,通常采用以下设计方法。(1)瀑布模式开发过程瀑布模式开发过程工作模式简单,任务的划分协调及人员安排、物质材料的分配管理都比较容易。如图 1 所示,开发过程为从硬件到软件的流水线式进行。此类开发方式有以下特点: 小系统,如利用 8051 控制的低速率信号采集等; 开发所需人力、物力资源有限,一般 1 个或几个人即可完成; 要求开发人员对软、硬件设计和制作都比较熟悉; 对开发周期要求不高,此类开发过程无疑会使用最长的开发周期; 在开发过程中,任一环节的阻塞都会影响其它环节的开发。(2)V 模式开发过程V 模式开发过程为一种并行的工

3、作方式,任务的划分协调及人员安排、物质材料的分配都必须考虑不同工作内容,如图 2 所示。开发过程为硬件和软件同时进行,最后联合调试。此类开发方式有以下特点: 大系统,如利用 PowerPC 等处理器设计的交换/访问设备; 开发人力、物力资源比较丰富; 开发人员分工比较明确,软件开发者可不需了解太多的硬件信息,而硬件开发人员对软件也可不做太多了解; 有利于缩短开发周期; 在开发过程中,软、硬件设计独立进行。 硬件开发的阻塞不会影响软件开发过程,同样,软件开发的阻塞不会影响硬件的开发过程。但在 V 模式开发过程中,仍存在以下问题: 设备驱动程序的可移值性差,与硬件和操作系统均有密切相关性; 软件测

4、试需要等硬件完成以后才能进行; 对于每个设备驱动程序设计人员都需有软件和硬件的知识背景; 在测试过程中,很难判断错误是由硬件还是由软件造成的。为了克服 V 模式开发过程中的上述问题,本文将 V 模式开发过程稍作改进,增加了硬件抽象层,对系统软硬件起到隔离作用,从而提高系统软件的可移值性及有效地利用人力资源、缩短开发周期和提高产品的可靠性。2 基于硬件抽象层的系统软件设计特性(1)包含硬件抽象层的系统结构比较图 3 和图 4,硬件抽象层完全把系统软件和硬件部分隔离开来,这样就使得系统的设备驱动程序与硬件设备无关,从而大大提高了系统的可移植性。从软硬件测试角度来看,软硬件的测试工作都可分别基于硬件

5、抽象层来完成,使得软硬件的测试工作的并行进行成为可能。在抽象层的定义方面,需要规定统一的软硬件接口标准,其设计工作需要基于系统需求来做,代码工作可由对硬件比较熟悉的人员来完成。抽象层一般应包含相关硬件的初始化、数据的输入/输出操作、硬件设备的配置操作等功能。(2)包含硬件抽象层的系统开发过程如图 5 给出的包含硬件抽象层 V 模式开发过程,在系统需求分析并定义了软硬件各自的设计要求以后,就需要花费一定的时间来定义硬件抽象层的接口,以确保硬件设计和测试与软件设计和测试工作能够在相同的接口上进行,从而有利于最终的软硬件集成测试。从图 5 可以看出,在基于硬件抽象层的 V 模式开发过程,软硬件的设计

6、和调试具有无关性,并可完全地并行进行。硬件的错误不会影响到系统软件的调试,同样软件设计的错误也不会影响硬件的调试工作,这样就可大大缩短系统的测试周期和提高系统的可靠性。(3)硬件抽象层的特点硬件抽象层接口的定义和代码设计应具有以下特点: 硬件抽象层具有与硬件密切相关性; 硬件抽象层具有与操作系统无关性; 接口定义的功能应包含硬件或系统所需硬件支持的所有功能; 接口定义简单明了,太多接口函数会增加软件模拟的复杂性; 具有可测性的接口设计有利于系统的软硬件测试和集成。3 硬件抽象层的设计示例硬件抽象层接口的设计一般应包含以下几个步: 分析接口的数据传输特性(双向/单向数据传输,字节型/ 数据帧型传

7、输模式); 分析接口配置属性; 定义接口所需的相关函数。下面给出以字符为单位进行数据传输的 UART 接口硬件抽象层的接口定义内容: 设备初始化函数BOOL InitDevice(Device_Register *regs, Device_Attribute *attr) 第一个参数为指向设备寄存器结构的指针,用来索引设备的相关寄存器。 第二个参数为一个设备属性的结构,用于描述设备初始化设置的属性(波特率、校验位等等)。 函数返回一个布尔类型,用于描述初始化过程的正确性。 设备字符输入BOOL ReadDevice(Device_Register *regs, unsigned char *c

8、) 第一个参数为指向设备寄存器结构的指针,用来索引设备的相关寄存器。 第二个参数为指向字符的地址空间,用于保存设备输入的字符。 函数返回一个布尔类型,用于描述设备字符输入的正确性。 设备字符输出BOOL WriteDevice(Device_Register *regs, unsigned char c) 第一个参数为指向设备寄存器结构的指针,用来索引设备的相关寄存器。 第二个参数为设备所要输出的字符。 函数返回一个布尔类型,用于描述设备字符输出的正确性。 设备属性设置BOOL SetDevice(Device_Register *regs, Device_Attribute *attr) 第一个参数为指向设备寄存器结构的指针,用来索引设备的相关寄存器。 第二个参数为一个设备属性的结构,用于描述设备初始化设置的属性(波特率、校验位等等)。 函数返回一个布尔类型,用于描述设备属性设置的正确性。4 结 论以上所述的是作者在多年嵌入式系统开发中所总结出的开发流程,并在实践应用中起到了很好的效果。相信在一个较为复杂的嵌入式系统开发过程中,很好地利用上述开发流程,将会有利于提高系统的可移植性、减少产品的开发和测试周期,并能很好地保证产品的可靠性。

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报