Programmeur automobile. A travers les épreuves des étoiles

image



introduction



La photo a été prise par moi lors d'une visite au showroom BMW à Munich.



Un petit article sur la vie et ce qu'elle respire dans le monde vaste et maladroit de l'automobile. Le monde du développement logiciel, les technologies utilisées, les tâches à résoudre, tout est uniquement basé sur l'expérience personnelle. Oui, je ne révélerai pas la vérité ici, les logiciels automobiles utilisent généralement des technologies obsolètes et des cycles de développement assez longs, bien qu'il y ait bien sûr des exceptions - Tesla, par exemple. Bien que ce ne soient que mes hypothèses d'après ce que je peux lire sur cette entreprise sur Internet. Le texte contient de petits encarts de la biographie de l'auteur.



Et tout de suite une digression: au départ j'ai écrit cet article entièrement en russe, puis j'ai décidé de remplacer certains termes et abréviations en anglais, car ils sont plus souvent trouvés et mentionnés sur Internet. En fin de compte, il s'est avéré ce qui s'est passé.



Premier projet automobile. Année 2014



… , IT, , automotive . 2014 ., , Human-Machine Interface (HMI) . , , Head-Unit . , , . 2- ++ GPU Windows, ++.



: HMI — Head-Unit — , Digital Instrument Cluster, . , , Digital Instrument Cluster . Head-Unit , , , Infotainment . , ( ) . Head-Unit , (Alpine, Clarion, etc.) .



, , ++ framework, HMI , . , , , .. UI, Microsoft MFC, , . . - , . , . , (, , ...) , , .



, , - , hardware .



, UI, , engine .



Jam, CMake, , Jam . - QNX Linux, - . Flash.



HMI framework :





1.1. Adobe Photoshop. Photoshop, , .

1.2. PowerPoint , . .





2.1. PSD , UI

PowerPoint.

2.2. controllers, , , .



:) , .



UI NTG5 Mercedes

Interface utilisateur conçue pour la plate-forme NTG5 de Mercedes



: Automotive , (OEM) , . Tier 1, 2 .. . OEM, . software , automotive , , Tier , BMW. Tier .



, - Qt framework, . : Tier 1 , Harman, Daimler, Audi .. , , : - 2014 ., Qt -, , , - bug. , , . , .





- , , HTML, Java, Qt , / / HMI . Flash , Qt automotive . WebKit, .



Qt Automotive Suite:



Démonstration des capacités de Qt Automotive Suite



, - . , , , UI, .



frontends JavaFX, QML Web, backend . , , , frontend. , ++, frontend .



, , web- HTML/CSS/JavaScript Qt/QML . R&D, -, , C++ . , web , JS .



, Automotive SPICE (ASPICE), SPICE (ISO 15504). . , . , .



: Automotive SPICE



? , , (SWE.1), (SWE.2). , . , , (SWE.3). , ( , , ). , Unit (SWE.4), (SWE.5) (SWE.6) .



Automotive SPICE V-:



Modèle SPICE V automobile



, — (traceability). ? , , / . , , , .



, . , . , Excel DOORS, , . , , Doxygen.



. , , . , , , .



, , , , , , . , , .





2016 , , . … , … , - , . (Head-Unit) , , (1 ). , , : Android Auto, CarPlay, SmartDeviceLink(SDL), Miracast. — Clarion, , , OEM.



hardware - Telechips, Board Support Package (BSP). BSP Yocto Project , CarPlay iAP2. , . Telechips reference board, Clarion , .



: Yocto Project BitBake , Linux. BitBake Python (recipes) . , Linux, . , , , , . Yocto Automotive Grade Linux, .



, user space , UI . BitBake, . , UI, , , , . , Eclipse, 3D, Functional Units.



, . , . , , GENIVI Alliance, , . 10 . , . — , , , , , , ( Clarion, ). , , , , :) , — , .



GENIVI :



Architecture proposée par GENIVI



, -, () IPC. IPC CommonAPI ( GENIVI). CommonAPI Franca IDL, ++ - , D-Bus. CommonAPI C++, D-Bus SOME/IP, . D-Bus , .



CommonAPI ++:



CommonAPI C ++



: Franca Interface Definition Language (IDL) — , , . .



HU. HU, , - , .



  • UI , , . , , ;
  • , (12 ) , ( );
  • , ;
  • CarPlay AndroidAuto UI;
  • 20 , , .


:



  • . , , , . , , , , , . , ;
  • , RAM, . , , hardware;
  • snapshot , , Linux . , snapshot , , , RAM. snapshot ;
  • UI, Apple , ;
  • non-volatile memory (NVM) Persistence. , - , . , Persistence RAM . , .


HU Nissan Datsun Cross:



Salon photo avec HU dans Nissan Datsun Cross



AndroidAuto CarPlay , SmartDeviceLink (SDL) . . Ford SYNC AppLink, Open-Source . , , .



SmartDeviceLink:



Architecture de SmartDeviceLink



, HU , SDL Core. SDL. , , , . , - Head-Unit. , .



Sygic, HU .



SDL Sygic:



Un exemple d'application SDL de navigation Sygic



Happy End' , automotive, . , . , , . , , . , Nissan, Datsun Cross . UI . - Perodua.





. automotive , OEM. Automotive SPICE, MISRA, ISO 26262.



: Safety ISO 26262 — , , (, , ) . , , . .



MISRA C/C++ — C/C++ . automotive safety ISO 26262. — ( ) , - code style. — switch default . , , . , Axivion, .



, MISRA , C++14, MISRA . C++14? ? ( ) Adaptive AUTOSAR. ++14. AUTOSAR (AUTomotive Open System ARchitecture).



, , Classic AUTOSAR. , , , . - 4. — , . ( ), . , , , , . In-Vehicle Infotainment (IVI) .



, , Adaptive AUTOSAR. POSIX PSE51 . , , Classic, C++ POSIX ( , ). , Classic , , . Classic, ARXML , , , XML , . , , XML AUTOSAR TPS SoftwareComponentTemplate 4- Classic, 800 .



:



Un exemple de divers systèmes de véhicules



, AUTOSAR, . , . — (sensors), (actuators) / (ECUs) , (CAN, LIN, FlexRay, Ethernet). OBD , ( ) - .



Ethernet atuomotive — 100BASE-T1, 10BASE-T.



, ARXML ( , ). , . , (communication matrix) , , (ECUs) , .



, ( ) .



HW AUTOSAR .



( , AUTOSAR ), ARXML . HW AUTOSAR , , .



.



, AUTOSAR ( VECTOR Informatik Elektrobit), . :



  • , AUTOSAR . .
  • . , - . , 4.3.0, 4.4.0


— , , . , , , .



— ARXML 10- , :)



. Adaptive AUTOSAR , , . , , . , .



, Adaptive AUTOSAR VECTOR ( Elektrobit). , . , Unified Diagnostic Services (UDS). , (TCP/IP, CAN). AUTOSAR : Persistence NVM, (COM) runtime ( CommonAPI). Execution Manager , . Diagnostic Manager (DM). , ( /). AUTOSAR DM , Diagnostic over IP (DoIP), UDS .



: Unified Diagnostic Services — , . :



  • / ;
  • ;
  • , Diagnostic Trouble Codes (DTC);
  • ;
  • .


CAN Ethernet DoCAN DoIP.



Volkswagen MEB VW.OS, , Automotive, .



VW :



La tentative de VW de transformer une voiture en téléphone portable



VW.OS — , Volkswagen, . - , , . . , / . - , BMW CarPlay :)





, , :) , location , . , - 7 , . , , OEM , , - . (, ). ? .



? Linux ARM , Classic AUTOSAR . ( ), tools automotive . Ruby, Rust, Electron/TypeScript. Classic AUTOSAR , Ruby, Java, . ARXML , , , ARXML ( démo ).



Aujourd'hui c'est mon projet actuel ... Année 2020.




All Articles