【delphi开源代码栏目提醒】:网学会员在delphi开源代码频道为大家收集整理了“嵌入式系统软件复用技术的研究 - 网络与通信“提供大家参考,希望对大家有所帮助!
南京理工大学 硕士学位
论文嵌入式系统软件复用技术的研究 级别:硕士 专业:计算机应用技术 指导教师:符意德 20060501 硕士
论文 嵌入式系统软件复用技术的研究 摘要 目前,嵌入式产品市场的增长速度惊人,吸引了越来越多的公司的参与,全球嵌入式产品市场的竞争也日趋激烈。
我们日益需要一种高效率的嵌入式软件开发方法,对嵌入式软件复用技术的研究具有重要的意义和实用价值。
本文先对嵌入式系统的软硬件作了详细的介绍,然后介绍了软件复用的过程和分类,并对常用软件复用技术的特点作了分析和介绍.在对常见的源码复用技术进行分析后,给出了源码构件复用技术的设计思路,然后为源码构件复用技术建立了模型。
接着给出了模型的实现方法和辅助工具的。
在最后实现了一个源码构件的实例对源码构件复用技术的复用过程进行验证。
源码构件复用技术是源码复用技术的一种,具有源码复用技术所拥有的适合嵌入式系统的优点。
同时,它又具有一般的源码复用技术所没有的优点:参数化、标准化的复用接口;可视化工具的辅助;语言无关性;以构件库的方式管理和选择。
而且它还能比较容易地被集成到常用的集成开发环境中,具有易于实践的特点。
关键词:软件复用嵌入式系统源码构件 硕士
论文 嵌入式系统软件复用技术的研究 Abstract Many锄∞erpri∞s in the whole world are attracted by the rapidly growing market share of embedded systems,which result in greater market compotidoa We need a n哪 efficient sol,ware development method for the embedded system.The study On the Soflwa砖1,e=l:15e for embedded system would bring a number of advantages to theembedded systems world. In this thesis,firstly,hardware and 501。
胁of embedded system is in臼oduced;secondly,the author introduces classification and procedure of sofh哪reuse;thenanalyses the features of colnnlon software rvuse technology.After锄_aly五ng fmiHarsource code l七use technology,the thinkillg path of source component Il孔lse technology isOven;then modeling for source component r朗lse technology;then give the method ofimplementing the model and豫u辩assistant tools;at last there is an example of SOurcecomponent to validate the procedure ofSOurce component r朗鹏technology. As SOurce component n乳lse technology belongs to Source code nH麟technology,ithas advantages of SOurce code reuse for embedded system.And it also has advantagest&at soRrce code r吼lse doesn’t have.such as:parameterize and standardize髓虹se interface;assistant with visual tools;be independent of progmummg language;management andsearch supported by component base.And it could be integrated in familiar IDE easily,SOit Can be carried out easily.Key words:Software Reuse Embedded System Source Component Ⅱ 声明 本学位
论文是我在导师的指导下取得的研究成果,尽我所知,在本学位
论文中,除了加以标注和致谢的部分外,不包含其他人已经发表或公布过的研究成果,也不包含我为获得任何教育机构的学位或学历而使用过的材料。
与我一同工作的同事对本学位
论文做出的贡献均已在
论文中作了明确的说明。
研究生签名: 学位
论文使用授权声明 南京理工大学有权保存本学位
论文的电子和纸质文档,可以借阅或上网公布本学位
论文的部分或全部内容,可以向有关部门或机构送交并授权其保存、借阅或上网公布本学位
论文的部分或全部内容。
对于保密
论文,按保密的有关规定和程序处理。
硕士
论文 嵌入式系统软件复用技术的研究 第一章绪论I.1选题背景及意义 嵌入式系统是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗等综合性严格要求的专用计算机系统11l。
目前,嵌入式系统的广泛应用已经渗入到我们日常生活的各个方面。
在手机、MP3、PDA、数码相机、电视机,甚至电饭锅、手表里都有嵌入式系统的身影;工业自动化控制、仪器仪表、汽车、航空航天等领域更是嵌入式系统的天下.这一切无不向我们昭示着嵌入式时代的到来。
嵌入式系统通常由硬件和软件两部分组成,硬件包括微处理器、存储器及各种外部设备,如显示器、触摸屏、键盘等,其核心为嵌入式微处理器;软件包括作为开发平台的嵌入式操作系统和在此基础上开发的应用程序.如果将嵌入式系统比作一名能干的专业人员,那么硬件就是他的肉体,而软件就相当于他的专业技能。
软件的运行离不开硬件的支持,系统主要依靠软件来实现各种功能以满足千差万别的应用需求. 随着电子技术的不断进步和发展,各类硬件的性能不断提升,而成本却不断下降。
硬件的日益成熟和稳定让嵌入式软件成为产品的数字化改造、智能化增值的关键性、带动性技术,软件在嵌入式系统的开发时间和开发成本中所占的比重也越来越大。
因此,掌握先进的软件开发技术意味着能在这汹涌而来的嵌入式浪潮中占据先机。
然而,我国嵌入式软件开发的现状不容乐观,大部分还是处于手工作坊式的开发,面对层出不穷的应用需求和激烈竞争的压力,显得有点应付乏力。
主要表现在如下几方面: 1)开发效率低、重复劳动难以消除、软件可靠性得不到保障。
软件开发在整个嵌入式系统的开发周期中占据了绝大部分的时间,但软件的开发效率很难有显著的提高,使软件开发面临着巨大的时间表压力.但不同的应用开发中却存在着大量的重复劳动,而这些重复劳动又很难消除或用合适的工具来自动完成。
同时,软件规模进一步扩大,但缺乏有效的手段来保障软件的可靠性; 2)大量遗留
代码成为鸡肋。
由于对现存的大量
代码的使用缺乏合适工具的支持,复用工作困难,使它们变成“食之无味,弃之可惜”的鸡肋; 3)复用技术的推广应用受非技术因素的制约。
由于大部分开发人员缺乏系统的软件工程知识,软件复用的意识淡薄,使得软件复用技术的推广面临管理、文化等非技术因素的困扰; 4)软件开发缺乏合适的技术和工具的支持。
由于种种原因(知识产权、技术封 预士
论文 嵌入式系统软件复用技术的研究锁、商业利益等)许多国外先进的技术和工具没有在国内的嵌入式软件开发中得到推广和使用. 因此,研究一种低成本、易于实践的嵌入式软件复用技术具有一定的理论意义和实用价值.1.2发展历史和研究现状1.2.1发展历史 软件复用是指用现存的软件元素构造新的软件系统。
这里的软件元素不仅是指源
代码段,而且还指在软件开发过程中产生的所有中阃工作产品,如需求分析
文档,系统规格说明、详细设计
文档和开发者创建软件所需要的任何信息等闭. 60年代的软件危机导致了有关软件复用的研究.在1968年NATO软件工程学术会议上,D.Mcllroy在他的
论文中首次提出可复用软件库的思想,和以不同精确度定制构件的自动化技术12】.这个时期是软件复用的萌芽时期,由于软件复用能够提高软件开发的劳动生产率,提高软件系统的可靠性,减少维护的负担,从一开始,软件复用就被认为是摆脱“软件危机”的一种手段,并受到广泛的重视。
1969年,日本日立公司成立了世界上第一个“软件工厂”,确立了两个目标:一是通过使生产过程标准化和对生产过程控制来提高生成率和可靠性;二是使软件从无组织的服务活动向着生产质量有保证的产品转变〔21。
软件工厂的出现标志着软 ’‘件工程和软件复用开始在实际的
软件开发生产中得到实践。
1979年,Lanergan在发表的
论文中对其一个项目进行总结,发现设计和
代码中有60%的冗余,可标准化并被复用,这一发现使得软件复用技术引起了人们的高度关注。
这之后,其他人也通过研究发现商业、金融等系统的大部分逻辑结构和设计模式都可以通过对这些模块的标准化而得到复用。
1983年,HedBiggersmffA和AlanPefis在美国的Newport组织了第一次有关软件复用的研讨会,随后在1984、1987年,美国mEE Transactions On SoftwareEngineering和IEEE Software分别出版了有关软件复用的专集。
1988年,V.Basili扩充了复用的定义,涵盏“使用与软件工程设计有联系的任何东西,包括知识在内”。
这种新观点开启了其他学科研究的新思路,并且使人们认识到复用
问题无所不在. 1991年,第一届国际软件复用研讨会(IWSR)在德国举行. 90年代后,面向对象技术的崛起给软件复用技术带来了新的希望,出现了类库、组件,框架等新的复用方式。
现在,有关软件复用的基本概念不断完善,软件复用技术和方法也日渐成熟。
2 硕士
论文 嵌入式系统软件复用技术的研究人们还认识到管理、
经济、文化和法律等非技术性因素同样重要,有必要将所有这些因素综合起来。
使之成为规范化的复用概念。
1.2.2研究现状 经过近四十年的发展,软件复用在领域工程、构件及构件库的标准化、构件组装技术、基于复用的软件开发过程和复用成熟度模型等方面取得了斐然的成就.这些技术在通用软件开发中已得到了广泛的应用。
具有代表性的是:出现了有统一的平台和标准支持的组件和框架技术;出现了一批生产中间件的厂商,他们所提供的中间件在很多软件开发中得到复用;许多集成开发环境中也包含有软件复用技术,为开发者提供了使用方便、性能可靠的组件和框架,如:Microsoft公司visual S.tudio、Borland公司的Delphi、C++Builder等。
由于早期的嵌入式系统缺乏统一的平台和标准的支持,各种复用技术的应用和普及远不如通用软件开发领域那样。
随着软硬件技术的发展,复用技术在嵌入式软件开发中的应用和普及取得了显著的进步。
遵循POSIX(Portable Operating System tnterface)标准的RTOS(实时操作系统)的出现为
代码在不同应用问的移植和复用提供了坚实的基础。
特别是不少基于
开源操作系统Linux的RTOS的出现后,开发人员可以从网上下载很多可以复用的
代码段.如:新墨西哥工学院的RT-Linux、堪萨斯大学的KURT-Linux等. 风河公司(W’md River)发起的DSO(Device Software Optimization)项目致力于整个行业的技术、工具和过程的标准化,为软件复用创建一个包含开放标准的模型。
国外出现了不少嵌入式软件复用研究机构。
如;美国Maryland大学的实时系统软件工程实验室(sERTs Lab),该实验室在RTOS与CASE工具等方面取得了不少成果。
如:开发的Echidna是一个可重配置的基于组件的RTOS,能够在微处理器与DSP上支持组件复用技术. 国内在嵌入式软件复用技术的研究上也取得了不小的成就,如:浙江大学嵌入式系统研究中心研制的SMART系统就是一个支持区域的嵌入式构件复用的平台. 除了上述各种技术外,
网络上还出现了为嵌入式软件复用提供服务的中间商,如:Proven Software Solution公司就是第一个提供该服务的中间商,他们收集可以被复用的嵌入式源
代码模块,供开发人员下载复用,并收取一定的费用。
硕士
论文 嵌入式系统软件复用技术的研究1.3研究内容及所做
工作1.3.1研究内容 本文主要研究:嵌入式软件复用技术;源码构件复用技术的模型;源码构件复用技术的实现方法;复用辅助工具的.1.3.2所做工作 先对嵌入式系统和软件复用技术进行了研究。
然后根据现状并结合嵌入式软件的特点,
设计出源码构件复用技术的模型。
接着给出实现该模型的具体
方案,包括如何对现有源
代码进行归纳和抽象,如何以计算机可以处理的方式表示源码构件和构件库,如何用x儿定义的标记语言包装源码构件,如何在工具辅助下进行源码构件的制作、选择和使用。
然后给出了复用辅助工具的实现方法.最后,用源码构件复用技术实现了一个源码构件的实例一一键盘扫描构件.1.4
论文组织 本文共分为七章,各章的主要内容分别为: 第一章绪论 对本文的选题背景及意义、研究内容和
论文组织等进行综述. 第二章嵌入式系统与软件复用技术 本章先介绍了嵌入式系统,包括嵌入式系统的硬件、处理器、软件和实时多任务操作系统。
然后介绍了软件复用,包括软件复用的过程和分类,以及常见的复用技术的介绍和特点分析。
第三章源码构件复用技术的设计 本章先根据嵌入式软件的特点和研究现状解释为什么选择源码复用作为本文要研究的复用技术.然后对
常用的源码复用技术进行分析,针对它们的不足提出源码构件复用技术的思路。
接着为源码构件复用技术建立用数学语言描述的模型。
第四章源码构件复用技术的实现 本章先讲述了源码构件的实现方法,包括源码构件中各个部分的实现方法和如何用X〕vlL语言定义的标记语言来包装构件中的各个部分。
接着给出了构件库的实现方法。
最后介绍了源码构件复用过程中的三个阶段是怎么实现的. 第五章复用辅助工具的 本章先介绍了复用辅助工具的整体。
接着介绍了工具中各个部分的实现方法。
最后以实例讲述了如何将这个工具集成到集成开发环境中. 4 硕士
论文 嵌入式系统软件复用技术的研究 第六章源码构件的实例 在本章中用源码构件复用技术实现了一个源码构件的实例一一键盘扫描构件。
介绍了这个构件的生产和使用过程,并对该实例进行了简要的总结。
第七章总结 对本文进行了总结,并指出了需要进一步研究的内容。
硕士
论文 嵌入式系统软件复用技术的研究 第二章嵌入式系统与软件复用 本章将对
论文中用到的背景知识嵌入式系统和软件复用进行简要的介绍。
2.1嵌入式系统 嵌入式系统一般指非PC系统,有计算机功能但又不称之为
计算机的设备或器材。
简单地说,嵌入式系统集应用软件与硬件于一体,类似于PC中BIOS的工作方式,具有软件
代码小、高度自动化、响应速度快等特点,特别适合于要求实时性的
系统。
嵌入式系统主要由嵌入式处理器,相关支撑硬件、嵌入式软件系统等组成,它是可独立工作的“器件”研。
嵌入式系统由软件和硬件两部分组成,在接下来的内容中先介绍硬件部分和硬件的核心内容一一嵌入式处理器,接着介绍软件部分和软件的核心内容一一实时多任务操作系统.2.1.1嵌入式硬件 不同应用下的嵌入式系统的硬件一般有不同的配置,但它们都是由这三部分组成的:核心处理器、外围电路和外部设备.核心处理器是嵌入式系统的核心部件,负责控制整个嵌入式系统的运行;外围电路包括嵌入式系统的内存、I/O端口、复位电路和电源等;外部设各是整个系统与外晃环境交互的各种设备,包括存储设备、∞设备和打印设备等。
嵌入式系统的硬件主要有如下特点: 1)系统的配置是面向应用的,进行了以应用为中心的裁减,去除一些应用不需要的设备,如某些系统中不需要的工^D设备; 2)体积小,功耗低。
嵌入式系统一般是作为计算或控制模块嵌入到其他的系统或设备中,因此要求尽可能小的体积;而且嵌入式应用一般对功耗比较敏感,特别是用于移动计算和
通信设备中的靠电池供电的嵌入式系统。
6 硕士
论文 嵌入式系统软件复用技术的研究 图2.1.1.1嵌入式系统硬件框图2.1.2嵌入式处理器 嵌入式处理器是嵌入式硬件的核心。
据不完全统计,目前全世界嵌入式处理器的品种总量已经超过1000种,流行的体系结构有30多个系列。
其中8051体系占多半,生产这种单片机的半导体厂家有20多个,共350多种衍生产品,仅Philips就有近100种。
现在几乎每个半导体制造商都生产嵌入式处理器,越来越多的公司有自己的处理器设计部门。
嵌入式处理器的寻址空间一般从64kB到16MB,处理速度为O.I~2000MIPS,常用封装耻144个引脚嘲。
根据现状,嵌入式处理器可分成如下几类: 1)嵌入式微处理器(Embedded Microprocessor Unit,EMPID 嵌入式微处理器的基础是通用计算机的CPU,它在功能方面与标准的微处理器基本上是一样的。
但由于嵌入式系统通常应用于环境比较恶劣的环境中,因而嵌入式微处理器在工作温度、电磁兼容性以及可靠性方面的要求较通用的标准微处理器 7 硕士
论文 嵌入式系统软件复用技术的研究 高。
在实际应用中,根据嵌入式应用的实际要求,将嵌入式微处理器装配在专门设 计的主板上,只保留和嵌入式应用有关的主板功能,这样可以大幅度减小系统的体 积和功耗。
和工业控制计算机相比,嵌入式微处理器组成的系统具有体积小、重量轻、成本低、可靠性高的优点,但在其电路板上必须包括ROM、RAM、总线接口、各种外设等器件,从而降低了系统的可靠性,技术保密性也较差.嵌入式微处理器及其存储器、总线、外设等安装在一块电路主板上所构成的系统就是通常所说的单板机系统.如STD.BUS、PCI04等。
嵌入式处理器目前主要有Aml86/88、386EX、SC-400、Power PC、68000、MIPS,ARM系列等。
2)嵌入式微控制器(Microeontroller Unit,MCU) 嵌入式微控制器又称单片机,它将整个计算机系统集成到一块芯片中。
嵌入式微控制器一般以某种微处理器内核为核心,根据某些典型的应用,在芯片内部集成了ROM/EPROM、RAM、总线、总线逻辑、定时,计数器、看门狗、FO、串行口、A/D、D/A、Flash RAM等各种必要功能部件和外设。
为适应不同的应用需求,对功能的设置和外设的配置进行必要的修改和裁减定制,使得一个系列的单片机具有多种衍生产品,每种衍生产品的处理器内核都相同,不同的是存储器和外设的配置及封装。
这样可以使单片机最大限度地和应用需求相匹配,从而减少整个系统的功耗和成本。
和嵌入式微处理器相比,微控制器的单片化使应用系统的体积大大减小,从而使功耗和成本大幅度下降、可靠性提高。
由于嵌入式微控制器目前在产品的品种和数量上是所有种类嵌入式处理器中最多的,而且上述诸多优点决定了微控制器是嵌入式系统应用的主流。
微控制器的片上外设资源一般比较丰富,适合于控制,因此称为微控制器。
通常,嵌入式微控制器的种类和数量有很多,但一般可分为通用和半通用两类:比较有代表性的通用系列包括8051、P51XA、McS.25l、MCS-96/196/296、C166/167、68300等;而比较有代表性的半通用系列,如支持USB接口的MCU 8XC930/931、C540、C541;支持i2c、CAN总线、LCD等的众多专用MCU和兼容系列。
目前MCU约占嵌入式系统市场份额的70%例. 3)嵌入式DsP处理器(Embedded Digital Signal Proeessor,EDSP) 在数字信号处理应用中,各种数字信号处理算法相当复杂,一般结构的处理器无法实时的完成这些运算。
而DSP处理器对系统结构和指令进行了特殊设计,使其适合于实时地进行数字信号处理。
在数字滤波、FFT、谱分析等方面,DSP处理器得到了大量的使用。
另外,在有关智能方面的应用中,也需要嵌入式DPS处理器, 3 颈士
论文 嵌入式系统软件复用技术的研究例如各种带有智能逻辑的消费类产品,生物信息识别终端,带有加解密算法的键盘,虚拟现实显示等。
这类智能化算法一般都是运算量较大,特别是向量运算、指针线性寻址等较多,而这些正是DSP处理器的优势所在。
嵌入式DSP处理器比较有代表性的产品是Texas〕nslnunents的1MS320系列和Motorola的DSP56000系列。
TMS320系列处理器包括用于控制的C2000系列、移动通信的C5000系列,以及性能更高的C6000和C8000系列。
DsP56000目前已经发展成为DSP56000、DSP56100、DSP56200和DSP56300等几个不同系列的处理器。
4)嵌入式片上系统(System On Chip,SOO EDI、VLSI设计和半导体工艺的迅速发展,使得在一块硅片上实现一个更为复杂的系统成为可能,这就是SOC(System On CUp)技术.SOC技术使嵌入式系统的大部分均可集成到一块或几块芯片中去,使应用系统电路板变得很简洁,对于减小整个应用系统体积和功耗、提高可靠性非常有利。
SOC可分为通用和专用两类。
通用SOC如Infineon(Siemens)的TriCore、Motorola的M.Core,以及某些ARM系列器件,如Echelon和Motorola联合研制的Neuron芯片等。
专用SOC一般专用于某个或某类系统中,如Philips的Smart XA,它将XA单片机内核和支持超过2048位复杂RSA算法的cCU单元制作在一块硅片上,形成一个可加载Java或C语言的专用SOC,可用于互联网安全方面。
2.1.3嵌入式软件 软件部分包括操作系统(在一些应用中也可能没有)和应用
程序。
应用程序实现系统的功能,而操作系统主要控制着应用程序与硬件的交互作用。
嵌入式软件是面向一定应用,以特定的硬件为基础,具有如下特点: 1)可裁减。
嵌入式系统面向特定应用,具有很强的应用针对性,而系统的存储容量一般都很有限,这就要求软件是可裁减的,能根据需要选择必要的功能,去除冗余的功能; 2)实时性。
嵌入式系统的大部分应用对实时性有很高的要求,一味地提高硬件性能不能保证系统的实时性,还需要所开发的软件也能满足实时性要求; 3)高可靠性。
不少嵌入式应用(如:飞行器控制、医疗仪器等)的性质决定了系统的可靠性必须远远高于通用系统。
硬件的成熟和稳定将保证可靠性的重担落在了软件系统上。
嵌入式软件的特性使它的开发在以下几方面不同于通用软件开发: 1)存在非.