基础软件常规_1.BSW的模块
源自文档《AUTOSAR_SWS_BSWGeneral》
稍做翻译,目的:
1.便于宏观理解AUTOSAR架构下的第三方模块源码;
2.提升手写代码质量;
BSW中的模块;
Bsw基础软件的模块,就是各个功能构件,网上有很多AUTOSAR的架构图,可以进行参考。AUTOSAR的开发方法论中使用描述性语言对模块进行说明,可以通过*.arxml文件进行传递与使用。但是在程序员眼里是对于各个模块的第一印象就是代码(当然也包括其他的说明文档),需要要直接的认知模块的源码。
往往不可继续拆分的模块都有自己的名称,可以用模块前缀去代指它。关于模块前缀Module implementation prefix :格式遵循:<Ma>[_<vi>_<ai>],看源码的时候基本上可以通过文件命名判断其所属的基础软件模块(统一使用驼峰命名加下划线分隔)。
<Ma> Module abbreviation:EcuM, CanIf, OS, Com…
<vi> vendor Id
<ai> vendor Api Infix.
以太网收发器模块的前缀:<EthTrcv>[_<30>_<Ethmii>] ,下面的例子Mip用于文件的命名(也可以用于函数与变量的命名,这些后面再掰扯):
在以上例子中,Mip用于文件命名。推荐的文件命名格式遵循:<Mip>[_<Ie>].,文件名称命名规范,有助于模块功能移植,有助于编译时查询相关信息等诸多好处。文档提示,我们在命名时要注意系统对大小写的识别和是否有歧义;
<Ie> implementation spe