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平台可用的文件,实现在目标设备上的部署和运行。
工程数据如下: