Automobilprogrammierer. Durch die Not zu den Sternen

Bild



Einführung



Das Foto wurde von mir beim Besuch des BMW Showrooms in München aufgenommen.



Ein kleiner Artikel darüber, wie das Leben ist und was es in der großen und ungeschickten Automobilwelt atmet. In der Welt der Softwareentwicklung, welche Technologien verwendet werden, welche Aufgaben gelöst werden müssen, basiert alles ausschließlich auf persönlichen Erfahrungen. Ja, hier werde ich nicht die Wahrheit verraten, Automobilsoftware verwendet normalerweise veraltete Technologien und ziemlich lange Entwicklungszyklen, obwohl es natürlich Ausnahmen gibt - zum Beispiel Tesla. Obwohl dies nur meine Annahmen sind, was ich über dieses Unternehmen im Internet lesen kann. Der Text enthält kleine Beilagen der Biographie des Autors.



Und sofort ein Exkurs: Anfangs habe ich diesen Artikel komplett auf Russisch geschrieben, aber dann habe ich beschlossen, einige der Begriffe und Abkürzungen auf Englisch zu ersetzen, da sie häufiger im Internet gefunden und erwähnt werden. Am Ende stellte sich heraus, was passiert ist.



Erstes Automobilprojekt. Jahr 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

Entwickelte Benutzeroberfläche für die NTG5-Plattform in 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:



Demonstration der Funktionen der 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-:



Automotive SPICE V-Modell



, — (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 :



Von GENIVI vorgeschlagene Architektur



, -, () 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:



Fotosalon mit HU in Nissan Datsun Cross



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



SmartDeviceLink:



SmartDeviceLink-Architektur



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



Sygic, HU .



SDL Sygic:



Ein Beispiel für die Funktionsweise der Sygic Navigation SDL-Anwendung



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 .



:



Ein Beispiel für verschiedene Fahrzeugsysteme



, 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 :



VWs Versuch, aus einem Auto ein Handy zu machen



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





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



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



Heute ist dies mein aktuelles Projekt ... Jahr 2020.




All Articles