前言:
由于新项目不需要网络管理功能,所以需要基于以往项目的代码进行阉割,将网管功能屏蔽掉,让我们看一下具体需要关注哪些地方
现有工程:
1、Autosar配置工程,基于ETAS IsoLarA_B平台;
2、源代码,基于多年的“祖传”代码工程;
客户项目需求:
KL30上电直接唤醒,下电关闭,不需要网络报文的唤醒休眠功能;
关注点:
从模块上看:按照Autosar的分层架构,网络管理涉及的模块有:NM、CanNM、BswM、EcuM
实操:
如果没有特殊要求,比如要求代码编译生成文件的大小,不建议直接把配置工程的NM、CanNM直接删掉,因为工程里有一些其他的关联模块,删掉之后会有较大的改动,包括源代码工程里会有相关的手写码;这里选择直接保留相关配置文件,注释掉一些真正实现网管功能的地方;
1、注释Tsak中的NM、CanNM的主函数;
2、BswM模块中:
1. 对NM、CanNm的初始化“Action”注释;
2. 有关BswMNMControl的Action删除掉BswMNMControl,使下图中标红的宏的值为0,(在配置工具中删除,生成代码后同步到源代码);
3、具体项目手写码部分:由于项目代码中使用网络管理中的部分状态作为一些条件,这里也注释掉或修改条件;(PS:根据具体项目代码删减,大部分涉及到的是上下电流程和故障监测/记录条件);
(个人项目开发笔记,具体项目具体分析)