EcoSAR中间件及其配套开发工具由本公司自主开发,EcoSAR符合最新的Adaptive AUTOSAR R23-11标准,适用于高性能处理器,建立在POSIX标准操作系统之上,为上层应用提供标准化API,可有效实现软硬件解耦。

EcoSAR主要包含EcoAX、EcoAC、EcoARA三部分:

  • EcoAX(EcoSAR ARXML Integrated Development Environment):EcoAX IDE是EcoSAR的配套集成开发工具,提供以下功能:
    • 配置功能:允许用户配置EcoARA的各个模块,包括任务调度、通信机制、数据流配置等。
    • 校验功能:对用户配置的参数进行校验,确保系统配置的合法性和正确性。
    • 接口生成功能:基于用户的配置和设计,生成相应的AUTOSAR定义文件(ARXML文件),描述系统的软件架构和接口。
  • EcoAC (EcoSAR Application Compilation): EcoAC包含以下内容:
    • 交叉编译SDK:提供了适用于EcoARA运行平台的交叉编译工具链,用于将应用程序源代码编译为EcoSAR平台可用的二进制文件。
    • 相关例程与Demo:为开发者提供了一些示例代码和演示程序,使用CMake管理工程,帮助他们快速上手和理解EcoSAR中间件的使用方法。
  • EcoARA (EcoSAR Application Runtime Environment): EcoARA是EcoSAR在设备内的运行时环境,它包括以下模块:
    • 执行管理(Execution Management):负责任务调度和执行顺序的管理,以提高系统效率和响应能力。
    • 状态管理(State Management):用于接收状态切换信号,向EM请求进行状态切换。
    • 通信管理(Communication Management):提供标准化API,实现不同模块间的可靠通信和数据交换。
    • 日志与跟踪(Log and Trace):记录系统运行时的关键事件和状态信息,便于故障排查和性能优化。

通过将EcoAX IDE生成的ARXML文件与客户编写的C++源码结合使用,EcoAC可以将这些内容编译成EcoSAR平台可用的文件,实现在目标设备上的部署和运行。

针对ARXML 配置繁琐的问题,我们在EcoAX中实现了App Generator,实现自动生成ARXML,也可以自动生成框架代码,用户只需关注应用程序之间的通信和功能组配置,而无需关注ARXML节点的配置及节点之间的关联关系,这是其他开发工具所不具有的功能。

EcoSAR 软件架构

EcoSAR 方法论

OEM 设计整车的架构,重点描述 ECU 之间的通信网络和 ECU 的功能要求;

EcoSAR提供一套独立于具体硬件、编译器、软件架构的开发工具链,且提供完整 ARA 运行环境、AA 框架代码以及存储可执行程序运行配置的 json 数据文件、EM 模块依赖的 Manifest 文件(ARXML 格式)等;

开发工具包包括 Configurator 和 Developer 两个角色的工具,一个为EcoAX软件用于ARXML文件的生成、通信及AA框架搭建,一个为EcoAC工具链,用于编译特定平台的Adaptive Application程序。

EcoAX IDE

EcoAX IDE是本公司开发的用于设计AP平台machine管理、通信接口管理、AA管理的配置工具,可将配置好的数据及框架自动生成符合AP规范的ARXML文件,用于后续代码的开发。支持Linux、Windows系统。

EcoAX App Generator:创建Excutable、Process、Service Instance连接、DLT输出信息、部署依赖,可自动填充到ARXML的详细配置,也自动生成 Executable 中 Proxy 和 Skeleton 的 .h 和 .cpp 文件及相关软件编译架构,用户可直接编辑 .cpp、.h进行逻辑代码开发。 

EcoAX ARXML详细配置分为:Application Design、Service Instance、Execution Manifest、Machine Manifest、System Design 五部分。

EcoAC

EcoAC通过CMake实现工程管理,实现EcoAX IDE生成的ARXML文件与客户编写的C++源码的统一构建,EcoAC可以将这些内容编译成EcoSAR平台可用的文件,实现在目标设备上的部署和运行。

工程数据如下: