TOPERS中间件之一---嵌入式组件系统TECS

TECS(TOPPERS Embedded Component System)为TOPPERS推出的一个针对嵌入式系统,将各种软件模块封装为组件,并将组件结合在一起以实现快速构建大规模嵌入式系统软件的规范和工具的集合。其目的在于通过组件化的开发方式降低嵌入式系统软件的开发难度,减少重复开发,提高设计的抽象度和嵌入式系统软件的可复用性。

在TECS中,应用由不同的组件组成,每个组件称之cell并有相应的类型,相当于对象与类的关系。组件有两类接口,一类为入口(entry port)用以像其他cell提供服务,另一类为调用口(callport)用以调用其他cell所提供的服务,一个调用口只能连接一个入口,一个入口可以被多个调用口连接。接口的类型由signature定义,独立于cell,cell与cell之间只有相同signature的入口和调用口能连接在一起。如下图所示,有两个cell分别为cell1和cell2,cell1的类型为tCellType1,cell2的类型为tCellType1。cell1的调用口cService与cell2的入口连接子在一起,类型为sService。

TECS下的开发流程如下图所示,组件设计者通过组件描述语言CDL(ComponentDescription Language)来定义cell和signaure。应用开发者可以直接通过CDL描述组件是如何构成应用,或者通过组件图以图形化方式描述,然后再由相应的工作转化成CDL。TECS的CDL解析器将分析CDL并生成相应的C语言代码模板、头文件和接口代码,如果使用了TOPPERS内核,还会生成相应的TOPPERS内核配置文件。组件开发者将依据所生成的模板文件实现相应的组件。最后所有的代码经过编译链接形成最终的目标文件,载入最终制品后交由最终的使用者。

TECS的开发流程以及组件图

TECS的核心概念就是组件和接口。如果采用OOP语言,如C++,特别是Java(因为Java中有原生的interface支持,而C++则需要借助虚函数实现),TECS这些概念是非常容易实现的。但TECS的底层是基于C语言的,且整个过程是静态的,所以其在代码大小和性能上开销不大,适合于嵌入式系统应用。TECS还支持远程过程调用(RemoteProcedure Call, RPC),可用于分布式嵌入式系统的开发。

在实际使用过程中,TECS使用流程是比较复杂的,因为需要用一种专门的语言进行描述,而且需要准备好相应的模板和相应的模块封装。因此TECS更多是一种尝试,其主要应用也是在和TOPPERS相关的应用上,如把TOPPERS内核封装成TECS组件,TOPPER的LEGO机器人项目。

随着C++在嵌入式系统中越来越广泛的应用,在C++基础上构建相应的组件系统更有意义。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值