APP下载

基于组件的嵌入式软件开发方法研究

2015-05-30胡珊妹周亚兰

科技创新与应用 2015年20期

胡珊妹 周亚兰

摘 要:电子技术不断发展,电子产品的更新换代速度非常快,软件功能也在逐渐增加,并且日渐复杂、高端。由此,嵌入式软件的设计也越来越多地采用系统组件的模式,以适应需求不断快速变化的产品开发现状。文章主要对基于组件的嵌入式软件的开发方法进行了分析,表明嵌入式软件的组件迭代开发模式在产品开发中的良好应用效果。

关键词:组件嵌入式;软件系统开发;电子组装

如今,市场上出现了越来越多的电子产品,并且其产品的增长速度非常快。在这种大环境下,传统代码式开发已经不能适应产品功能上的复杂性,其开发变得非常困难。并且编程人员如果离开,剩下内容开发则需要新的程序开发人员对源代码进行修改,修改的过程非常不容易掌控。此外,各个程序代码之间存在耦合,仅对一小部分内容进行修改,也要对整个产品的源代码进行测试。在这种开发模式下,急需要一种扩展性好的软件开发方法,嵌入式软件在应用中能够从软件的设计特点以及开发需求方面出发,在实践中能够取得非常好的效果。

1 嵌入式系统组件架构

嵌入式系统在很多领域中运用,并且不同的领域,其使用方式、取得的效果也存在一定差异。为此,可以结合不同领域的产品特征对组件进行开发,并以此组成一个应用化的系统。软件系统中的组件可以说是一种有着独立功能的物体,做好不同组件的划分能够提高系统资源的配置效率。其特点表现为:组件粒度增大,能够增加组件的重用难度,但是管理过程中的投入将增大;而如果粒度变小,组件将变得容易复用。在组件的划分上应该结合模块的完整性与耦合状况,还要遵循消息传递原则、闭包原则、重用原则等。图1表示的是智能电能表的一种组件划分方法。

应用层的任务部分都是一个个单独的运行模块,其运行的所有底层驱动参数皆使用API层提供的基础函数来支持运行。这个应用层模块的组织是用一个运行的表格来统一组织管理运行,该表格可以放在FLASH中,也可以放在RAM中或者外部的存储介质中。该表格可以方便应用层内容的模块化。

主程序运行结构与相应的单片机有很大关系,但是各个基础模块的应用部分具有其可复用性。电量模块中,电量数据的保存与读取,安全性保护都可以复用。

2 嵌入式组件的接口设计

组件在完成了划分以后,按照一个接口对应一个逻辑操作的原则。接口实际上是一个调整性强的操作,不是固定存在的。要想使其抽象性提高,增强其复用能力,就要将接口与实际相分离。并且接口能够在设计上体现出实际功用。接口的设计能够比现实隔离程度高,就会降低对接口的影响率,并且,组件接口的设计一般是不能私自改动的,这就要确保各个设计部分能够规范、准确。

此外,嵌入式的组件接口在设计上要能够实现软件与硬件的结合,要对组件的作用以及与其他硬件的隔离程度进行充分考虑。另外,在设计当中还要考虑组件的调用以及设置流程,分清哪些设计能够顺应客户需要,应用最简单的原则对接口进行设计,能够降低设计的失误率。文章依旧以智能电能表的分时功能为例,对时钟组件为实例进行分析,时钟本身具有服务功能,能够为其他组件提供时间信息。组件的封装也是必要的步骤,这是实现接口稳定性的前提,能够在客户开发当中应用,在一个组件完成了新的服务功能以后,其他的新功能将由接口来完成,还不会影响到用户的使用效果。

图2 实时时钟组件接口设计

图2时钟组件接口表示的是:为了使时钟上面的时间更加准确,就要对组件内部的各个标准进行更新处理,并要为其提供一个驱动。各个不同的应用部分要按照具体的使用情况操作,并要一次调节RTC-tick接口就可以。通过这种方式能够使硬件平台与组件相关联。并且,组件在运行当中初始时间以及使用的标志都是初始化效果,用户使用的组件功能要对函数RTC-init进行调用。在完成了上述的函数使用以后,用户就可以通过另外一个接口RTC-proc使用应用功能。第一个使用的函数是一种变量,并且能够实现接口功能,有时间的获取、调整等,而第二个参数则是结构体的调整,可以实现信息的获取与应用。

3 基于组件嵌入式软件开发流程

3.1 传统的嵌入式軟件开发过程

传统的嵌入式软件开发模式下,要做出非常多的重复劳动才能获取更多的用户需求,还要再对用户需求进行分析、设计、重复监测。

3.2 基于组件嵌入式的软件开发流程

嵌入式软件组件开发能够对软件的编目进行转换,并将其作为系统集成的基础。可以应用“从零开始”的设计模式。应为嵌入式系统会在一个特定的领域设计,为此,不同领域内的应用系统可以共同开发,从而选择各个系统的共性,并以此为基础构建出组件库。如果有开发新系统的需求,从组件库中选择适合的组件组装就可以。因为组件仓中的各个组件具有未覆盖的能力,可以在深入分析以后,使用新的功能。尽量应用完整的开发模式以及流程对系统组件进行优化和使用。如果不能按照系统功能使用各个组件,将不能实现其通用性,不能按照系统功能设计。

4 结束语

文章主要对嵌入式软件组件开发方法进行了分析,通过论述可以知道,在智能电能表项目开发中应用这种组件式的软件开发取得非常好的效果。实践证明,所有应用组件的使用能够使项目开发效率提高,还能够节省非常多的开发成本,能够保证项目质量,在项目需求有所变动时,只需要对组件进行升级就可以,不会对其他各部分造成过大的影响。为此,基于组件的嵌入式软件开发设计是一种非常好的方法,在产品设计中得到越来越多的应用。

参考文献

[1]刘刚,邵志清,肖立中,等.基于组件的嵌入式软件开发中的几个关键问题[J].计算机应用研究,2010,24(3):62-65.

[2]王洵.基于嵌入式PC和EtherCAT实时以太网的分布式光学组件控制系统研制[A].中国仪器仪表学会东北过程自动化设计专业委员会第二十次年会暨2010年学术会议论文集[C].2010:158-161.