ECU软件性能分析及优化
2018-12-06黄晓玥
顾 嫣,孙 竞,黄晓玥
(泛亚汽车技术中心有限公司,上海 201201)
随着汽车电子技术的不断发展,车载电子控制单元(Electronic Control Unit,ECU)的软件架构和逻辑复杂度日渐提高。同时,引入了第三方软件和开源库,使代码规模更加庞大,导致ECU在开发中后期极易出现问题井喷现象。为了尽早发现代码问题,帮助软件品质快速收敛,应在ECU开发的每个阶段着重于软件性能的分析及优化。
1 软件性能分析方法
AUTOSAR是汽车开放式系统架构 (Automotive Open System Architecture)的简称,旨在引入模块化概念,简化软件开发流程,并提升软件兼容性,目前已广泛应用于汽车ECU的软件开发。AUTOSAR架构如图1所示,可分为应用层、运行时环境 (runtime environment, RTE)、基础软件层 (basic software, BSW)和微控制器层[1]。应用层中的应用软件以软件组件形式进行封装,具有标准化的应用程序接口,通过RTE进行通信。RTE提供虚拟功能总线,使应用层和BSW独立,提供ECU内部以及ECU之间的通信。BSW包括系统服务层、ECU抽象层、微控制器抽象层和复杂驱动模块。
ECU实现的具体功能在软件架构中属于应用层,由于功能不同,所以ECU的上层软件架构也会不同。对于应用层而言,更关注逻辑正确性和算法优化,软件的稳定性还是以BSW为基础。为了总结出适用于不同ECU软件性能分析的方法,从BSW层抽象出与软件性能相关的要素,并增加了ECU的基础功能,以确认BSW层的正确性和稳定性 (表1)。

表1 软件性能分析表
2 软件性能优化矩阵表

图1 AUTOSAR架构
软件性能划分为4部分,分别是系统、资源、I/O和基础功能。前两项与应用层相关,属于所有ECU需要关注的重要性能,着重于稳定性。……
