对于嵌入式程序,CORBA / RPC是否有轻量级的类似物?

时间:2010-04-16 22:48:47

标签: networking embedded rtos

我正在为不同的硬件(avr,arm7,tms55xx ......)和不同的rtoses(freeRTOS,rtx,dsp / bios)编写嵌入式应用程序。而且他们每一秒都需要与PC或其他数字设备进行通信。有时,交互逻辑非常先进。因此,我对常用的方法(如状态机编程风格),协议规范或库感兴趣,可以简化这类事情的开发。

5 个答案:

答案 0 :(得分:6)

对于数据传递和RPC机制,我对嵌入式系统上的谷歌protocol buffers非常满意。它们比基于XML的系统轻得多,因为传输的数据是二进制编码的,并且对发送的数据进行解码需要最少的处理,这对链路嵌入端的CPU使用率来说是一个很大的优势。

有各种语言的现成库,但最重要的是嵌入式应用程序的C语言。

答案 1 :(得分:2)

OpenJAUS。

它具有反思性,可组合性和标准化(ish) 跨语言跨平台工作。

提供比Protocol Buffers(这是一个整洁的消息传递堆栈)更多的框架 它专注于机器人技术,但适用于控制系统。

理论上,JAUS用户界面可以操作任何符合JAUS标准的设备,而JAUS系统则可以组成系统系统。

如果这些事情没有意义,那么请忽略这个建议。

答案 2 :(得分:1)

Here是关于嵌入式系统和“轻量级”或最小实现的CORBA上Embedded.com的文章。提到的商业解决方案适用于QNX,VxWorks和LynxOS。并且another article在RPC on Embedded.com上(这是由TI DSP培训师编写的,专门参考DSP,因此可能与DSP / BIOS相关)。

我强烈建议您使用Embedded.com的文章搜索,可能会有许多类似的文章,您会发现它们很有用。

VxWorks supports RPCQNX Neutrino也一样。

“Roll your own”一直是我的解决方案,其中标准合规性和系统间兼容性不是问题(即我的系统与我的系统交谈)。只做完全所需要的是实现“轻量级”的最佳方式,可能会牺牲灵活性和可维护性。

答案 3 :(得分:0)

协议非常适合状态机,所以也许你可以使用非常轻量级的开源QP状态机框架(state-machine.com)。各种编译器的准备使用QP端口和示例可用于AVR,MSP430,ARM7 / ARM9,TMS320C28x,PSoC,HC08,M16C / R8C,H8,8051,PIC18,PIC24 / dsPIC,ARM Cortex-M3 / M0等等其他

注意:我为http://state-machine.com

工作

答案 4 :(得分:0)

最近我们开发了:https://github.com/EmbeddedRPC/erpc 给它机会;)