您好, 访客   登录/注册

嵌入式系统当前开发方法及其启示

来源:用户上传      作者: 赵永葆 丁宏伟

  摘 要:分析了嵌入式软件工程及其开发难点和开发方法,最后对结构化的嵌入式软件开发方法、面向对象的嵌入式系统开发方法和构件化的嵌入式软件开发方法进行比较分析,并得出结论:有必要对面向硬件模块的嵌入式系统开发方法进行系统研究,即嵌入式硬件构件的开发方法和基于硬件的底层软件的开发方法,以提高硬件系统的开发效率、可靠性及重用性,便于系统维护。
  关键词:嵌入式系统;开发方法;启示
  中图分类号:TP311.52 文献标识码:A
  
  The Method And the Development of Embedded System
  ZHAO Yong-bao,DING Hong-wei
  (Hebei Software Vocational and Technical College,Hebei Baoding 071000)
  Key words: embedded system.;development method;enlightenment
  
  1 嵌入式软件工程及其开发难点
  
  1.1软件工程与嵌入式软件工程
  软件工程是指应用计算机科学理论和技术以及工程管理原则和方法,按照预算和进度,实现满足用户要求的软件产品的定义、开发、发布和维护的工程或以之为研究对象的学科。软件工程的目标是提高软件的质量与生产率,最终实现软件的工业化生产。
  嵌入式软件工程就是软件工程思想在嵌入式软件系统开发中的应用。与普通软件工程不同,嵌入式软件工程研究的重点是对具有实时性约束的嵌入式软件系统提供软件设计方法论、工程开发技术以及相应的辅助工具,它具有实时性、可靠性、并发性、可嵌入性以与软硬件紧密结合等特点。
  1.2嵌入式软件开发的难点
  随着技术的进步和需求的扩大,嵌入式系统的规模越来越大,嵌入式软件的复杂度和开发难度也随之不断增加。目前,嵌入式软件开发的难点主要有如下几点:
  (1)嵌入式系统的一个最大特点就是软硬件紧密结合,为此,嵌入式软件(尤其是嵌入式底层软件)的设计和验证要充分考虑硬件因素。
  (2)嵌入式软件运行在特定的硬件体系和环境中,在进行设计时,不但需要考虑各个节点间的通信和同步问题,还需要考虑整个系统的时序问题。
  (3)嵌入式产品广泛的应用于工业、军事和航空航天等领域,这使得嵌入式系统对可靠性、防危性、和容错性等功能有更苛刻的要求,丢失数据在许多情况下是不可容忍的。
  
  2 结构化的嵌入式软件开发方法分析
  
  目前,结构化的软件设计方法是嵌入式软件设计领域中理论最成熟、使用最广泛的方法。结构化程序就是指程序组成结构化、功能模块化、执行流程化,要求将特定任务的代码和数据与程序其余部分相分割,实现分割的方法是将处理特定任务的指令和数据设计成子程序或中断服务子程序,这些子程序或中断服务子程序称作功能模块,具有特定功能、可处理特定任务、能解决专门问题。结构化的嵌入式软件设计流程是:按照系统总体规划和总体设计,由设计人员分别编程设计各功能模块;接着依据软件结构和程序流程,将功能模块组成结构化程序,实现系统整体功能,满足系统要求,解决实际问题。
  
  3 面向对象的嵌入式系统开发方法分析
  
  嵌入式系统大都采取分层结构设计,并允许根据需要对不同的层次进行重写和替换。抽象接口是在抽象层定义的,不依赖于任何特殊硬件。所有顶层的操作和输入处理都建立在抽象接口之上。这种分层结构实际上就是一种面向对象的程序结构,其目的是将底层实际的不同驱动抽象成对上层的统一接口。进程管理、线程管理、内存管理、设备管理等也可以抽象成为统一的接口,方便嵌入式系统的开发。
  
  4 构件化的嵌入式软件开发方法分析
  
  面向对象的嵌入式软件开发大大提高了对大而复杂的软件系统的适用性,并且通过其继承、多态、重载等功能提高了软件的重用性,但是这种重用性主要是在源代码级别。要达到使软件像硬件一样在生产线上生产出来,应该强调被重用的软件单元其内部的实现对使用者不可见,也就是说使用者完全感觉不到重用体内部的变化。为此,在面向对象的基础上,提出来构件的概念。
  嵌入式构件被定义为:被标准化的、具有重用性、支持Qos的、能够提供实时应用的软(或硬)件资源。而嵌入式软件构件定义为:实现一定嵌入式系统功能的一组封装的、规范的、可重用的、具有嵌入特性的软件单元,是组织嵌入系统的功能单位。通过分析得到嵌入式软件的构件化开发流程。
  
  5 三种开发方法的比较分析
  
  自从结构化的、面向对象的、构件化的软件开发出现以来,它们的优劣一直是人们争论的焦点。下面,从多个角度给出三种开发方法的特点分析,设计者可以根据具体的系统需求选择合适的开发方法。
  (1)执行效率:结构化方法比面向对象、构件化方法的执行效率要高,因为它可以产生更直接、效率更高的代码,所以对于一些嵌入式的系统,结构化方法产生的系统更小、运行效率更高。
  (2)可重用性:结构化设计方法中各功能通过接口与外界交互,当接口发生变化时往往造成系统结构较大变动,难以扩充新的功能接口,因此结构化的设计方法复用性差;面向对象和构件化设计方法分别通过调用对象和构件来设计系统,遇到类似的问题时,只需要根据要求修改对象或构件即可,因此这两种方法具有很好的可重用性。
  (3)理论基础和知识难度:经过多年的发展,结构化的软件开发方法不论在理论上还是在实际应用中,都得到了充分的发展,理论知识十分丰富;而面向对象技术和构件化技术近几年也发展迅速,但是仍有很大的发展空间。
  
  6 结束语
  
  通过前面的分析可以看出,现有的嵌入式开发方法多集中在嵌入式软件开发方面,尤其是基于嵌入式操作系统的嵌入式应用软件开发。而嵌入式系统开发区别与普通软件开发的最大之处就是:嵌入式系统是软硬件紧密结合的系统,所有的嵌入式软件(嵌入式应用程序和嵌入式操作系统)都必须运行在特定的硬件体系上。因此,有必要对面向硬件模块的嵌入式系统开发方法进行系统研究,即嵌入式硬件构件的开发方法和基于硬件的底层软件的开
  发方法,以提高硬件系统的开发效率、可靠性及重用性,便于系统维护。
  
  参考文献:
  [1]许晨辉.嵌入式软构件技术的研究与应用[D].西北工业大学,2003.
  [2]王宜怀,刘晓升.嵌入式技术基础与实践[M].北京:清华大学出版社,2007.
  [3]魏仁选,周祖德,姜德生.软件重用与移植的比较研究[J].计算机工程与应用,2002,(21):42-45.


转载注明来源:https://www.xzbu.com/8/view-46107.htm