FR3123740A1 - Procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué. - Google Patents

Procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué. Download PDF

Info

Publication number
FR3123740A1
FR3123740A1 FR2105838A FR2105838A FR3123740A1 FR 3123740 A1 FR3123740 A1 FR 3123740A1 FR 2105838 A FR2105838 A FR 2105838A FR 2105838 A FR2105838 A FR 2105838A FR 3123740 A1 FR3123740 A1 FR 3123740A1
Authority
FR
France
Prior art keywords
computer
data
information
type
update
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR2105838A
Other languages
English (en)
Inventor
Philippe Babin
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Stellantis Auto Sas Fr
Original Assignee
PSA Automobiles SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by PSA Automobiles SA filed Critical PSA Automobiles SA
Priority to FR2105838A priority Critical patent/FR3123740A1/fr
Publication of FR3123740A1 publication Critical patent/FR3123740A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

La présente invention concerne un procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué, comprenant une étape de réception (31) d’un signal ; une étape d’obtention (32, 34, 36, 38), à partir du signal reçu, de données de préparation de mise à jour ; une étape de vérification (33, 35, 37) que le calculateur est adapté pour se mettre à jour en fonction des données de préparation de mise à jour ; si le calculateur est adapté, une étape de téléchargement (39), à partir du signal, des données de mise à jour, et une étape de mémorisation (40) desdites données de mise à jour dans un emplacement mémoire du calculateur indiqué par lesdites données de préparation de mise à jour. Figure pour l’abrégé : Figure 3

Description

Procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué.
La présente invention concerne les procédés de mise à jour de calculateurs embarqués d’un véhicule, notamment automobile, par exemple autonome, à partir d’un dispositif débarqué.
Arrière-plan technologique
Les véhicules contemporains embarquent nombre de calculateurs assurant chacun une ou plusieurs fonctions, telles que par exemple la gestion de l’aide à la conduite, l’antipatinage, la répartition électronique du freinage ou encore la commande d’actionneurs pour assurer le fonctionnement optimal d’un moteur à combustion.
Ces calculateurs sont aussi appelés UCE (« Unité de Commande Electronique » ou en anglais ECU « Electronic Control Unit »). Ces calculateurs embarquent des logiciels qui sont exécutés pour assurer les fonctions dont ils ont la charge.
Par exemple de calculateur, on peut citer les calculateurs centraux de véhicule tels que par exemple un boîtier de servitude intelligent ou BSI (en anglais « Built-in Systems Interface ») ou encore un module de supervision de véhicule ou VSM (de l’anglais « Vehicle Supervisor Module »).
Des mises à jour de ces calculateurs (des logiciels embarqués) sont parfois nécessaires, par exemple pour ajouter/améliorer une fonctionnalité ou pour corriger une erreur (appelé « bug » en informatique).
Le téléchargement de ces mises à jour est par exemple mis en œuvre en utilisant une connexion de type OTA (de l’anglais « Over-The-Air », ou en français « par voie aérienne ») qui requiert des besoins en mémoire spécifiques au niveau des calculateurs mettant en œuvre cette technologie. Chaque calculateur ciblé par le téléchargement de données de mise à jour via une connexion OTA doit avoir une capacité de mémoire doublée pour recevoir ces données par rapport à un calculateur non compatible avec une connexion OTA. Il est donc primordial de veiller à minimiser le volume des données à mémoriser pour mettre à jour un calculateur embarqué d’un véhicule.
Comme les données téléchargées sont mémorisées dans une mémoire du calculateur à mettre à jour, il n’est pas adapté de former (et de télécharger) un seul fichier comprenant, d’une part, les données de mise à jour et, d’autre part, des données de préparation de mise à jour, lorsque le téléchargement est mis en œuvre via une connexion OTA, car un tel fichier peut demander un emplacement important dans la mémoire du calculateur à cause, notamment, du volume important des données de préparation de mise à jour.
Parmi ces données de préparation de mise à jour (ou paramètres), on peut citer des clés publiques de décryptage des données de mise à jour, des index mémoire utilisés par le calculateur pour gérer l’emplacement de logiciels présents dans l’une de ces mémoires, une référence et/ou une version des données de mise à jour, un type de calculateur, un type de données de mise à jour, etc… Pour chacune de ces données de préparation de mise à jour reçue, le calculateur effectue une action particulière préalablement au traitement des données de mise à jour et à la mémorisation de ces données de mise à jour.
Il est donc important de distinguer les données de préparation de mise à jour des données de mise à jour pour pouvoir les mémoriser séparément. Toutefois il n’existe pas de format définissant une organisation de ces données de préparation de mise à jour.
Un problème technique est de définir un format des données de préparation de mise à jour pour que ces données de préparation de mise à jour soient comprises par le plus grand nombre de calculateurs embarqués dans un véhicule.
Un objet de la présente invention est de définir une procédure de téléchargement de données de mise à jour qui soit comprise par le plus grand nombre de calculateurs embarqués dans un véhicule.
Selon un premier aspect, la présente invention concerne un procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué connecté au calculateur par un canal de communication, ledit procédé comprenant les étapes suivantes :
- réception, par le calculateur, d’un signal via le canal de communication ;
- obtention, à partir du signal reçu, d’une première information identifiant un calculateur destinataire de données de mis à jour ;
- vérification que le calculateur est bien le calculateur destinataire indiqué par la première information ;
- obtention, à partir du signal reçu, d’une deuxième information identifiant une partie matérielle et une partie logicielle du calculateur destinataire ;
- vérification qu’une partie matérielle et qu’une partie logicielle du calculateur sont compatibles avec la partie matérielle et la partie logicielle du calculateur destinataire ;
- obtention, à partir du signal reçu, d’une troisième information représentant au moins une association entre un identifiant de version et un type de données de mise à jour ;
- vérification qu’au moins que la version, indiquée par un identifiant de version associé à un type de données, est postérieure à une version associée audit type de données mémorisées par le calculateur ;
- obtention, à partir du signal reçu, d’une quatrième information indiquant un emplacement mémoire du calculateur destinataire à partir duquel des données de mise à jour d’un certain type de données doivent être mémorisées ; et
- si le calculateur est le calculateur destinataire indiqué par la première information, si la partie matérielle et la partie logicielle du calculateur sont compatibles avec la partie matérielle et la partie logicielle du calculateur destinataire, et si un identifiant de version associé à un type de données de mise à jour indique une version postérieure à une version associée audit type de données mémorisées par le calculateur, téléchargement, à partir du signal, de données de mise à jour dudit type de données, et mémorisation desdites données de mise à jour dans un emplacement mémoire du calculateur indiqué par la quatrième information.
Selon un exemple de réalisation particulier et non limitatif, le procédé comporte en outre les étapes suivantes :
- obtention, à partir du signal reçu, d’une cinquième information identifiant des paramètres d’un encryptage des données de mise à jour ; et
- décryptage des données de mise à jour en fonction des paramètres de cryptage.
Selon un exemple de réalisation particulier et non limitatif, le canal de communication est un canal de communication sans fil.
Selon un exemple de réalisation particulier et non limitatif, le canal de communication est un canal de communication filaire.
Selon un deuxième aspect, la présente invention concerne un procédé d’émission de données de mise à jour d’un calculateur embarqué d’un véhicule par un dispositif débarqué, le dispositif et le calculateur étant connecté via un canal de communication, ledit procédé comprenant les étapes suivantes :
- obtention d’une première information identifiant un calculateur destinataire des données de mis à jour ;
- obtention d’une deuxième information identifiant une partie matérielle et une partie logicielle du calculateur destinataire ;
- obtention d’une troisième information représentant au moins une association entre un identifiant de version et un type de données de mise à jour ;
- obtention d’une quatrième information indiquant un emplacement mémoire du calculateur destinataire à partir duquel des données de mise à jour d’un certain type doivent être mémorisées ;
- génération d’un signal porteur de la première, deuxième, troisième et quatrième informations et porteur de données de mise à jour du type de données de mise à jour indiqué par la troisième information ; et
- émission du signal via le canal de communication.
Selon un exemple de réalisation particulier et non limitatif, le procédé comporte en outre les étapes suivantes :
- encryptage des données de données de mise à jour du type de données indiqué par la troisième information en fonction de paramètres de cryptage ; et
- ajout, au signal, d’une cinquième information identifiant des paramètres de l’encryptage des données de mise à jour.
Selon un exemple de réalisation particulier et non limitatif, le canal de communication est un canal de communication sans fil.
Selon un exemple de réalisation particulier et non limitatif, le canal de communication est un canal de communication filaire.
Selon un troisième aspect, la présente invention concerne un calculateur embarqué de véhicule, le calculateur comprenant une mémoire associée à un processeur configuré pour la mise en œuvre des étapes du procédé selon le premier aspect de la présente invention.
Selon un quatrième aspect, la présente invention concerne un véhicule, par exemple de type automobile, comprenant un calculateur selon le troisième aspect de la présente invention.
Selon un cinquième aspect, la présente invention concerne un programme d’ordinateur qui comporte des instructions adaptées pour l’exécution des étapes du procédé selon le premier ou le deuxième aspect de la présente invention, ceci notamment lorsque le programme d’ordinateur est exécuté par au moins un processeur.
Un tel programme d’ordinateur peut utiliser n’importe quel langage de programmation, et être sous la forme d’un code source, d’un code objet, ou d’un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n’importe quelle autre forme souhaitable.
Selon un sixième aspect, la présente invention concerne un support d’enregistrement lisible par un ordinateur sur lequel est enregistré un programme d’ordinateur comprenant des instructions pour l’exécution des étapes du procédé selon le premier ou le deuxième aspect de la présente invention.
D’une part, le support d’enregistrement peut être n'importe quel entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur.
D'autre part, ce support d’enregistrement peut également être un support transmissible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d’ordinateur selon la présente invention peut être en particulier téléchargé sur un réseau de type Internet.
Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d’ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question.
Brève description des figures
D’autres caractéristiques et avantages de la présente invention ressortiront de la description des exemples de réalisation particuliers et non limitatifs de la présente invention ci-après, en référence aux figures 1 à 4 annexées, sur lesquelles :
illustre schématiquement un environnement de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué, selon un exemple de réalisation particulier et non limitatif de la présente invention ;
illustre un organigramme des différentes étapes d’un procédé d’émission de données de mise à jour par un dispositif débarqué, selon un exemple de réalisation particulier et non limitatif de la présente invention ;
illustre un organigramme des différentes étapes d’un procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué, selon un exemple de réalisation particulier et non limitatif de la présente invention ; et
illustre schématiquement un calculateur embarqué d’un véhicule et configuré pour être mis à jour à partir d’un dispositif débarqué, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Description des exemples de réalisation
Un procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué, un procédé d’émission de données de mise à jour d’un calculateur embarqué d’un véhicule par un dispositif débarqué et un calculateur configuré pour la mise en œuvre des étapes du procédé de mise à jour vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 4. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre.
Selon un exemple particulier et non limitatif de réalisation de la présente invention, un signal est reçu par un calculateur à mettre à jour. Des données de préparation de mise à jour sont obtenues à partir du signal reçu. Il est alors vérifié si le calculateur à mettre à jour est adapté pour se mettre à jour en fonction des données de préparation de mise à jour. Si le calculateur est adapté, des données de mise à jour sont téléchargées à partir du signal reçu, et lesdites données de mise à jour sont mémorisées dans un emplacement mémoire du calculateur indiqué par lesdites données de préparation de mise à jour.
La présente invention est avantageuse car elle permet de distinguer les données de préparation à la mise à jour des données de mise à jour proprement dites. La présente invention permet de standardiser une description (format) des données de préparation de mise à jour et permet ainsi d’unifier l’accès des mises à jour à des calculateurs embarqués du véhicule. Les outils et les procédures de téléchargement peuvent alors être communs quel que soit le calculateur embarqué du véhicule.
illustre schématiquement un environnement 1 de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué, selon un exemple de réalisation particulier et non limitatif de la présente invention.
L’environnement 1 comprend un calculateur 7 embarqué dans un véhicule 10. Le véhicule 10 comporte également des moyens de communications (non représentés) pour créer un canal de communication avec un dispositif 11 débarqué, c’est-à-dire un dispositif qui est distinct du calculateur 7 et qui n’est pas embarqué dans le véhicule 10.
Selon un exemple de réalisation particulier et non limitatif, le canal de communication entre le dispositif 11 et le calculateur 7 est un canal de communication sans fil de type OTA.
Par exemple, sur la , le canal de communication est un canal de communication sans fil établi via une antenne 13 d’une infrastructure réseau de communication 12.
Selon un exemple de réalisation particulier et non limitatif, le canal de communication est un canal de communication filaire.
illustre un organigramme des différentes étapes d’un procédé d’émission de données de mise à jour par un dispositif débarqué 11, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Dans une étape 21, une première information I1 est obtenue. La première information identifie un calculateur destinataire des données de mis à jour.
Dans une étape 22, une deuxième information I2 est obtenue. La deuxième information I2 identifie une partie matérielle et une partie logicielle du calculateur destinataire.
Dans une étape 23, une troisième information I3 est obtenue. La troisième information I3 représente au moins une association entre un identifiant de version et un type de données de mise à jour.
Dans une étape 24, une quatrième information I4 est obtenue. La quatrième étape 24 indique un emplacement mémoire du calculateur destinataire à partir duquel des données de mise à jour d’un certain type doivent être mémorisées.
Dans une étape 25, un signal S est généré. Le signal S est porteur de la première, deuxième, troisième et quatrième informations et porteur de données de mise à jour du type de données indiqué par la troisième information.
Dans une étape 26, le signal S est émis par le dispositif 11 à destination du calculateur 7 via le canal de communication.
Selon un exemple de réalisation particulier et non limitatif, dans une étape 27, optionnelle, des données de données de mise à jour du type de données indiqué par la troisième information sont encryptées en fonction de paramètres de cryptage, et dans une étape 28, optionnelle, une cinquième information I5 identifiant des paramètres de l’encryptage des données de mise à jour est ajoutée au signal S qui porte alors aussi cette cinquième information I5.
Selon un exemple de réalisation particulier et non limitatif, la première, deuxième, troisième et quatrième informations sont obtenues par saisie informatique effectuée par un opérateur via une interface graphique.
Selon un exemple de réalisation particulier et non limitatif, la première, deuxième, troisième et quatrième informations sont obtenues à partir d’une mémoire.
Selon un exemple de réalisation particulier et non limitatif, la première, deuxième, troisième et quatrième informations sont obtenues par lecture d’une plaque signalétique de véhicule ou d’un code barre.
Selon un exemple de réalisation particulier et non limitatif, la première, deuxième, troisième, quatrième et cinquième informations sont regroupées dans un fichier ODX (« Open Diagnostic eXchange » en anglais) dont la syntaxe est conforme à la norme ISO 22901.
Les Annexes 1 à 4 présentent des exemples non limitatifs de syntaxes au format XML (de l’anglais « Extensible Markup Language », « langage de balisage » en français) obtenues à partir d’un fichier ODX. Le format XML est un métalangage informatique de balisage générique dont la grammaire est reconnaissable par l’usage de chevrons (<…>) encadrant des noms de balise.
Selon l’exemple de l’annexe 1, la première information I1 est représentée par une balise intitulée « ECU-MEM ID” qui indique ici que le calculateur destinataire des données de mis à jour est un calculateur identifié par la chaîne de caractères « VSM », sous-entendant que le calculateur destinataire est un calculateur central VSM. La deuxième information I2 est représentée par une balise « EXPECTED-IDENTS » qui comprend trois balises « EXPECTED-IDENT ». La première balise « EXPECTED-IDENT » fait référence à l’identification de la partie matérielle (« VSM_HW_01 ») du calculateur destinataire et à une référence particulière d’une partie matérielle (« HARDWARE_REFERENCES »). La deuxième balise « EXPECTED-IDENT » fait référence à l’identification de la partie logicielle (VSM_BOOT_01) du calculateur destinataire qui est renseignée par une référence particulière (TBD--_0000) qui doit être utilisée pour la vérification de la partie logicielle (BOOT_REFERENCES_CHECK). La troisième balise « EXPECTED-IDENT » fait référence à l’identification de la partie matérielle en indiquant (ECUMEM.TYPE_01) que la partie matérielle du calculateur destinataire est la partie matérielle cible (TARGET).
Selon l’exemple de l’annexe 2, la troisième information I3 est représentée par une balise (DATABLOCK-REFS) qui indique que des données de mise à jour du calculateur destinataire vont être listées par leurs identifiants de logiciels ainsi que leurs versions de logiciels (DATABLOCK-REF ID-REF).
Selon l’exemple de l’annexe 3, la quatrième information I4 est représentée par une balise (DATABLOCK ID) qui indique un emplacement mémoire (SEGMENT ID, SOURCE-START-ADDRESS) du calculateur destinataire à partir duquel des données de mise à jour d’un certain type (« 98000021_0001" TYPE="3;1") doivent être mémorisées.
Selon l’exemple de l’annexe 4, la cinquième information I5 est représentée par une balise (ENCRYPT-COMPRESS-METHOD) identifiant des paramètres de l’encryptage (TYPE="A_BYTEFIELD">21) des données de mise à jour.
Ces exemples de syntaxe ne sont donnés qu’à titre illustratif et bon nombre de variantes sont possibles sans pour cela sortir de la portée de la présente invention.
illustre un organigramme des différentes étapes d’un procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Dans une étape 31, un signal S est reçu par le calculateur 7 via un canal de communication.
Dans une étape 32, une première information I1 est obtenue à partir du signal S. La première information I1 identifie un calculateur destinataire de données de mis à jour.
Dans une étape 33, il est vérifié si le calculateur 7 est bien le calculateur destinataire indiqué par la première information I1.
Par exemple, le calculateur 7 est identifié comme étant le calculateur destinataire si une chaîne de caractères identifiant le calculateur 7 est identique à une chaîne de caractères renseignant une balise XML représentant la première information I1.
Dans une étape 34, une deuxième information I2 est obtenue à partir du signal S. La deuxième information I2 identifie une partie matérielle et une partie logicielle du calculateur destinataire.
Dans une étape 35, il est vérifié si une partie matérielle et une partie logicielle du calculateur 7 sont compatibles avec la partie matérielle et la partie logicielle du calculateur destinataire.
Par exemple, une partie matérielle et une partie logicielle du calculateur 7 sont compatibles avec la partie matérielle et la partie logicielle du calculateur destinataire si au moins une chaîne de caractères relative à la partie matérielle et/ou logicielle du calculateur 7 est identique à au moins une chaîne de caractères renseignant au moins une balise XML représentant la deuxième information I2.
Dans une étape 36, une troisième information I3 est obtenue à partir du signal S. La troisième information I3 représente au moins une association entre un identifiant de version et un type de données de mise à jour.
Dans une étape 37, il est vérifié qu’au moins une version, indiquée par un identifiant de version associé à un type de données, est postérieure (plus récente) à une version associée à ce type de données mémorisées par le calculateur.
Par exemple, la version associée à un type de données est postérieure à une version associée à ce type de données mémorisées par le calculateur 7 si au moins une chaîne de caractères représentative d’une version associée à ce type de données mémorisées par le calculateur 7 indique que ladite version est plus récente qu’une version représentée par une chaîne de caractères renseignant une balise XML représentant la troisième information I3.
Dans une étape 38, une quatrième information I4 est obtenue à partir du signal S. La quatrième information I4 indique un emplacement mémoire du calculateur destinataire à partir duquel des données de mise à jour d’un certain type de données doivent être mémorisées.
Par exemple, un emplacement mémoire du calculateur destinataire, à partir duquel des données de mise à jour d’un certain type doivent être mémorisées, est identifié par au moins une chaîne de caractères renseignant au moins une balise XML représentant la quatrième information I4.
Si le calculateur 7 est le calculateur destinataire indiqué par la première information I1, si la partie matérielle et la partie logicielle du calculateur 7 sont compatibles avec la partie matérielle et la partie logicielle du calculateur destinataire, et si un identifiant de version associé à un type de données de mise à jour indique une version postérieure à une version associée à ce type de données mémorisées par le calculateur, dans une étape 39, des données de mise à jour dudit type de données sont téléchargées sur la calculateur 7 à partir du signal S.
Dans une étape 40, les données de mise à jour téléchargées sont mémorisées dans un emplacement mémoire du calculateur 7 indiqué par la quatrième information I4.
Selon un exemple de réalisation particulier et non limitatif, dans une étape 41, optionnelle, une cinquième information I5 est obtenue à partir du signal S. La cinquième information I5 identifie des paramètres d’un encryptage des données de mise à jour.
Dans une étape 42, optionnelle, les données de mise à jour reçues sont décryptées en fonction des paramètres de cryptage.
illustre schématiquement le calculateur 7 embarqué du véhicule 10 et configuré pour être mis à jour à partir du dispositif 11, selon un exemple de réalisation particulier et non limitatif de la présente invention.
Le calculateur 7 est par exemple configuré pour la mise en œuvre des étapes du procédé décrit en regard de la . Les éléments du calculateur 7, individuellement ou en combinaison, peuvent être intégrés dans un unique circuit intégré, dans plusieurs circuits intégrés, et/ou dans des composants discrets. Le calculateur 7 peut être réalisé sous la forme de circuits électroniques ou de modules logiciels (ou informatiques) ou encore d’une combinaison de circuits électroniques et de modules logiciels.
Le calculateur 7 comprend un (ou plusieurs) processeur(s) 70 configurés pour exécuter des instructions pour la réalisation des étapes du procédé et/ou pour l’exécution des instructions du ou des logiciels embarqués dans le calculateur 7. Le processeur 70 peut inclure de la mémoire intégrée, une interface d’entrée/sortie, et différents circuits connus de l’homme du métier. Le calculateur 7 comprend en outre au moins une mémoire 71 correspondant par exemple à une mémoire volatile et/ou non volatile et/ou comprend un dispositif de stockage mémoire qui peut comprendre de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, disque magnétique ou optique.
Le code informatique du ou des logiciels embarqués comprenant les instructions à charger et exécuter par le processeur est par exemple stocké sur la mémoire 71.
Selon différents exemples de réalisation particuliers et non limitatifs, le calculateur 7 est couplé en communication avec d’autres dispositifs ou systèmes similaires et/ou avec des dispositifs de communication, par exemple une TCU (de l’anglais « Telematic Control Unit » ou en français « Unité de Contrôle Télématique »), par exemple par l’intermédiaire d’un bus de communication ou au travers de ports d’entrée / sortie dédiés.
Selon un exemple de réalisation particulier et non limitatif, le calculateur 7 comprend un bloc 72 d’éléments d’interface pour communiquer avec des dispositifs externes, par exemple le dispositif 11. Les éléments d’interface du bloc 72 comprennent une ou plusieurs des interfaces suivantes :
- interface radiofréquence RF, par exemple de type Wi-Fi® (selon IEEE 802.11), par exemple dans les bandes de fréquence à 2,4 ou 5 GHz, ou de type Bluetooth® (selon IEEE 802.15.1), dans la bande de fréquence à 2,4 GHz, ou de type Sigfox utilisant une technologie radio UBN (de l’anglais Ultra Narrow Band, en français bande ultra étroite), ou LoRa dans la bande de fréquence 868 MHz, LTE (de l’anglais « Long-Term Evolution » ou en français « Evolution à long terme »), LTE-Advanced (ou en français LTE-avancé) ;
- interface USB (de l’anglais « Universal Serial Bus » ou « Bus Universel en Série » en français) ;
- interface HDMI (de l’anglais « High Definition Multimedia Interface », ou « Interface Multimedia Haute Definition » en français) ;
- interface LIN (de l’anglais « Local Interconnect Network », ou en français « Réseau interconnecté local »).
Des données telles que des données de mise à jour et des données de préparation de mise à jour, sont par exemples chargées vers le calculateur 7 via l’interface du bloc 72 en utilisant un réseau Wi-Fi® tel que selon IEEE 802.11, un réseau ITS G5 basé sur IEEE 802.11p ou un réseau mobile tel qu’un réseau 4G (ou 5G) basé sur la norme LTE (de l’anglais Long Term Evolution) définie par le consortium 3GPP notamment un réseau LTE-V2X.
Selon un autre exemple de réalisation particulier et non limitatif, le calculateur 7 comprend une interface de communication 73 qui permet d’établir une communication avec d’autres dispositifs (tels que le dispositif 11) via un canal de communication 74. L’interface de communication 73 correspond par exemple à un transmetteur configuré pour transmettre et recevoir des informations et/ou des données via le canal de communication 74. L’interface de communication 73 correspond par exemple à un réseau filaire de type CAN (de l’anglais « Controller Area Network » ou en français « Réseau de contrôleurs »), CAN FD (de l’anglais « Controller Area Network Flexible Data-Rate » ou en français « Réseau de contrôleurs à débit de données flexible »), FlexRay (standardisé par la norme ISO 17458) ou Ethernet (standardisé par la norme ISO/IEC 802-3).
Des données telles que des données de mise à jour et des données de préparation de mise à jour, sont par exemples chargées vers le calculateur 7 à travers l’interface de communication 73 via le canal de communication 74.
Selon un exemple de réalisation particulier et non limitatif, le calculateur 7 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu’un écran d’affichage 75, tactile ou non, un ou des haut-parleurs 76 et/ou d’autres périphériques 77 (système de projection) via respectivement des interfaces de sortie 78, 79 et 80. Selon une variante, l’un ou l’autre des dispositifs externes est intégré au calculateur 7.
Bien entendu, la présente invention ne se limite pas aux exemples de réalisation décrits ci-avant mais s’étend à un procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué, ou à un procédé d’émission de données de mise à jour d’un calculateur embarqué d’un véhicule par un dispositif débarqué, qui inclurait des étapes secondaires sans pour cela sortir de la portée de la présente invention. Il en serait de même d’un dispositif configuré pour la mise en œuvre d’un tel procédé.
La présente invention concerne également un véhicule, par exemple automobile ou plus généralement un véhicule autonome à moteur terrestre, comprenant le calculateur 7 de la .
Annexe 1
<?xml version="1.0" encoding="UTF-8"?>
<ODX xmlns:xsi="http://www.w3.org/2001/XMLSchema instance"xsi:noNamespaceSchemaLocation="odx.xsd" MODELVERSION="2.2.0">
<FLASH ID="FLASH01.ID">
<SHORT-NAME>FLASH_ECU_ALL_VSM_r1</SHORT-NAME>
<ECU-MEMS>
<ECU-MEM ID="VSM">
<MEM>
<SESSIONS>
<SESSION ID="VSM_COMPATIBILITY_SESSION_1">
<SHORT-NAME>REPROG_SESSION_STEP_1</SHORT-NAME>
<LONG-NAME>Progamm Code and Data Segments 1 and 2 step 1</LONG-NAME>
<EXPECTED-IDENTS>
<EXPECTED-IDENT ID="VSM_HW_01">
<SHORT-NAME>HARDWARE_REFERENCES</SHORT-NAME>
<IDENT-VALUES>
<IDENT-VALUE TYPE="A_BYTEFIELD">TBD--_0000</IDENT-VALUE>
</IDENT-VALUES>
</EXPECTED-IDENT>
<EXPECTED-IDENT ID="VSM_BOOT_01">
<SHORT-NAME>BOOT_REFERENCES_CHECK</SHORT-NAME>
<IDENT-VALUES>
<IDENT-VALUE TYPE="A_BYTEFIELD">TBD--_0000</IDENT-VALUE>
</IDENT-VALUES>
</EXPECTED-IDENT>
<EXPECTED-IDENT ID="ECUMEM.TYPE_01">
<SHORT-NAME>TARGET</SHORT-NAME>
<IDENT-VALUES>
<IDENT-VALUE TYPE="A_BYTEFIELD">1_1</IDENT-VALUE>
</IDENT-VALUES>
</EXPECTED-IDENT>
</EXPECTED-IDENTS>
<DATABLOCK-REFS>
<DATABLOCK-REF ID-REF="DATABLOCK05.ID" DOCTYPE="FLASH"/>
</DATABLOCK-REFS>
</SESSION>
Annexe 2
<DATABLOCK-REFS>
<DATABLOCK-REF ID-REF="98000011_0001" DOCTYPE="FLASH"/>
<DATABLOCK-REF ID-REF="98000012_0001" DOCTYPE="FLASH"/>
<DATABLOCK-REF ID-REF="98000021_0001" DOCTYPE="FLASH"/>
<DATABLOCK-REF ID-REF="98000022_0001" DOCTYPE="FLASH"/>
</DATABLOCK-REFS>
Annexe 3
<DATABLOCK ID="98000021_0001" TYPE="3;1">
<SHORT-NAME>CODE_V01</SHORT-NAME>
<FLASHDATA-REF ID-REF="FLASH_CAL01.ID" DOCTYPE="FLASH"/>
<SEGMENTS>
<SEGMENT ID="xxxx">
<SHORT-NAME>CODE_SEG_V01</SHORT-NAME>
<SOURCE-START-ADDRESS>A00B0000</SOURCE-START-ADDRESS>
<UNCOMPRESSED-SIZE>16384</UNCOMPRESSED-SIZE>
<COMPRESSION-METHOD>0</COMPRESSION-METHOD>
</SEGMENT>
</SEGMENTS>
Annexe 4
<FLASHDATAS>
<FLASHDATA ID="FLASH_SW01.ID" xsi:type="EXTERN-FLASHDATA">
<SHORT-NAME>FLASH_SW_SEGMENT1_V01</SHORT-NAME>
<DATAFORMAT SELECTION="BINARY"/>
<DATAFILE LATEBOUND
DATAFILE="true">00_DUMMY_APPL_HW_1.bin</DATAFILE>
<ENCRYPT-COMPRESS-METHOD TYPE="A_BYTEFIELD">21</ENCRYPT
COMPRESS-METHOD>
</FLASHDATA>
</FLASHDATAS>

Claims (6)

  1. Procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué connecté au calculateur par un canal de communication, ledit procédé comprenant les étapes suivantes :
    - réception (31), par le calculateur, d’un signal via le canal de communication ;
    - obtention (32), à partir du signal reçu, d’une première information identifiant un calculateur destinataire de données de mis à jour ;
    - vérification (33) que le calculateur est bien le calculateur destinataire indiqué par la première information ;
    - obtention (34), à partir du signal reçu, d’une deuxième information identifiant une partie matérielle et une partie logicielle du calculateur destinataire ;
    - vérification (35) qu’une partie matérielle et qu’une partie logicielle du calculateur sont compatibles avec la partie matérielle et la partie logicielle du calculateur destinataire ;
    - obtention (36), à partir du signal reçu, d’une troisième information représentant au moins une association entre un identifiant de version et un type de données de mise à jour ;
    - vérification (37) qu’au moins une version, indiquée par un identifiant de version associé à un type de données, est postérieure à une version associée audit type de données mémorisées par le calculateur ;
    - obtention (38), à partir du signal reçu, d’une quatrième information indiquant un emplacement mémoire du calculateur destinataire à partir duquel des données de mise à jour d’un certain type de données doivent être mémorisées ; et
    - si le calculateur est le calculateur destinataire indiqué par la première information, si la partie matérielle et la partie logicielle du calculateur sont compatibles avec la partie matérielle et la partie logicielle du calculateur destinataire, et si un identifiant de version associé à un type de données de mise à jour indique une version postérieure à une version associée audit type de données mémorisées par le calculateur, téléchargement (39), à partir du signal, de données de mise à jour dudit type de données, et mémorisation (40) desdites données de mise à jour dans un emplacement mémoire du calculateur indiqué par la quatrième information.
  2. Procédé selon la revendication 1, qui comporte en outre les étapes suivantes :
    - obtention (41), à partir du signal reçu, d’une cinquième information (I5) identifiant des paramètres d’un encryptage des données de mise à jour ; et
    - décryptage (42) des données de mise à jour en fonction des paramètres de cryptage.
  3. Procédé selon la revendication 1 ou 2, dans lequel le canal de communication est un canal de communication sans fil.
  4. Procédé selon la revendication 1 ou 2, dans lequel le canal de communication est un canal de communication filaire.
  5. Calculateur (7) embarqué de véhicule, comprenant une mémoire (71) associée à au moins un processeur (70) configuré pour la mise en œuvre des étapes du procédé selon l’une quelconque des revendications 1 à 4.
  6. Véhicule (10) comprenant le calculateur (7) selon la revendication 5.
FR2105838A 2021-06-03 2021-06-03 Procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué. Pending FR3123740A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR2105838A FR3123740A1 (fr) 2021-06-03 2021-06-03 Procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué.

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR2105838A FR3123740A1 (fr) 2021-06-03 2021-06-03 Procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué.
FR2105838 2021-06-03

Publications (1)

Publication Number Publication Date
FR3123740A1 true FR3123740A1 (fr) 2022-12-09

Family

ID=78483331

Family Applications (1)

Application Number Title Priority Date Filing Date
FR2105838A Pending FR3123740A1 (fr) 2021-06-03 2021-06-03 Procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué.

Country Status (1)

Country Link
FR (1) FR3123740A1 (fr)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180217828A1 (en) * 2017-01-31 2018-08-02 Ford Global Technologies, Llc Over-the-air updates security
FR3067136A1 (fr) * 2017-05-30 2018-12-07 Peugeot Citroen Automobiles Sa Procede de mise a jour d’un calculateur embarque de vehicule
US20190095187A1 (en) * 2017-09-28 2019-03-28 Trillium Incorporated Incremental updates in static libraries
FR3091608A1 (fr) * 2019-01-04 2020-07-10 Psa Automobiles Sa Procédé et dispositif de mise à jour d’une unité de commande électronique

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180217828A1 (en) * 2017-01-31 2018-08-02 Ford Global Technologies, Llc Over-the-air updates security
FR3067136A1 (fr) * 2017-05-30 2018-12-07 Peugeot Citroen Automobiles Sa Procede de mise a jour d’un calculateur embarque de vehicule
US20190095187A1 (en) * 2017-09-28 2019-03-28 Trillium Incorporated Incremental updates in static libraries
FR3091608A1 (fr) * 2019-01-04 2020-07-10 Psa Automobiles Sa Procédé et dispositif de mise à jour d’une unité de commande électronique

Similar Documents

Publication Publication Date Title
EP3474583B1 (fr) Procédés de chargement d&#39;un profil dans un élément sécurisé, gestionnaire et élément sécurisé personnalisable
CA3198428A1 (fr) Procede et systeme de synchronisation d&#39;evenements dans un reseau sans fil securise
FR3123740A1 (fr) Procédé de mise à jour d’un calculateur embarqué d’un véhicule à partir d’un dispositif débarqué.
EP3970128A1 (fr) Procede d&#39;affectation d&#39;un systeme de controle d&#39;un vehicule tele-controle
FR3091608A1 (fr) Procédé et dispositif de mise à jour d’une unité de commande électronique
WO2015092307A1 (fr) Procédé de test et de mise à jour du système d&#39;un terminal par un module d&#39;identité de souscripteur et dispositifs associés
FR3096860A1 (fr) Procédé et dispositif de communication d’informations relatives à un ou plusieurs trajets
FR3140195A1 (fr) Procédé et dispositif de transmission de données de tentative d’enregistrement de dispositifs d’accès main libre pour véhicule
FR3105703A1 (fr) Technique d’administration d’un profil d’accès à un réseau de communication
FR3100415A1 (fr) Procédé et dispositif de communication entre un véhicule et un réseau mobile terrestre public
WO2021240082A1 (fr) Procédé et système de communication dans un réseau cellulaire sans fil
FR3077457A1 (fr) Procede de gestion des acces a une infrastructure de telecommunication comprenant des reseaux publics et prives et dispositifs associes
WO2022167740A1 (fr) Procédé et dispositif de validation de synchronisation temporelle entre calculateurs embarqués de véhicule
EP4439279A1 (fr) Procédé de mise à niveau basé sur la technologie par liaison radio (ota), et appareil de communication
FR3136624A1 (fr) Dispositif de communication d’un satellite permettant de communiquer avec des véhicules
FR3140966A1 (fr) Procédé et dispositif de communication pour véhicule comprenant une chaine de blocs
FR3092684A1 (fr) Procédé et dispositif de mise à jour d’une unité de commande électronique
FR3107154A1 (fr) Procédé et système de contrôle d’accès à un véhicule
FR3140235A1 (fr) Procédé et dispositif de communication de données d’identification de véhicule
FR3093218A1 (fr) récupération de données stockées sur une clé d’un véhicule
WO2020174137A1 (fr) Procédé et dispositif de cryptographie symétrique pour calculateur de véhicule
FR3136564A1 (fr) Procédé et dispositif de contrôle de rendu d’un contenu sonore dans un véhicule avec spatialisation du son
FR3145321A1 (fr) Procédé et dispositif de contrôle d’un système de projection au sol d’un faisceau lumineux représentatif d’une largeur d’un gabarit d’un ensemble motorisé
FR3126249A1 (fr) Procédé, dispositif et système d’autorisation d’accès à un véhicule partagé
FR3124047A1 (fr) Procédé et dispositif de détermination d’une cartographie de zones non couvertes par un réseau de communication cellulaire

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20221209

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

CD Change of name or company name

Owner name: STELLANTIS AUTO SAS, FR

Effective date: 20240423