什么是基于AUTOSAR的MCAL模块的文件结构?

问题描述:

什么是.c和.h文件MCAL模块(例如林潜水员,CAN驱动程序)应该包含?以及这些文件包含哪些内容?如何为它们派生配置?什么是基于AUTOSAR的MCAL模块的文件结构?

+0

的Autosar概念意味着你从众多吹田的一个让你MCAL供应商。因此,如果没有关于您拥有哪个供应商的更多信息,我们无法告诉您。 AUTOSAR标准还意味着一个相当复杂,非常间接的建模概念(在六个抽象层中),完全配置一个特定的系统,然后为该系统的最终实现生成代码。甚至有(甚至)有不同的存储模型和配置的可能性。通常,MCAL供应商还提供建模,配置和生成工具。也许一样。 – Yunnosch

即并不完全是由的Autosar指定。当涉及到实现的行为时,这个标准非常详细,但涉及到文件时却没有涉及太多细节。有很多公司提供MCAL,每个供应商都会对代码组织做出决定。

文件名实际上,虽然规定。 CAN驱动器具有Can.cCan.hCan_Cfg.hCan_PBcfg.c。按照Autosar约定,配置的构建后部分将变为Can_PBcfg.c,编译时配置位于Can_Cfg.h。他们的内容大部分留给供应商。 Can.c是实施Can.h是被赋予不同的是它应包括ComStack_Types.hCan_GeneralTypes.h对于没有附加规则的头文件。

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

MCAL供应商通常会用于配置模块提供额外的文件,并会要么有自己的Autosar配置工具或建议其MCAL被称为一起工作的工具。

又见标准/ AUTOSAR_BSWGeneral.pdf

Can.c - 在CAN驱动实现..可在其他C文件

拆分

can.h对应 - 定义所界定的CAN驱动程序的公共接口AUTOSAR

Can_Irq.c - 预编译配置如 - 罐

Can_Cfg.c的ISR 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_Cbk.h