为嵌入式软件建立统一软件系统框架的方法

发布者:JoyfulSunflower最新更新时间:2012-05-22 来源: 电子产品世界 关键字:嵌入式系统  软件系统框架  操作系统 手机看文章 扫描二维码
随时随地手机看文章

嵌入式系统硬件与软件发展的不平衡 

嵌入式系统是整合了计算机硬件和软件的集合体,它是通过可编程器件的计算和控制能力完成特定功能的系统。越来越多的嵌入式系统要求有连接网络、多媒体信息处理和无线移动通信的能力。然而,飞速发展不断有突破的嵌入式系统硬件技术与相对发展较慢的软件技术形成明显对比。 

认为摩尔定律很快会遭遇物理极限的预测不断被突破,半导体工艺正在向纳米级进军,使计算器件集成度更高、速度更快、体积更小、功耗更低。随着系统芯片 (SoC)技术的发展和成熟,越来越多的嵌入式系统将采用硅知识产权(SIP),利用ASIC或半定制器件(FPGA/CPLD)技术把CPU核和外围器件整合到一个芯片中。这将极大的提升硬件系统设计的灵活性、可靠性,以及提高硬件开发的速度和降低系统的成本。 

硬件技术的飞速发展和体系结构的不断改进,在很长一段时间内对嵌入式系统软件工程师而言,似乎并未产生很大影响,他们仍然沿用传统的软件设计方法和调试方法。近几年,随着硬件复杂性的增加和对系统功能和性能需求的大幅度提高,特别是要求系统具有灵活方便的网络连接、轻巧节电的无线移动和功能强大的多媒体信息处理等能力,使软件开发工作量急剧增长,甚至可以占到全部工作的70~80%以上。这样的系统不再是单枪匹马可以完成的,需要集合一个开发团队协同工作才能完成。嵌入式系统软件的开发,越来越成为制约嵌入式系统开发的瓶颈。 

嵌入式系统软件的特点及其开发途径 

嵌入式系统软件从简单到复杂可以千差万别,天地悬殊。虽然它们结构相对简单,但是不同系统对不同的性能往往有特定的要求,有的要求非常苛刻和严格。对简单系统可以用传统方法,从底层用汇编语言编写程序,利用在线仿真器(ICE)、在线调试器(ICD)等开发工具进行调试软件。但是对那些复杂的嵌入式系统,特别是有多个控制环路、并需要在优化级可控的情况下能预测其运行状态时,不利用实时操作系统和嵌入式系统开发平台进行开发,是很难或者几乎不可能达到预定要求的。 

利用嵌入式系统开发平台开发嵌入式系统软件,往往需要针对不同的硬件编写实时操作系统内核移植代码。通过编译、链接、定址将操作系统映像固化到(EP)ROM或者Flash(闪存)中。 

对于大的开发项目,可以购买商业化的实时操作系统和嵌入式系统开发套件,甚至将软件开发外包给一些专业的嵌入式软件开发商,但是这需要投入少则几万,多则上百万元人民币购买软件,有些还需要对开发出来的每一件产品再缴纳相应的授权使用费。对于更多大量的小项目而言,显然不能走这条路,使用源代码开放的嵌入式操作系统才是合适的选择。 

软件编程接口规范和标准化 

硬件器件与软件模块相比,具有很高的可置换性,这是因为硬件器件的功能特性、电气特性、机械特性等都有明确的定义,这种组件单元标准化的特点是硬件技术的发展始终快于软件发展的原因。在软件技术方面,中间件和面向对象技术在一定程度上正是类比硬件而发展起来的,然而还远未成熟,至今在嵌入式系统软件的开发中还没有能真正地使用起来。 

在传统单片机系统软件开发时代,代码的可重用性极差,系统的开发极大程度地依赖于软件编程人员的编程技巧。这是因为软件开发的灵活性造成的。只要正确的使用编程语言和软件开发工具,不同的软件设计人员对于同一种需求会开发出不同的软件。正是这种灵活性,导致了很多的软件不具有移植性。  [page]

软件要具有优良的体系结构和良好的移植性,必须将开发的操作系统纳入一个严格定义的框架。至少需要考虑以下几个方面: 

高级语言和将汇编语言模块化—为了使系统具有高的可移植性,尽量使用C或者Embedded C++来开发系统软件。 

模块化——将系统功能分成模块。模块设定的合理方法是:根据硬件能力,自下而上的综合。 

提供标准接口—提供了POSIX 1003.1规范的操作系统就具有了UNIX系统的标准接口。Linux和QNX就是实现了POSIX规范的操作系统。符合软件应用编程接口(API)规范,就可以比较容易地移植UNIX系统的应用软件。 

严格的体系结构层次——按层次划分,依次是应用软件→操作系统→功能级抽象→寄存器级抽象→硬件。其中,寄存器级抽象层(rHAL)直接与硬件相关,它封装微控制器和外围设备的寄存器接口及其行为。一般而言,它需要定义完整的寄存器序列名称。功能抽象层(fHAL)封装硬件的功能行为,通常把其定义成若干可以执行命令的函数。 

软件系统体系结构 

运行于特定硬件平台的操作系统是系统资源的管理者,作为软件的操作系统也是系统资源的使用者。操作系统内核是一个自治的软件环境,不依赖于任何其他的软件模块。内核通常提供进程调度(SCHED)、内存管理(MM)、文件系统 (FS)、进程间调用(IPC)和网络(NET)等功能模块。这些模块之间相互有不同程度的依赖关系。其中进程调度和内存管理处于核心地位,反映了操作系统对计算机主机资源的管理。另外,文件系统是操作系统的信息中心,反映了操作系统对计算机存储介质的管理。操作系统往往把计算机的外部设备映射到文件系统,利用统一的文件系统访问接口实现对外部设备的访问。进程间调用和网络通常是可选模块。 

体系结构的各层之间有不同的功能和责任。寄存器级封装反映了实现同一个功能可用不同的元器件。针对不同的芯片要编写合适的驱动程序。这些驱动程序一般不具有可移植性,因为它们是同级,实现对不同器件的功能级接口。例如,NE2000成为以太网事实的接口标准,兼容NE2000的以太网控制器,可以使用NE2000驱动程序,而不一定要开发专门的驱动程序。如果是不兼容的以太网控制器,寄存器的布局和命令会有不同,并无法映射寄存器。折衷的办法是梳理出功能级抽象层所必需的基本操作,建立功能级的实现框架。针对不同的硬件,使用同一种实现框架可以保证功能级抽象的质量,并且可以提高移植的效率。 

结语 

纵观软件的发展,从批处理到面向过程的编程,到面向对象的编程,再到面向框架的编程,体现了需求的拉动和技术的发展。嵌入式系统正经历一个快速发展阶段,嵌入式系统硬件技术的发展已超过了软件技术。软件技术的滞后,造成了软件的高成本和低开发效率,这已成为制约嵌入式系统发展的瓶颈。只有建立统一的清晰的操作系统层次的标准接口,实现软件构件的可重用性,才能够大幅度提高嵌入式系统的软件的开发效率。

参考文献 
1  Red Hat Inc. ‘eCos Reference Manual.’ www.redhat.com. 
2  ARM Limited. ‘ARM Firmware Suite Version 1.3 Reference Guide.’ www.arm.com. 
3  Labrosse. J. J., 邵贝贝译.‘ mC/OS-II, The Real-Time Kernel. ’清华大学出版社. 

关键字:嵌入式系统  软件系统框架  操作系统 引用地址:为嵌入式软件建立统一软件系统框架的方法

上一篇:基于ETX与VxWorks的嵌入式车辆导航系统的设计
下一篇:嵌入式实时操作系统uC/OS-II及其应用

推荐阅读最新更新时间:2024-05-02 22:04

ST 在ESC 2010上展示最新最强的嵌入式系统技术
意法半导体(纽约证券交易所代码:STM),于2010年4月27-29日在美国加州圣荷塞嵌入式系统大会(Embedded System Conference)上举行多项与微控制器有关的精彩活动,重点推介意法半导体的8位微控制器和高性能的32位基于ARM的微控制器两大产品阵容,包括最新推出的以超低功耗为最大亮点的EnergyLite™版8位和32位微控制器。各种产品演示活动为工程师提供亲身体验意法半导体微控制器和获取专门技术的机会。 意法半导体对光临1708号展台的参观者赠送500套STM8S-Discovery开发工具,让开发人员迅速了解STM8系列8位微控制器的潜能,创建并调试应用程序,向微控制器写入代码,最终使用微
[嵌入式]
德承嵌入式系统直闯智能安全监控,大容量高速度更高效
现代生活逐渐趋于便利化与智能化,人们对于安全的议题也更加重视。智能安全监控系统的运用大致可分为装设在移动式载体和固定式载体这两类。移动式载体的监控使用环境较为严苛,监控设备必须能承受长时间震动、高低温差等多重考验,如:车载、公共安全车辆(警车/救护车/消防车)、大众运输(火车/轮船/飞机)等监控应用。而固定式载体的监控又可再分为架设于室内或户外,如:监控中心、道路监测等。智能安全监控系统不论何种使用环境,都需具备影像与物体辨识、动作侦测、画面警示等功能,以帮助灾害应变、交通管理与信息搜集整合。 高速网络摄像机稳妥运行 现今的网络摄像机(IP camera)多半都会结合PoE的供电技术,以同步完成电源供给和信息传
[工业控制]
德承<font color='red'>嵌入式系统</font>直闯智能安全监控,大容量高速度更高效
嵌入式实时操作系统Nucleus PLUS在S3C2410A上移植的实现
引言 Nucleus PLUS是美国ATI 公司为实时性要求较高的嵌入式系统应用设计的操作系统内核。约95%的Nucleus PLUS代码用ANSI C语言编写,因此,非常便于移植并能够支持大多数类型的微处理器,如X86、68K、PowerPC、MIPS、ARM等。经过截减编译后,Nucleus PLUS 核心代码区一般不超过20KB大小。 同时提供TCP/IP网络、图形界面Grafix、文件系统File等模块。还有一个特点就是免费提供源代码,有利于节省开发费用。 S3C2410A是三星公司推出的基于ARM920T内核高性能低功耗16/32位RISC微控制器,内部集成了丰富的系统外围控制器。配合Nucleus PLUS操作系统可
[工业控制]
智能电视操作系统被垄断 国产彩电商局面不利
  历时一年,三网融合试点方案终于获批。人们开始憧憬三网真正融合后,电视、电脑、手机这些电子产品的内容可以在不同的屏幕间互相转换。   但事实上,各种内容要在这些屏幕间互相转换,还要实现芯片和操作系统间的互通和互相支持。能实现三网融合的产品,苹果是典型的成功例子,从iPhone到iPad再到Apple TV,其无论是手机、平板电脑还是电视,都是使用同一个操作系统。其各个屏幕间的内容可以无缝、流畅转换。这样,电视就不是一个“孤岛”,电视成为多屏里面的一屏。   目前,国内的三网融合要实现内容转换这个目标,必须要在操作系统上有发言权。但我们不难发现,国内彩电厂商在进行智能电视拼斗的时候,智能电视上游的操作系统却完全被美国的谷歌、微软
[家用电子]
几种嵌入式实时操作系统的分析与比较
   摘要 由于嵌入式实时操作系统可以支持多任务,使得程序开发更加容易,在便于维护的同时还能提高系统的稳定性和可靠性,所以逐步成为嵌入式系统的重要组成部分,对嵌入式操作系统的研究变得尤为重要。本文介绍4种嵌入式实时操作系统VxWorks、μClinux、μC/OS-II和eCos,详细分析比较了这4种操作系统的主要性能,并根据分析结果指出了各自的适用领域。    关键词 实时操作系统任务管理任务间同步与通信 内存管理 中断管理 文件系统   VxWorks、μClinux、μC/OS-II和eCos是4种性能优良并被广泛应用的实时操作系统。本文通过对这4种操作系统的主要性能进行分析与比较,归纳出它们的选型依据和适用领域。  
[工业控制]
四成苹果iPad将无法运行iOS 10操作系统
      新浪科技讯 北京时间6月15日凌晨消息,在苹果公司周一召开的2016年全球开发者大会(WWDC)上,有一件事情发生了改变。   在此以前,苹果公司已经售出的每一台iPad(2010年4月首次上市的iPad 1除外,这种平板电脑在一年后停止生产,期间总共售出了约1500万台)都可运行最新版本的iOS操作系统。但在2016年全球开发者大会上,苹果公司宣布将不再支持三款老式iPad,分别是iPad 2、iPad 3和第一代iPad mini。   这就意味着,当苹果公司发布iOS 10操作系统时,有上亿台iPad将变得过时。根据移动参与平台Localytics在2016年3月编制的数据,这可能意味着目前正在使用的大约
[手机便携]
嵌入式操作系统VxWorks中TFFS文件系统的构建
摘要:目前的嵌入式系统多使用FLASH作为主存,因此,如何有效管理FLASH上的数据非常重要。文章以MX29LV160BT芯片为例,讨论了在VxWorks操作系统下Nor Flash上建立TFFS文件系统的一般步骤,从而为FLASH上的数据管理提供了理想的选择方式,同时也为开发者和用户升级程序提供了方便。 关键词:VxWorks Flash MTD TFFS 文件系统 嵌入式系统正随着Internet的发展而在各个领域得到广泛的应用,作为一个优秀的操作系统,VxWorks实现了比其他实时操作系统更好的有效性、商用性、可裁减性以及互操作性,广泛应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事
[应用]
SoC的技术支持及嵌入式系统设计
摘 要: 与ASIC设计的其他技术一样,SoC的出现是以许多技术支撑为条件的。这些技术包括深亚微米工艺技术、IP核的优化及重用技术、EDA技术、软/硬件协同设计技术。文中讨论了SoC支撑技术和SoC阶段嵌入式系统设计的作用。 关键词: 嵌入式系统 高级语言 基本性能  编程特点 引 言   SoC(System on Chip)可以译为"系统集成芯片",意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容;SoC也可以译为"系统芯片集成",意指它是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。   作为ASIC(Application Specific
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved