上一篇讲完 Generate 之后,一个 AUTOSAR 配置终于从 Configurator 进入了 C 代码。于是打开工程目录,会突然看到大量文件:CanIf_Cfg.c CanIf_Cfg.h CanIf.c Dem_Cfg.c Dem_Cfg.h Dem.c Mcu.c Port.c Can.c Rte_xxx.c Rte_xxx.h CtAp_xxx.c CtAp_xxx.h它们看起来都是:.c .h但身份完全不同。有些是工具生成的,有些是 BSW 或 MCAL 供应商提供的,有些属于项目应用代码,还有一些是项目自己维护的 CDD。如果这些边界没有搞清楚,很容易出现一种情况:代码明明改好了,重新 Generate 一次,修改全没了。或者:为了修一个问题,直接改了 BSW 源码,结果下一次升级 Package 时,连自己改过什么都很难理清。所以这一篇不讲某一个具体 Module,而是先把 AUTOSAR 工程里非常重要的一条规则讲清楚:代码长得都像 C 代码,但不是所有 C 代码都应该由项目开发人员直接修改。一、先从一个真实工程目录开始看