Brevet FR3092684A1 — publié le 20200814

Description Titre de l'invention : Procédé et dispositif de mise à jour d'une unité de commande électronique Domaine technique [0001] L'invention concerne les procédés et dispositifs de mise à jour logicielle d'un système embarqué de véhicule, notamment de type automobile. Arrière-plan technologique [0002] 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, de l'antipatinage, de la répartition électronique du freinage ou encore la commande d'actionneurs pour assurer le fonctionnement optimal d'un moteur à combustion. [0003] 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. Des mises à jour de ces logiciels sont parfois nécessaires, par exemple pour améliorer une fonction ou pour corriger une erreur, aussi appelée « bug » en informatique. [0004] Le téléchargement de ces mises à jour est par exemple mis en oeuvre 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 du système embarqué mettant en oeuvre cette technologie. Chaque calculateur ciblé par le téléchargement de données de mise à jour ou d'un logiciel additionnel via une connexion OTA doit avoir une capacité de mémoire doublée pour recevoir les données par rapport à un calculateur non compatible avec une connexion OTA. Résumé de l'invention [0005] Un objet de la présente invention est d'optimiser les besoins en mémoire spécifiques à la mise en oeuvre d'une fonction OTA au niveau d'un système embarqué de véhicule. [0006] Selon un premier aspect, l'invention concerne un calculateur de système embarqué de véhicule, le système embarqué comprenant le calculateur, dit calculateur principal, connecté à un ensemble de calculateurs secondaires comprenant au moins un calculateur secondaire, le calculateur principal comprenant : au moins un processeur ; un premier espace mémoire adapté pour stocker des données représentatives d'au moins un logiciel à exécuter par le calculateur principal ; un deuxième espace mémoire adapté pour stocker des données représentatives de mise à jour d'au moins un logiciel à exécuter par au moins un premier calculateur secondaire de l'ensemble de calculateurs secondaires, la taille du 2 deuxième espace mémoire étant fonction de la taille de l'espace mémoire d'au moins un deuxième calculateur secondaire de l'ensemble de calculateurs secondaires ; des moyens de transmission des données représentatives de mise à jour à le au moins un premier calculateur secondaire. [0007] Selon une variante, le deuxième espace mémoire est en outre adapté pour stocker des données représentatives d'une configuration courante du au moins un premier calculateur secondaire. [0008] Selon encore une variante, le calculateur comprend en outre des moyens de réception des données représentatives de mise à jour. [0009] Selon une variante supplémentaire, le au moins deuxième calculateur secondaire correspond au calculateur secondaire du système embarqué ayant la taille de mémoire la plus élevée, la taille du deuxième espace mémoire étant au moins égale à la taille du au moins un deuxième calculateur secondaire. [0010] Selon une autre variante, le au moins un premier calculateur secondaire correspond à le au moins un deuxième calculateur. [0011] Selon un deuxième aspect, l'invention concerne un procédé de mise à jour d'un logiciel à exécuter par un premier calculateur secondaire d'un système embarqué dans un véhicule, le premier calculateur secondaire étant connecté à un calculateur principal du système embarqué, le calculateur principal comprenant un premier espace mémoire adapté pour stocker des données représentatives d'au moins un logiciel à exécuter par le calculateur principal, le procédé comprenant les étapes de : stockage, dans un deuxième espace mémoire du calculateur principal, de données représentatives de la mise à jour du au moins un logiciel à exécuter par le premier calculateur secondaire, la taille du deuxième espace mémoire étant fonction de la taille de l'espace mémoire d'au moins un deuxième calculateur secondaire du système embarqué connecté au calculateur principal ; transmission, par le calculateur principal, des données représentatives de mise à jour à le au moins un premier calculateur secondaire. [0012] Selon une variante, le procédé comprend en outre une étape de stockage de données représentatives d'une configuration courante du au moins un premier calculateur secondaire dans le deuxième espace mémoire. [0013] Selon encore une variante, le procédé comprend en outre une étape de réception des données représentatives de mise à jour. [0014] Selon une variante supplémentaire, le au moins deuxième calculateur secondaire correspond au calculateur secondaire du système embarqué ayant la taille de mémoire la plus élevée, la taille du deuxième espace mémoire étant au moins égale à la taille du au moins un deuxième calculateur secondaire. 3 100151 Selon encore une autre variante, le au moins premier calculateur secondaire correspond à le au moins un deuxième calculateur. [0016] Selon un troisième aspect, l'invention concerne un système embarqué dans un véhicule comprenant un ou plusieurs calculateurs secondaires et un calculateur tel que décrit ci-dessus selon le premier aspect de l'invention. [0017] Selon un quatrième aspect, l'invention concerne un véhicule, par exemple de type au- tomobile, comprenant le calculateur tel que décrit ci-dessus selon le premier aspect de l' invention. [0018] Selon un cinquième aspect, l'invention concerne un programme d'ordinateur qui comporte des instructions adaptées pour l'exécution des étapes du procédé selon le deuxième aspect de l'invention, ceci notamment lorsque le programme d'ordinateur est exécuté par au moins un processeur. [0019] Un tel programme d'ordinateur peut utiliser n'importe quel langage de pro- grammation, 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. [0020] Selon un sixième aspect, l'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 aspect de l'invention. [0021] 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. [0022] D'autre part, ce support d'enregistrement peut également être un support trans- missible 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 l'invention peut être en particulier téléchargé sur un réseau de type Internet. [0023] 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 [0024] D'autres caractéristiques et avantages de l'invention ressortiront de la description des modes de réalisation non limitatifs de l'invention ci-après, en référence aux figures 1 à 3 annexées, sur lesquelles : [0025] [fig.]] illustre de façon schématique un environnement de mise à jour d'un système embarqué dans un véhicule, selon un exemple de réalisation particulier de la présente invention ; [0026] [fig.2] illustre schématiquement un calculateur du système embarqué de la figure 1, selon un exemple de réalisation particulier de la présente invention ; [0027] [fig.3] illustre un organigramme des différentes étapes d'un procédé de mise à jour du système embarqué de la figure 1, selon un exemple de réalisation particulier de la présente invention ; [0028] [fig.4] illustre un organigramme des différentes étapes d'un procédé de mise à jour du système embarqué de la figure 1, selon un autre exemple de réalisation particulier de la présente invention. Description des modes de réalisation [0029] Un système embarqué dc véhicule ainsi que le procédé de mise à jour d'un logiciel d'un calculateur de ce système embarqué vont maintenant être décrits dans cc qui va suivre en référence conjointement aux figures 1 à 4. [0030] Selon un exempte particulier et non limitatif dc réalisation de l'invention, un cal- culateur, appelé calculateur principal, d'un système embarqué de véhicule est connecté à un ou plusieurs calculateurs secondaires du système embarqué. Le calculateur principal comprend un ou plusieurs processeurs associés à un premier espace mémoire et à un deuxième espace mémoire. Le premier espace mémoire est adapté au stockage de données représentatives d'un ou plusieurs logiciels installés sur le calculateur principal pour exécution par de dernier. Le deuxième espace mémoire est adapté au stockage dc données représentatives de la mise à jour d'un ou plusieurs logiciels installés sur un calculateur secondaire du système embarqué pour exécution par cc calculateur secondaire La taille du deuxième espace mémoire est fonction de la taille de l'espace mémoire d'un calculateur secondaire du système embarqué, par exemple le calculateur secondaire à mettre à jour ou un autre calculateur secondaire. La taille d'un espace mémoire correspond à la capacité de cet espace mémoire, c'est-à-dire à la quantité d'information qu'il est possible de stocker ou enregistrer sur cet espace mémoire. La taille de l'espace mémoire est par exemple exprimée en octets, kilo-octets (Ko), méga-octets (Mo) ou giga-octets (Go). Le calculateur principal comprend également des moyens de transmission configurés pour transmettre les données de mise à jour stockés dans le deuxième espace mémoire au calculateur secondaire à mettre à jour. [0031] La mise à jour du ou des logiciels à installer sur le calculateur secondaire prend par exemple la forme de données représentatives d'une évolution ou d'une correction d'un logiciel déjà installé. Selon une variante, la mise à jour prend la forme de données représentatives d'un nouveau logiciel (ou logiciel additionnel) à installer sur le calculateur secondaire, c'est-à-dire un logiciel qui n'est pas déjà installé sur le calculateur secondaire. [0032] Augmenter la capacité de la mémoire du calculateur principal par l'ajout d'un deuxième espace mémoire permet d'éviter à avoir à augmenter la capacité de la mémoire de chacun des calculateurs secondaires du système embarqué pour mise à jour ou installation de logiciel par l'intermédiaire d'une connexion OTA. Le deuxième espace mémoire sert de mémoire tampon pour tout le système embarqué. [0033] Des modes de réalisation d'un procédé de mise à jour du ou des logiciels sont également décrits. [0034] [fig.1] illustre de façon schématique un système embarqué 100 dans un véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention. [0035] Le système 100 est avantageusement embarqué dans un véhicule, par exemple de type automobile. Le système 100 comprend par exemple un calculateur principal 11 connecté à un ou plusieurs calculateurs secondaires 12, 13. Le calculateur principal 11 correspond par exemple à un calculateur de type UCE. Une UCE est composée d'un calculateur électronique et d'un ou plusieurs logiciels embarqués qui réalisent un ou plusieurs asservissements. Les calculateurs secondaires 12 et 13 sont par exemple eux aussi de type UCE. Le calculateur principal 11 est aussi appelé calculateur orchestreur (ou ECU orchestreur) en ce qu'il est responsable de l'orchestration et du contrôle de la mise à jour logicielle de l'ensemble des calculateurs 11, 12 et 13. Les calculateurs 11, 12, 13 forment par exemple une architecture multiplexée pour la réalisation de différents services utiles pour le bon fonctionnement du véhicule et pour assister le conducteur et/ou les passagers du véhicule dans le contrôle du véhicule. [0036] Les calculateurs 11, 12 et 13 communiquent et échangent des données entre eux par l'intermédiaire d'un ou plusieurs bus informatiques, par exemple un bus de communication de type bus de données CAN (de l'anglais « Controller Area Network » ou en français « Réseau de contrôleurs »). [0037] Chaque calculateur comprend un espace mémoire, par exemple de la mémoire volatile et/ou non volatile, telle que EEPROM, ROM, PROM, RAM, DRAM, SRAM, flash, dédié au stockage du code informatique du ou des logiciels embarqués comprenant les paramètres et instructions à charger et exécuter par le processeur de chaque calculateur. Ainsi, le calculateur secondaire 12 comprend un espace mémoire 121 et le calculateur secondaire 13 comprend un espace mémoire 131. Le calculateur principal 11 diffère de chacun des calculateurs secondaires 12 et 13 en ce qu'il 6 comprend deux espaces mémoires, à savoir un premier espace mémoire 111 et un deuxième espace mémoire 112. Le premier espace mémoire 111 est dédié au stockage de données représentatives du ou des logiciels embarqués sur le calculateur principal 11, pour exécution par le calculateur principal 11. Le deuxième espace mémoire 112 est dédié au stockage de données représentatives de la mise à jour d'un ou plusieurs logiciels embarqués sur l'un et/ou l'autre des calculateurs secondaires 12, 13. La taille du deuxième espace mémoire 112 est fonction de la taille de l'espace mémoire 121 du calculateur secondaire 12 ou de la taille de l'espace mémoire 131 du calculateur secondaire 13. Par exemple, la taille du deuxième espace mémoire 112 est égale à la taille de l'espace mémoire du calculateur secondaire ayant le plus grand espace mémoire. Par exemple, si la taille de l'espace mémoire 121 est égale à 5 Mo et si la taille de l'espace mémoire 131 est égale à 10 Mo alors la taille du deuxième espace mémoire 112 est égale à 10 Mo. Assigner une capacité d'espace mémoire la plus élevée des calculateurs secondaires au deuxième espace mémoire 112 du calculateur principal 11 permet d'assurer que toute mise à jour ou tout nouveau logiciel à installer sur l'un quelconque des calculateurs secondaires pourra être téléchargé et stocké temporairement sur le deuxième espace mémoire 112 qui fait office de mémoire tampon. [0038] Une telle mise en oeuvre évite d'avoir à doubler l'espace mémoire de chaque cal- culateur du système embarqué 100, seul l'espace mémoire du calculateur principal 11 étant augmenté. Une telle mise en oeuvre permet également de limiter l'impact d'une mise en compatibilité OTA avec un calculateur secondaire déjà présent dans le système embarqué en évitant de lui ajouter de la mémoire et de modifier potentiellement la configuration matérielle de ce calculateur secondaire déjà présent, une nouvelle configuration matérielle (par exemple changement de classe de processeur) pouvant être requise avec l'ajout de mémoire. Cela permet alors de réduire le coût du système embarqué et/ou le coût relatif à la mise en compatibilité OTA de tout ou partie du système embarqué. [0039] Le calculateur principal 11 est relié à un dispositif externe 10 via une connexion filaire ou sans fil. Le dispositif externe 10 est par exemple un serveur distant du « cloud » (ou « nuage » en français). Le calculateur principal 11 charge par exemple les mises à jour logicielles stockées pour téléchargement dans le dispositif externe 11 via par exemple l'Internet avec une connexion de type OTA (de l'anglais « over-the-air », ou en français « par voie aérienne »). [0040] Bien entendu, le nombre de calculateurs du système 100 n'est pas limité à 3 et s'étend à tout nombre, par exemple 10, 20, 50, 100 ou plus de calculateurs. Un exemple de réalisation matérielle d'un tel calculateur principal 11 est décrit en regard de la figure 2. [0041] [fig.2] 7 illustre schématiquement un calculateur 2 d'un système embarqué de véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le calculateur 2 correspond avantageusement au calculateur principal 11 de la figure 1. [0042] Le calculateur 2 est par exemple configuré pour la mise en oeuvre des étapes du procédé décrit en regard de la figure 3. Des exemples d'un tel calculateur 2 comprennent, sans y être limités, un équipement électronique embarqué tel qu'un ordinateur de bord d'un véhicule, un calculateur électronique tel qu'une UCE. Les éléments du calculateur 2, 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 2 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. Selon différents modes de réalisation particuliers, le calculateur 2 est couplé en communication avec d'autres dispositifs ou systèmes similaires, par exemple par l'intermédiaire d'un bus de communication ou au travers de ports d'entrée / sortie dédiés. [0043] Le calculateur 2 comprend un (ou plusieurs) processeur(s) 20 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 2. Le processeur 20 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 2 comprend en outre au moins une première mémoire 21 et une deuxième mémoire, dite tampon, 22, chacune 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. Selon une variante, la première mémoire 21 et la deuxième mémoire 22 prennent chacune la forme de registres différents d'une seule mémoire. [0044] 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 première mémoire 21. La deuxième mémoire 22 comprend quant à elle des données associées à un ou plusieurs logiciels embarqués sur un ou plusieurs des calculateurs secondaires du système embarqué. [0045] Selon un mode de réalisation particulier et non limitatif, le calculateur 2 comprend un bloc 23 d'éléments d'interface pour communiquer avec des dispositifs externes, par exemple un serveur distant ou le « cloud », des capteurs odométriques, un capteur GPS. Les éléments d'interface du bloc 23 comprennent une ou plusieurs des interfaces suivantes : interface radiofréquence RF, par exemple de type Bluetooth® ou Wi-Fi®, 8 LTE (de l'anglais « Long-Terni 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 Dcfinition Multimedia Interface ou « Interface Multimedia Haute Definition » en français). [0046] Des données sont par exemples chargées vers le calculateur 2 via l'interface du bloc 23 en utilisant un réseau Wi-Fi® tel que selon IEEE 802.11 ou un réseau mobile tel qu'un réseau 4G (ou LTE Advanced selon 3GPP release 10 - version 10) ou 5G. [0047] Selon un autre mode de réalisation particulier, le calculateur 2 comprend une interface de communication 24 qui permet d'établir une communication avec d'autres dispositifs (tels que des calculateurs secondaires du système embarqué) via un canal de communication 240. L'interface de communication 24 correspond par exemple à un transmetteur configure pour transmettre et recevoir des informations et/ou des données via le canal de communication 240. L'interface de communication 24 correspond par exemple à un réseau filaire de type CAN. [0048] Selon un mode de réalisation particulier supplémentaire, le calculateur 2 peut fournir des signaux de sortie à un ou plusieurs dispositifs externes, tels qu'un écran d'affichage, un ou des haut-parleurs et/ou d'autres périphériques via respectivement des interfaces de sortie non représentées. [0049] [fig.3] illustre un organigramme des différentes étapes d'un procédé de mise à jour logicielle d'un ou plusieurs calculateurs secondaires d'un système embarqué de véhicule, selon un exemple de réalisation particulier et non limitatif de la présente invention. Le ou les calculateurs secondaires correspondent par exemple à l'un et/ou l'autre des calculateurs secondaires 12, 13 de la figure 1. Le procédé est par exemple mis en oeuvre dans le calculateur principal 11 de la figure 1 et/ou le calculateur 2 de la figure 2. [0050] Dans une première étape 31, des données représentatives de la mise à jour d'un ou plusieurs logiciels (par exemple finnware(s)) embarqués sur un premier calculateur secondaire, par exemple le calculateur secondaire 12, sont stockées sur le deuxième espace mémoire du calculateur principal 11. La taille de ce deuxième espace mémoire est fonction de la taille de l'espace mémoire d'un deuxième calculateur secondaire du système embarqué, ce deuxième calculateur secondaire pouvant être différent du premier calculateur secondaire ou identique au premier calculateur secondaire. De manière avantageuse, la taille de ce deuxième espace mémoire est égale à la taille de l'espace mémoire le plus élevé des calculateurs secondaires du système embarqué. Selon une variante, la taille du deuxième espace mémoire est supérieure à la taille de l'espace mémoire le plus élevé des calculateurs secondaires. 9 [0051] Dans une deuxième étape 32, les données stockées sur le deuxième espace mémoire sont transmises par le calculateur principal au premier calculateur secondaire, par exemple via un bus de type CAN. [0052] Selon une variante, le procédé comprend en outre une étape de stockage de données représentatives de la configuration courante (c'est-à-dire de la configuration avant transmission et installation de la mise à jour stockée dans le deuxième espace mémoire) du premier calculateur secondaire dans le deuxième espace mémoire. Cette configuration courante est par exemple utile dans le cas où l'installation de la mise à jour par le premier calculateur secondaire échouerait ou entrainerait des erreurs. En cas de problème d'installation, le premier calculateur secondaire pourrait ainsi récupérer sa configuration avant installation de la mise àjour. La mise àjour serait alors annulée, c'est-à-dire que le premier calculateur secondaire serait remis à la version logicielle telle qu'avant la mise à jour. L'ensemble des requêtes mises en oeuvre pour la mise à jour seraient annulées afin de revenir dans l'état initial (de l'anglais « rollback »). [0053] Selon une autre variante, le procédé comprend en outre une étape de réception des données représentatives de la mise à jour du ou des logiciels embarqués sur le premier calculateur secondaire, par exemple via une connexion de type OTA. [0054] [fig.4] illustre un organigramme des différentes étapes d'un procédé de mise à jour logicielle d'un ou plusieurs calculateurs secondaires d'un système embarqué de véhicule, selon un autre exemple de réalisation particulier et non limitatif de la présente invention. Le ou les calculateurs secondaires correspondent par exemple à l'un et/ou l'autre des calculateurs secondaires 12, 13 de la figure 1. Le procédé est mise en oeuvre par le système embarqué comprenant le calculateur principal connecté aux calculateurs secondaires, le procédé étant avantageusement orchestré par le calculateur principal, même si certaines opérations peuvent être réalisées par le calculateur secondaire ciblé par la mise à jour. [0055] Dans une première étape 41, le calculateur principal vérifie la disponibilité de mise à jour d'un ou plusieurs logiciels embarqués par un ou plusieurs des calculateurs secondaires connectés au calculateur principal. La mise à jour correspond à une évolution ou une correction d'un logiciel déjà installé sur un calculateur secondaire ou à un nouveau logiciel à installer sur un ou plusieurs calculateurs secondaires. La vérification de la disponibilité est par exemple mise en oeuvre par la transmission d'une requête à un dispositif distant, par exemple dans le « cloud ». [0056] Si aucune mise à jour n'est disponible, alors le processus s'arrête 411. Si une ou plusieurs mises à jour sont disponibles, alors le procédé passe à la deuxième étape 42. [0057] Dans une deuxième étape 42, la configuration courante du calculateur secondaire visé par la mise à jour est sauvegardée par le calculateur principal. Cette configuration courante est par exemple transmise par le calculateur secondaire au calculateur principale sur requête du calculateur principale, les échanges de données entre le calculateur principal et le calculateur secondaire se faisant par exemple via un bus de données de type CAN. Au cours de cette deuxième étape, la mise à jour est également téléchargée par le dispositif principal pour sauvegarde dans le deuxième espace mémoire du calculateur principale. Le téléchargement se fait par exemple via une connexion OTA. [0058] Dans une troisième étape 43, la mise àjour est transmise par le calculateur principal au calculateur secondaire cible de cette mise à jour, par exemple via le bus de données CAN. Le calculateur secondaire destinataire de cette mise àjour est passé en mode « Démarrage » (de l'anglais « Boot ») qui permet une reprogrammation de sa mémoire correspondant à l'installation de la mise à jour. [0059] Après redémarrage du calculateur secondaire cible de la mise àjour, c'est-à-dire après redémarrage suite à l'installation de la mise à jour, l'intégrité de la mise à jour est vérifiée dans une quatrième étape 44, c'est-à-dire qu'il est vérifié que l'installation de la mise àjour s'est passée sans erreur et que la mise à jour a été correctement déployée sur le ou les calculateurs secondaires cibles de cette mise à jour. [0060] Si la mise à jour a été correctement déployée, le processus prend fin 441. [0061] Si la mise à jour n'a pas été correctement déployée, alors la mise à jour est annulée, c'est-à-dire que le calculateur secondaire qui a été mis àjour à l'étape 43 est remis à la version logicielle telle qu'avant la mise à jour, à partir des données de configuration courante stockée sur le deuxième espace mémoire du calculateur principal à l'étape 42. L'ensemble des requêtes mises en oeuvre pour la mise à jour du calculateur secondaire sont annulées afin de revenir dans l'état initial (de l'anglais « rollback »). [0062] Bien entendu, l'invention ne se limite pas aux modes de réalisation décrits ci-avant mais s'étend à une méthode de téléchargement d'une mise à jour d'au moins un logiciel ou d'un logiciel d'au moins un calculateur d'un système embarqué dans un véhicule et au dispositif configuré pour la mise en oeuvre d'une telle méthode. [0063] L'invention concerne également un véhicule, par exemple automobile ou plus géné- ralement un véhicule à moteur terrestre, comprenant le dispositif 2 de la figure 2 ou le système embarqué 100 de la figure 1. 11 [Revendication 1] [Revendication 2] [Revendication 3] [Revendication 4] [Revendication 5]