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 PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 38
- 230000015654 memory Effects 0.000 claims abstract description 27
- 238000012795 verification Methods 0.000 claims abstract description 7
- 238000004891 communication Methods 0.000 claims description 41
- 238000002360 preparation method Methods 0.000 abstract description 18
- 238000004590 computer program Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 241000897276 Termes Species 0.000 description 1
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 238000002485 combustion reaction Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000004377 microelectronic Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
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
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.
- 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.
- 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.
- 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.
- 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 :
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.
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.
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.
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.
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)
- 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. - 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. - Procédé selon la revendication 1 ou 2, dans lequel le canal de communication est un canal de communication sans fil.
- Procédé selon la revendication 1 ou 2, dans lequel le canal de communication est un canal de communication filaire.
- 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.
- Véhicule (10) comprenant le calculateur (7) selon la revendication 5.
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)
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 |
-
2021
- 2021-06-03 FR FR2105838A patent/FR3123740A1/fr active Pending
Patent Citations (4)
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'un profil dans un élément sécurisé, gestionnaire et élément sécurisé personnalisable | |
CA3198428A1 (fr) | Procede et systeme de synchronisation d'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'affectation d'un systeme de controle d'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'un terminal par un module d'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 |