2017-05-26 3 views
0

Quels sont tous les fichiers .c et .h fichiers un module MCAL (par exemple Lin plongeur, pilote CAN) devrait contenir? et ce que chacun de ces fichiers contient? Comment dériver des configurations pour eux?Quelle est la structure de fichier du module MCAL basé sur AUTOSAR?

+0

concept de Autosar implique que vous obtenez votre MCAL de l'un des nombreux suita fournisseurs bleus.Donc, sans plus d'informations sur quel fournisseur vous avez, nous ne pouvons pas vous dire. Le standard AUTOSAR implique aussi un concept de modélisation assez complexe, très indirect (dans six couches d'abstraction), qui configure très complètement un système spécifique, puis génère du code pour la mise en œuvre finale dudit système. Il existe même (intentionnellement) différentes possibilités de stockage de modèles et de configurations. Généralement, un fournisseur MCAL fournit également un outil de modélisation, de configuration et de génération. Peut-être même. – Yunnosch

Répondre

1

Cela n'est pas entièrement spécifié par Autosar. La norme va dans les moindres détails quand il s'agit du comportement de l'implémentation, mais pas dans tant de détails quand il s'agit de fichiers. De nombreuses entreprises fournissent des MCAL, et chacun de ces fournisseurs prendra des décisions concernant l'organisation du code.

Les noms de fichiers sont actuellement spécifiés. Le pilote CAN a Can.c, Can.h, Can_Cfg.h et Can_PBcfg.c. Par convention Autosar, la partie post-construction de la configuration va à Can_PBcfg.c, la config de compilation est Can_Cfg.h. Leur contenu est la plupart du temps laissé au fournisseur. Can.c est l'implémentation, Can.h est le fichier d'en-tête pour lequel aucune règle supplémentaire n'est donnée sauf qu'elle doit inclure ComStack_Types.h et Can_GeneralTypes.h.

La configuration qui est générée n'est pas entièrement spécifiée non plus. L'entrée dans la configuration du pilote est la configuration de l'ECU (décrite dans un chapitre intitulé "Spécification de la configuration" pour chaque pilote ou module), la sortie dépend principalement du fournisseur. Le fournisseur peut ajouter des couches d'abstraction supplémentaires, ses fonctions d'appel Can.c pouvant se trouver dans d'autres fichiers C spécifiques au fournisseur, etc. Vous pouvez être sûr que Can.c va avoir la fonction Can_Write, mais la mise en œuvre sera différente pour les différents fournisseurs.

Les fournisseurs MCAL fourniront généralement une documentation supplémentaire pour la configuration des modules et disposeront de leur propre outil de configuration Autosar ou recommanderont un outil avec lequel leur MCAL est connu.

0

voir aussi la norme/AUTOSAR_BSWGeneral.pdf

Can.c - Mise en œuvre du CAN pilote .. pourrait être scindée dans d'autres fichiers C

Can.h - définir la CAN pilote d'interface publique telle que définie par AUTOSAR

Can_Irq.c - ISRs de la CAN

Can_Cfg.c - PreCompile Config par exemple CONST (CanConfigType, CAN_CONFIG_DATA) CanConfig = {...} - AUTOSAR permet de sauter ce fichier et de mettre cette configuration dans les fichiers LCFG ou PBcfg

Can_Cfg.h - PreCompile Config et compilateur Commutateurs

Can_PBcfg. c - POSTBUILD_CONFIG remplace la configuration PRECOMPILE par exemple CONST (CanConfigType, config_data) CanConfigSets = {N, {CfgSet0}, {CfgSet1} ..}

Can_PBcfg.h - types de POSTBUILD_CONFIG, des structures/définit

Can_Lcfg.c - configuration de LINKTIME_CONFIG

Can_Lcfg .h - types de LINKTIME_CONFIG/structures/définit

en cas CAN pilote fournirait callbacks pour d'autres modules comprennent: Can_Cbk.h