Se afișează postările cu eticheta MCAL. Afișați toate postările
Se afișează postările cu eticheta MCAL. Afișați toate postările

sâmbătă, 16 martie 2019

AUTOSAR(2) - Arhitectura

Software-ul de bază poate fi împărțit în termeni de stive bazate pe serviciile de bază furnizate, cum ar fi Stack-ul de comunicare (include drivere de comunicare, interfață de comunicație și servicii de comunicații),

Memory Stack (include drivere de memorie, interfață de memorie și servicii de memorie) (include drivere I / O și strat I / O Abstraction).


Architectura completă conținând toate modulele de bază din AUTOSAR :

Există diferite tipuri de interfețe prin care modulele comunică sau schimbă date între ele:

1. Interfețe AUTOSAR: Definește informațiile schimbate între componenta software și modulele BSW. Interfețele AUTOSAR sunt independente de un limbaj de programare, hardware și tehnologie de rețea. Interfețele AUTOSAR sunt utilizate pentru a defini porturile prin intermediul componentei software și a datelor de bază de schimb de software.



2. Interfețele AUTOSAR standardizate: este o interfață AUTOSAR a cărei sintaxă și semantică sunt definite de AUTOSAR. Acestea sunt folosite pentru a furniza serviciile AUTOSAR standardizate ale software-ului de bază pentru componenta software-ului de aplicație.

3. Interfețe standardizate: Acestea sunt interfețele definite într-un limbaj de programare specific și utilizate în cea mai mare parte între module bazate pe același ECU. Modulele din software-ul de bază interacționează între ele folosind interfețe standardizate.



Clase de configurare în AUTOSAR:

1. Pre-compile time: Configurația este folosită pentru a include sau exclude părți ale codului sursă care nu sunt necesare în timpul rulării. Configurațiile de timp precompilate sunt statice, în care modulele software vor fi eficiente, bazate pe configurație, după timpul de compilare. Rezultă optimizarea dimensiunii și performanței codului. Configurațiile de timp precompilate se fac în fișierele * _Cfg.c și * _Cfg.h, '*' specifică numele modulului.

2. Link time: Acest tip de configurare este utilizat atunci când fișierele de configurare sunt disponibile ca cod de obiect. Codul obiect al software-ului primește părți ale configurației din alt fișier de cod obiect sau este definit prin opțiuni de linker. Configurația este selectată după compilare și înainte de conectare. Configurațiile disponibile în fișiere separate sunt considerate ca fiind constante externe. Conexiunile de "link time" se fac în fișierele * _Lcfg.c și * _Lcfg.h, '*' specifică numele modulului.

3. Post-build time: Configurarea modulului software este posibilă după construirea software-ului complet. O referință la configurație este disponibilă și configurația reală este disponibilă în timpul intermitentă a ECU-ului. Aceasta crește reutilizarea, astfel încât același ECU poate fi refolosit într-o altă mașină prin furnizarea unui set diferit de configurație ECU. Post-build configurațiile de timp se fac în fișierele * _PBcfg.c și * _PBcfg.h, '*' specifică numele modulului.




Post-build Loadable: În acest set de configurații, este disponibilă o structură de configurare, iar membrii individuali ai structurii pot fi modificați, dar o structură complet diferită nu poate fi selectată.


Post-build Selectable: În acest set de setări, pot fi disponibile seturi de configurare 'n' și un set complet poate fi selectat în timpul rulării a ECU-ului. Acestea sunt în mare parte disponibile ca o serie de structuri în care un set este selectat în timpul rulării pe ECU (în start-up init).