Programador automotriz. A través de las dificultades a las estrellas

imagen



Introducción



La foto fue tomada por mí mientras visitaba la sala de exhibición de BMW en Munich.



Un pequeño artículo sobre cómo es la vida y qué se respira en el grande y torpe mundo de la automoción. El mundo del desarrollo de software, qué tecnologías se utilizan, qué tareas hay que resolver, todo depende únicamente de la experiencia personal. Sí, aquí no voy a revelar la verdad, el software automotriz suele utilizar tecnologías obsoletas y ciclos de desarrollo bastante largos, aunque, por supuesto, hay excepciones: Tesla, por ejemplo. Aunque estas son solo mis suposiciones de lo que puedo leer sobre esta empresa en Internet. El texto contiene pequeños insertos de la biografía del autor.



Y de inmediato una digresión: inicialmente escribí este artículo completamente en ruso, pero luego decidí reemplazar algunos de los términos y abreviaturas en inglés, ya que se encuentran y se mencionan con mayor frecuencia en Internet. Al final resultó lo que pasó.



Primer proyecto automotriz. Año 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

Interfaz de usuario diseñada para la plataforma NTG5 en 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:



Demostración de las capacidades 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-:



SPICE V-modelo automotriz



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



Arquitectura propuesta por 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:



Salón fotográfico con HU en Nissan Datsun Cross



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



SmartDeviceLink:



Arquitectura SmartDeviceLink



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



Sygic, HU .



SDL Sygic:



Un ejemplo de la aplicación SDL de Sygic Navigation



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 ejemplo de varios sistemas de vehículos.



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



El intento de VW de convertir un automóvil en un teléfono móvil



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 ).



Hoy este es mi proyecto actual ... Año 2020.




All Articles