RTE算法在非AUTOSAR软件中的借鉴与实现
RTE概念
RTE其实是AUTOSAR软件架构中的一个重要的概念,用于处理模块之间的信息传输,以及不同ECU之间的信号传输。RTE全称RunTimeEnvironment,旨在贯彻模块化开发的思想,将不同模块之间的依赖性减弱到最小,从而提高模块的服用性和可移植性。而在一些非AUTOSAR架构的软件中,也陆续采用了RTE这种思想和架构,对模块的独立性和架构的清晰度来说有了很大的帮助。这里简述了RTE在非AUTOSAR的嵌入式软件中的设计原理。
对于单一变量在同一ECU中不同模块之间RTE的实现模式
在软件内部,不同模块之间实现数据的输入输出方式为:
- 如分别由模块A和模块B,定义模块A的函数为func_A,输入变量为A_IN,输出变量为A_OUT,模块B的函数为func_B,输入变量为B_IN,输出变量为B_OUT;
- 定位RTE模块为RTE.c,RTE.h在RTE.h中调用模块A和模块B的h文件,从而尽量避免A调用B的h文件或B调用A的h文件;
- 定义一个RTE写函数,将A_OUT写入E2E