0

MCAL 模块(例如 Lin 驱动程序、CAN 驱动程序)应包含哪些 .c 和 .h 文件?每个文件包含什么?如何为它们派生配置?

4

2 回答 2

1

Autosar 并未完全指定这一点。该标准在实现行为方面非常详细,但在文件方面没有那么详细。有许多公司提供 MCAL,每个供应商都会对代码组织做出一些决定。

但实际上指定了文件名。CAN 驱动程序有Can.cCan.h和。按照 Autosar 的约定,配置的构建后部分位于,编译时配置位于. 他们的内容主要留给供应商。是实现,是头文件,除了它应该包含和之外,没有给出额外的规则。Can_Cfg.hCan_PBcfg.cCan_PBcfg.cCan_Cfg.hCan.cCan.hComStack_Types.hCan_GeneralTypes.h

生成的配置也没有完全指定。驱动程序配置的输入是 ECU 配置(在每个驱动程序或模块的“配置规范”一章中描述),输出主要取决于供应商。供应商可能会添加额外的抽象层,可能会Can.c在其他供应商特定的 C 文件中拥有他们的调用函数,等等。您可以确定它Can.c会具有该Can_Write功能,但对于不同的供应商,实施方式会有所不同。

MCAL 供应商通常会提供用于配置模块的附加文档,并且将拥有自己的 Autosar 配置工具或推荐其 MCAL 已知可使用的工具。

于 2017-05-28T19:30:22.877 回答
0

另见标准/AUTOSAR_BSWGeneral.pdf

Can.c - CAN 驱动程序的实现 .. 可以拆分为其他 C 文件

Can.h - 定义 AUTOSAR 定义的 CAN 驱动程序公共接口

Can_Irq.c - CAN 的 ISR

Can_Cfg.c - PreCompile Config 例如 CONST(CanConfigType, CAN_CONFIG_DATA) CanConfig = {...} - AUTOSAR 允许跳过此文件并将此配置放入 LCfg 或 PBcfg 文件中

Can_Cfg.h - 预编译配置和编译器开关

Can_PBcfg.c - POSTBUILD_CONFIG 替换 PRECOMPILE 配置,例如 CONST(CanConfigType, CONFIG_DATA) CanConfigSets = { N, { CfgSet0 }, {CfgSet1 } ..}

Can_PBcfg.h - POSTBUILD_CONFIG 类型、结构/定义

Can_Lcfg.c - LINKTIME_CONFIG 配置

Can_Lcfg.h - LINKTIME_CONFIG 类型/结构/定义

以防 CAN 驱动程序为其他模块提供回调以包括:Can_Cbk.h

于 2017-07-18T02:14:52.990 回答