Brevet FR3106677A1 — publié le 20210730

L’invention concerne une unité de contrôle électronique (1) pour véhicule automobile, comprenant un espace mémoire (MEM), comprenant une zone mémoire de démarrage (MEM d ) configurée pour stocker une liste d’instructions de démarrage (L d ), ledit espace mémoire (MEM) étant configuré pour stocker une première et une deuxième liste d’instructions d’amorçage (L 1 , L 2 ), et une liste d’instructions applicative (L a ), l’unité de contrôle électronique (1) comprend une zone de mémoire vive (M V ), dans laquelle peut être copiée la première ou la deuxième liste d’instructions d’amorçage (L 1, L 2 ), la zone mémoire applicative (MEM a ) est configurée pour recevoir une demande de mise à jour, la liste d’instructions de démarrage (L d ) est configurée pour vérifier la validité de la première liste d’instructions d’amorçage (L 1 ), la copie de la première liste d’instructions d’amorçage (L 1 ) dans la zone de mémoire vive (M V ) est configurée pour synchroniser la première et la deuxième liste d’instructions d’amorçage (L 1 , L 2 ) et mettre à jour la première liste d’instructions d’amorçage (L 1 ). Figure pour l’abrégé : Fig. 1 Procédé de mise à jour d’une liste d’instructions d’amorçage d’une unité de contrôle électronique L’invention concerne le domaine des unités de contrôle électronique montées dans un véhicule, notamment automobile, et plus précisément un procédé de mise à jour d’une liste d’instructions d’amorçage d’une unité de contrôle électronique et l’unité de contrôle électronique permettant de mettre en œuvre ce procédé. De nos jours, un véhicule comprend de manière connue une pluralité d’unités de contrôle électronique (« Electronic Control Unit » ou ECU en langue anglaise) permettant chacune d’exécuter au moins une application principale permettant de mettre en œuvre une ou plusieurs fonctions dans le véhicule. Cette application principale est enregistrée sous la forme d’une liste d’instructions dans un espace mémoire, de type mémoire « flash », de l’unité de contrôle électronique. Afin de démarrer cette application principale, l’unité de contrôle électronique comprend de manière connue un chargeur d’amorçage, connu sous le nom de « Flash Boot Loader » (FBL) en langue anglaise. Ce chargeur d’amorçage est également enregistré sous la forme d’une liste d’instructions dans l’espace mémoire de l’unité de contrôle électronique, à l’adresse 0 dudit espace mémoire. Ainsi, au démarrage de l’unité de contrôle électronique, le chargeur d’amorçage, qui est exécuté en premier, vérifie la validité de l’application principale et en commande ensuite l’exécution lorsqu’elle est valide. Parfois, il peut être nécessaire de mettre à jour cette application principale. Pour cela, le chargeur d’amorçage est également configuré pour vérifier, avant de commander l’exécution de l’application principale, si une mise à jour de ladite application principale est disponible et en commander l’exécution à la place de celle de l’application principale le cas échéant. Cependant, parfois, il est également nécessaire de mettre à jour le chargeur d’amorçage. Pour cela, le chargeur d’amorçage efface tout d’abord les instructions de l’application principale enregistrées dans l’espace mémoire, puis copie, dans la zone vide de l’espace mémoire ainsi créée, les instructions d’une application de mise à jour dudit chargeur d’amorçage. Une fois copiée, le chargeur d’amorçage commande l’exécution de cette application de mise à jour. Lors de son exécution, l’application de mise à jour efface les instructions du chargeur d’amorçage et les remplace par des nouvelles instructions. Une fois les nouvelles instructions du chargeur d’amorçage copiées dans la zone correspondante de l’espace mémoire, l’application de mise à jour du chargeur d’amorçage commande le redémarrage de l’unité de contrôle électronique. Ce redémarrage provoque l’exécution des nouvelles instructions du chargeur d’amorçage, qui commandent alors la suppression de l’application de mise à jour du chargeur d’amorçage puis la réinstallation de l’application principale ou l’installation d’une nouvelle version de l’application principale. Cependant, il peut arriver qu’un incident survienne sur l’unité de contrôle électronique lors de son fonctionnement, entrainant alors un redémarrage de ladite unité de contrôle électronique. Un problème majeur se pose lorsque cet incident intervient pendant l’intervalle de temps où la zone mémoire associée au chargeur d’amorçage est vide, en cours de suppression ou en cours d’installation. Dans ce cas, il n’est plus possible de redémarrer l’unité de contrôle électronique qui doit alors être retournée en usine pour réinstaller le chargeur d’amorçage. En outre, même si seul le chargeur d’amorçage doit être mis à jour, l’application principale doit tout de même être supprimée et réinstallée pour chaque mise à jour du chargeur d’amorçage. Cette suppression et cette réinstallation sont d’ailleurs chronophages. De plus, l’application principale n’est plus exécutable entre sa suppression et sa réinstallation, par exemple pendant plusieurs minutes, ce qui présente un inconvénient important. L’invention concerne une unité de contrôle électronique pour véhicule automobile, ladite unité de contrôle électronique comprenant un espace mémoire, ledit espace mémoire comprenant une zone mémoire de démarrage configurée pour stocker une liste d’instructions de démarrage, une zone mémoire d’amorçage principale configurée pour stocker une première liste d’instructions d’amorçage, une zone mémoire d’amorçage secondaire configurée pour stocker une deuxième liste d’instructions d’amorçage et une zone mémoire applicative configurée pour stocker une liste d’instructions applicative, l’unité de contrôle électronique comprend également une zone de mémoire vive, dans laquelle peut être copiée la première liste d’instructions d’amorçage ou la deuxième liste d’instructions d’amorçage, l’unité de contrôle électronique étant caractérisée en ce que : la zone mémoire applicative est configurée pour recevoir une demande de mise à jour, la liste d’instructions de démarrage est configurée pour vérifier la validité de la première liste d’instructions d’amorçage, la copie de la première liste d’instructions d’amorçage dans la zone de mémoire vive est configurée pour : réaliser la synchronisation entre la première liste d’instructions d’amorçage et la deuxième liste d’instructions d’amorçage, recevoir un ensemble d’instructions de mise à jour de la première liste d’instructions d’amorçage, mettre à jour la première liste d’instructions d’amorçage, à partir de l’ensemble d’instructions de mise à jour reçue, l’unité de contrôle électronique est configurée pour redémarrer suite à la mise à la mise à jour de la première liste d’instructions d’amorçage. Ainsi, si la zone mémoire d’amorçage principale est vide ou si la première liste d’instructions d’amorçage, enregistrée dans la zone mémoire d’amorçage principale, n’est pas utilisable, l’unité de contrôle électronique permet de conserver au moins la deuxième liste d’instructions d’amorçage synchronisée avec la version la plus récente de la première liste d’instructions d’amorçage, et applicable si besoin. De plus, l’unité de contrôle électronique permet de conserver la liste d’instructions applicative, toujours applicable si besoin. De préférence, dans l’unité de contrôle, lorsque la première liste d’instructions d’amorçage est valide, la liste d’instructions de démarrage est configurée pour : copier la première liste d’instructions d’amorçage dans la zone de mémoire vive, exécuter la copie de la première liste d’instructions d’amorçage dans la zone de mémoire vive. De préférence encore, dans l’unité de contrôle, si la première liste d’instructions d’amorçage n’est pas valide, alors la liste d’instructions de démarrage est configurée pour vérifier la validité de la deuxième liste d’instructions d’amorçage, si la deuxième liste d’instructions d’amorçage est valide, alors, la liste d’instructions de démarrage est configurée pour : copier la deuxième liste d’instructions d’amorçage dans la zone de mémoire vive, exécuter la copie de la deuxième liste d’instructions d’amorçage dans la zone de mémoire vive. De manière avantageuse, dans l’unité de contrôle, la copie de la deuxième liste d’instructions d’amorçage dans la zone de mémoire vive est configurée pour : réaliser la synchronisation entre la première liste d’instructions d’amorçage et la deuxième liste d’instructions d’amorçage, recevoir un ensemble d’instructions de mise à jour de la première liste d’instructions d’amorçage, mettre à jour la première liste d’instructions d’amorçage, à partir de la liste d’instructions de mise à jour reçue. Avantageusement, dans l’unité de contrôle, afin de réaliser la synchronisation, la copie de la première liste d’instructions d’amorçage ou de la deuxième liste d’instructions d’amorçage est configurée pour vérifier l’intégrité de la première liste d’instructions d’amorçage. L’invention concerne également un véhicule, notamment automobile, comprenant au moins une unité de contrôle telle que décrite précédemment. L’invention concerne également un procédé de mise à jour d’une liste d’instructions d’amorçage d’une unité de contrôle électronique, telle que décrite précédemment, ledit procédé étant remarquable en ce qu’il comprend les étapes de : réception d’une demande de mise à jour, après réception de la demande de mise à jour, vérification de la validité de la première liste d’instructions d’amorçage, synchronisation de la première liste d’instructions d’amorçage et de la deuxième liste d’instructions d’amorçage, après vérification de la validité de la première liste d’instructions d’amorçage, réception d’un ensemble d’instructions de mise à jour de la première liste d’instructions d’amorçage, mise à jour de la première liste d’instructions d’amorçage à partir de l’ensemble d’instructions de mise à jour reçu, redémarrage de l’unité de contrôle électronique. Ainsi, si la zone mémoire d’amorçage principale est vide ou si la première liste d’instructions d’amorçage, enregistrée dans la zone mémoire d’amorçage principale, n’est pas utilisable, le procédé permet de conserver au moins la deuxième liste d’instructions d’amorçage synchronisée avec la version la plus récente de la première liste d’instructions d’amorçage, et applicable si besoin. De plus, le procédé permet de conserver la liste d’instructions applicative, toujours applicable si besoin. De préférence, après l’étape de vérification de la validité de la première liste d’instructions d’amorçage, si la première liste d’instructions d’amorçage est valide, le procédé comprend : une étape de copie de la première liste d’instructions d’amorçage dans la zone de mémoire vive, une étape d’exécution de la copie de la première liste d’instructions d’amorçage dans la zone de mémoire vive. De préférence encore, si la première liste d’instructions d’amorçage n’est pas valide, alors le procédé comprend une étape de vérification de la validité de la deuxième liste d’instructions d’amorçage, si la deuxième liste d’instructions d’amorçage est valide, le procédé comprend : une étape de copie de la deuxième liste d’instructions d’amorçage dans la zone de mémoire vive, une étape d’exécution de la copie de la deuxième liste d’instructions d’amorçage dans la zone de mémoire vive. Avantageusement, l’étape de synchronisation du procédé comprend : une étape de comparaison de la première liste d’instructions d’amorçage et de la deuxième liste d’instructions d’amorçage, si la première liste d’instructions d’amorçage et la deuxième liste d’instructions d’amorçage sont différentes : une étape de vérification de l’intégrité de la première liste d’instructions d’amorçage, si la première liste d’instructions d’amorçage est intègre, alors la première liste d’instructions d’amorçage est copiée, en remplacement de la deuxième liste d’instructions d’amorçage, dans la zone mémoire d’amorçage secondaire, si la première liste d’instructions d’amorçage n’est pas intègre, une étape de vérification de l’intégrité de la deuxième liste d’instructions d’amorçage, si ladite deuxième liste d’instructions d’amorçage est intègre, alors la deuxième liste d’instructions d’amorçage est copiée, en remplacement de la première liste d’instructions d’amorçage, dans la zone mémoire d’amorçage principale. D’autres caractéristiques et avantages de l’invention apparaîtront encore à la lecture de la description qui va suivre. Celle-ci est purement illustrative et doit être lue en regard des dessins annexés sur lesquels : : la figure 1 illustre un schéma bloc fonctionnel du véhicule selon l’invention, : la figure 2 illustre un mode de réalisation du procédé, lorsque la première liste d’instructions d’amorçage est valide, selon l’invention, : la figure 3 illustre un mode de réalisation du procédé, lorsque la deuxième liste d’instructions d’amorçage est valide, selon l’invention. En référence à la figure 1, il va être présenté une forme de réalisation d’un véhicule, notamment automobile, selon l’invention. Le véhicule comprend au moins une unité de contrôle électronique 1 permettant d’exécuter au moins une application principale permettant de mettre en œuvre une ou plusieurs fonctions dans le véhicule. Afin de démarrer cette application principale, l’unité de contrôle électronique 1 comprend un chargeur d’amorçage, connu sous le nom de « Flash Boot Loader » (FBL) en langue anglaise, se présentant sous la forme d’un ensemble d’instructions dont la fonction est notamment de permettre la mise à jour de l’au moins une application principale lors d’un redémarrage de l’unité de contrôle électronique 1. L’application principale et le chargeur d’amorçage sont mis à jour par un outil externe, par exemple un ordinateur connecté au véhicule via une prise de contrôle (par exemple de type « On Board Diagnostic » ou OBD) et un bus CAN du véhicule, de manière connue en soi. L’unité de contrôle électronique 1 est montée dans un véhicule, notamment automobile et comprend un espace mémoire MEM, notamment de type mémoire « flash » et une zone de mémoire vive M V . L’espace mémoire MEM comprend : - une zone mémoire de démarrage MEM d comportant une liste d’instructions de démarrage L d , - une zone mémoire d’amorçage principale MEM 1 comportant une première liste d’instructions d’amorçage L 1 , - une zone mémoire d’amorçage secondaire MEM 2 comportant une deuxième liste d’instructions d’amorçage L 2 , - une zone mémoire applicative MEM a comportant une liste d’instructions applicative L a . La liste d’instructions applicative L a est configurée pour s’exécuter au démarrage de l’unité de contrôle électronique 1 et notamment pour exécuter l’au moins une application principale afin de mettre en œuvre une ou plusieurs fonctions du véhicule. Plus précisément, par défaut, la liste d’instructions de démarrage L d exécute la liste d’instructions applicative L a et donc l’au moins une application principale s’exécute. La liste d’instructions applicative L a est configurée pour recevoir une demande extérieure de mise à jour, envoyée par un outil externe à l’unité de contrôle électronique 1. Que la demande extérieure de mise à jour concerne la première liste d’instructions d’amorçage L 1 ou la liste d’instructions applicative L a , la liste d’instructions applicative L a est configurée pour placer, notamment enregistrer, un indicateur de demande de mise à jour dans la zone de mémoire vive M V . La liste d’instructions applicative L a est également configurée pour redémarrer l’unité de contrôle électronique 1, sans toutefois couper l’alimentation de l’unité de contrôle électronique 1. La liste d’instructions de démarrage L d correspond à une partie de l’ensemble d’instructions du chargeur d’amorçage. La liste d’instructions de démarrage L d est notamment configurée pour : - être la première liste d’instructions exécutée au démarrage de l’unité de contrôle électronique 1, quand ladite liste d’instructions de démarrage L d détecte la présence d’un indicateur de demande de mise à jour enregistré dans la zone mémoire de démarrage MEM d , - commander la vérification de la validité de la liste d’instructions applicative L a , de la première liste d’instructions d’amorçage L 1 et de la deuxième liste d’instructions d’amorçage L 2 , - commander la copie de la première liste d’instructions d’amorçage L 1 ou de la deuxième liste d’instructions d’amorçage L 2 , dans la zone de mémoire vive M V . - commander l’exécution de la liste d’instructions copiée dans la zone de mémoire vive M V . La première liste d’instructions d’amorçage L 1 correspond à une partie de l’ensemble d’instructions du chargeur d’amorçage et est exécutée à la demande de la liste d’instructions de démarrage L d . La première liste d’instructions d’amorçage L 1 est configurée pour : - être copiée dans la zone de mémoire vive M V sur requête de la liste d’instructions de démarrage L d et s’exécuter dans ladite zone de mémoire vive M V , - être mise à jour à partir d’une liste d’instructions de mise à jour comprise dans une demande de mise à jour envoyée par un outil externe. Plus précisément, lorsque la première liste d’instructions d’amorçage L 1 est copiée dans la zone de mémoire vive M V , la copie de la première liste d’instructions d’amorçage L 1 est configurée pour s’exécuter dans la mémoire M V afin de mettre à jour la première liste d’instructions d’amorçage L 1 (originale) enregistrée dans la zone mémoire d’amorçage principale MEM 1 . Notamment, la copie de la première liste d’instructions d’amorçage L 1 (enregistrée et exécutée en zone de mémoire vive M V ) est configurée pour : - recevoir un ensemble d’instructions de mise à jour, - commander la suppression de la première liste d’instructions d’amorçage L1 stockée dans la zone mémoire d’amorçage principale MEM 1 , - commander le téléchargement, depuis l’outil externe, d’une nouvelle première liste d’instructions d’amorçage L 1_new dans la zone mémoire d’amorçage principale MEM 1 . La deuxième liste d’instructions d’amorçage L 2 est une duplication sécuritaire de la première liste d’instructions d’amorçage L 1 , qui a pour but d’être exécutée lorsque la première liste d’instructions d’amorçage L 1 n’est pas valide. La deuxième liste d’instructions d’amorçage L 2 est configurée pour être copiée dans la zone de mémoire vive M V sur requête de la liste d’instructions de démarrage L d et pour s’exécuter dans ladite zone de mémoire vive M V . Plus précisément, lorsque la deuxième liste d’instructions d’amorçage L 2 est copiée dans la zone de mémoire vive M V , la copie de la deuxième liste d’instructions d’amorçage L 2 est configurée pour s’exécuter dans la zone de mémoire vive M V afin de mettre à jour la première liste d’instructions d’amorçage L 1 enregistrée dans la zone mémoire d’amorçage principale MEM 1 . Notamment, la copie de la deuxième liste d’instructions d’amorçage L 2 est configurée pour : - recevoir un ensemble d’instructions de mise à jour, - commander la suppression de la première liste d’instructions d’amorçage L 1 stockée dans la zone mémoire d’amorçage principale MEM 1 , - commander le téléchargement, depuis l’outil externe, d’une nouvelle première liste d’instructions d’amorçage L 1 _new dans la zone mémoire d’amorçage principale MEM 1. La zone de mémoire vive M V , par exemple de type RAM (pour « Random Access Memory » en langue anglaise), est configurée pour stocker l’un ou l’autre de la première liste d’instructions d’amorçage L 1 ou de la deuxième liste d’instructions d’amorçage L 2 . L’unité de contrôle électronique 1 comprend un processeur apte à mettre en œuvre les listes d’instructions décrites précédemment. Il va maintenant être présenté un mode de réalisation du procédé selon l’invention, mis en œuvre par une unité de contrôle électronique 1 telle que présentée précédemment. Le procédé comprend tout d’abord une étape de démarrage de l’unité de contrôle électronique 1. Au démarrage de l’unité de contrôle électronique 1, la liste d’instructions applicative L a s’exécute par défaut. Le procédé comprend ensuite une étape de réception E0 par la zone mémoire applicative MEM a d’une demande extérieure de mise à jour, envoyée par un outil externe à l’unité de contrôle électronique 1. La liste d’instructions applicative L a place alors un indicateur de demande de mise à jour dans la zone de mémoire vive M V et demande le redémarrage de l’unité de contrôle électronique 1, sans toutefois couper l’alimentation de l’unité de contrôle électronique 1. Le procédé comprend donc une étape de redémarrage E1 de l’unité de contrôle électronique, lors de laquelle, la liste d’instructions de démarrage L d s’exécute et détecte la présence de l’indicateur de demande de mise à jour enregistré dans la zone de mémoire vive M V . De plus, après détection de l’indicateur de demande de mise à jour, la liste d’instructions de démarrage L d supprime l’indicateur de demande de mise à jour précédemment enregistré dans la zone de mémoire vive M V . Par ailleurs, lorsque la liste d’instructions de démarrage L d détecte la présence de l’indicateur de demande de mise à jour, le procédé comprend alors une étape de vérification E2, lors de laquelle la liste d’instructions de démarrage L d commande la vérification de la validité de la première liste d’amorçage L 1 . La validité de la première liste d’instructions d’amorçage L 1 est contrôlée grâce à un outil de contrôle de code. Pour cela, il est notamment utilisé le principe du contrôle de redondance cyclique, noté CRC, pour Cyclic Redundancy Check en langue anglaise. Si la première liste d’amorçage L 1 est valide, alors le procédé comprend une étape, commandée par la liste d’instructions de démarrage L d , de copie E3 de la première liste d’instructions d’amorçage L 1 dans la zone de mémoire vive M V . Une fois la première liste d’amorçage L 1 copiée dans la zone mémoire vive M V , la liste d’instructions de démarrage L d commande l’exécution de la copie de la première liste d’amorçage L 1 dans la zone de mémoire vive M V . Le procédé comprend ensuite une étape de synchronisation E4 de la première liste d’instructions d’amorçage L 1 et de la deuxième liste d’instructions d’amorçage L 2 , ladite étape de synchronisation E4 étant commandée par la copie de la première liste d’instructions d’amorçage L 1 enregistrée dans la zone mémoire vive M V . L’étape de synchronisation E4 comprend une étape de comparaison entre la première liste d’instructions d’amorçage L 1 et la deuxième liste d’instructions d’amorçage L 2 , enregistrées respectivement dans la zone mémoire d’amorçage principale MEM 1 et dans la zone mémoire d’amorçage secondaire MEM 2 de l’espace mémoire MEM. Si la première liste d’instructions d’amorçage L 1 et la deuxième liste d’instructions d’amorçage L 2 sont différentes, alors, l’étape de synchronisation E4 comprend une étape de vérification de l’intégrité de la première liste d’instructions d’amorçage L 1 enregistrée dans la zone mémoire d’amorçage principale MEM 1 . Dans le cas présent, la vérification de l’intégrité consiste en un contrôle de la première liste d’amorçage L 1 enregistrée dans la zone mémoire d’amorçage principale MEM 1 à l’instant courant. Autrement dit, il est vérifié si le pré téléchargement de la première liste d’amorçage L 1 , dans la zone mémoire d’amorçage principale MEM 1 , a correctement été effectué. Pour cela, il peut être notamment utilisé le principe du contrôle de redondance cyclique CRC, de manière connue en soi. Si la première liste d’instructions d’amorçage L 1 est intègre, alors la première liste d’instructions d’amorçage L 1 est copiée, en remplacement de la deuxième liste d’instructions d’amorçage L 2 dans la zone mémoire d’amorçage secondaire MEM 2 . Dans un autre mode de réalisation, si la zone mémoire d’amorçage secondaire MEM 2 est vide, alors, si la première liste d’instructions d’amorçage L 1 est intègre, la première liste d’instructions d’amorçage L 1 est copiée directement dans la zone mémoire d’amorçage secondaire MEM 2 . A l’inverse, si la première liste d’instructions d’amorçage L 1 n’est pas intègre, alors l’étape de synchronisation E4 comprend une étape de vérification de l’intégrité de la deuxième liste d’instructions d’amorçage L 2 . Il est notamment également utilisé le principe du contrôle de redondance cyclique CRC, de manière connue en soi. Si la deuxième liste d’instructions d’amorçage L 2 est effectivement intègre, la deuxième liste d’instructions d’amorçage L 2 est copiée en remplacement de la première liste d’instructions d’amorçage L 1 dans la zone mémoire d’amorçage principale MEM 1 . Par ailleurs, si la première liste d’instructions d’amorçage L 1 et la deuxième liste d’instructions d’amorçage L 2 sont effectivement identiques, alors, le procédé exécute directement l’étape suivante. Le procédé comprend ensuite une étape d’indication, par l’outil externe, du type de mise à jour à mettre en œuvre : soit une mise à jour de l’application principale, autrement dit de la liste d’instructions applicative L a , soit une mise à jour de la première liste d’instructions d’amorçage L1. Si la mise à jour indiquée concerne la première liste d’instructions d’amorçage L 1 , l’outil externe envoie à l’unité de contrôle électronique 1, et notamment à la copie de la première liste d’instructions d’amorçage L 1 , un ensemble d’instructions de mise à jour de la première liste d’instructions d’amorçage L 1 . Le procédé comprend donc une étape de mise à jour E5 de la première liste d’instructions d’amorçage L 1 à partir de l’ensemble d’instructions de mise à jour. En résumé, dans ce cas, la mise à jour de la première liste d’instructions d’amorçage L 1 est demandée par l’outil externe à l’unité de contrôle électronique 1 et réalisée par l’exécution de la première liste d’instructions L 1 copiée dans la zone de mémoire vive M V . L’étape de mise à jour E5 comprend une sous-étape de suppression E51, commandée par l’outil externe, de la première liste d’instructions d’amorçage L 1 enregistrée dans la zone mémoire d’amorçage principale MEM 1 . Lorsque la sous-étape de suppression E51 est réalisée, le procédé comprend une étape de téléchargement E52, commandée par l’outil externe, lors de laquelle une nouvelle première liste d’instructions d’amorçage L 1_new est enregistrée, notamment à partir de la liste d’instructions de mise à jour, dans la zone mémoire d’amorçage principale MEM 1 . Il va de soi que la nouvelle première liste d’instructions d’amorçage L 1_new pourrait être enregistrée directement à la place de l’ancienne première liste d’instructions d’amorçage L 1 sans qu’il y ait besoin d’une sous-étape de suppression. Une fois la nouvelle première liste d’instructions d’amorçage L 1_new téléchargée, l’outil externe commande la vérification de l’intégrité et/ou de la validité de la nouvelle première liste d’instructions d’amorçage L 1_new et dans le cas où la nouvelle première liste d’instructions d’amorçage L 1_new est intègre et/ou valide, l’outil externe commande le redémarrage de l’unité de contrôle électronique 1. Le procédé comprend donc une deuxième étape de redémarrage E6 de l’unité de contrôle électronique 1. Au redémarrage, la liste d’instructions applicative L a s’exécute. En revanche, si la mise à jour indiquée concerne la liste d’instructions applicative L a , l’outil externe envoie à l’unité de contrôle électronique 1, et notamment à la copie de la première liste d’instructions d’amorçage L 1 , un ensemble d’instructions de mise à jour de la liste d’instructions applicative L a . Le procédé comprend donc une étape de mise à jour de la liste d’instructions applicative L a (non représentée sur les figures), à partir de l’ensemble d’instructions de mise à jour de la liste d’instructions applicative L a . L’étape de mise à jour de la liste d’instructions applicative L a comprend une sous-étape de suppression de la liste d’instructions applicative L a enregistrée dans la zone mémoire applicative MEM a . L’étape de mise à jour comprend également une sous étape de téléchargement, lors de laquelle une nouvelle version de l’application principale, autrement dit de la liste d’instructions applicative L a est enregistrée dans la zone mémoire applicative MEM a . S’en suit également une étape de vérification de l’intégrité et/ou de la validité de la nouvelle liste d’instructions applicative L a et de redémarrage de l’unité de contrôle électronique 1. La liste d’instructions applicative L a peut de nouveau recevoir une demande de mise à jour, que cela concerne l’application principale ou la première liste d’instructions d’amorçage L 1 , Si une nouvelle demande de mise à jour est reçue, de même que précédemment, la liste d’instructions applicative L a place un indicateur de demande de mise à jour dans la zone de mémoire vive M V et demande le redémarrage de l’unité de contrôle électronique 1. Ainsi, le procédé est de nouveau réitéré. De plus, suite à la nouvelle étape de redémarrage E1, à la nouvelle étape de vérification E2, à la nouvelle étape de copie E3 et à la nouvelle étape de synchronisation E4, la nouvelle liste d’instructions d’amorçage L 1_new est enregistrée à la fois dans la zone mémoire d’amorçage principale MEM 1 et dans la zone mémoire d’amorçage secondaire MEM 2 . Par ailleurs, en référence à la figure 3, si après l’étape de vérification E2, la première liste d’instructions d’amorçage L 1 n’est pas valide, alors le procédé comprend une deuxième étape de vérification E2’ de la validité de la deuxième liste d’instruction d’amorçage L 2 . La validité de la deuxième liste d’instructions d’amorçage L 2 est contrôlée grâce à un outil de contrôle de code. Pour cela, il est notamment utilisé le principe du contrôle de redondance cyclique CRC. Si la deuxième liste d’instructions d’amorçage L 2 est valide, alors le procédé comprend une étape de copie E3 de la deuxième liste d’instructions d’amorçage L 2 dans la zone de mémoire vive M V , ladite étape de copie E3 étant commandée par la liste d’instructions de démarrage L d . Une fois la deuxième liste d’amorçage L 2 copiée dans la zone mémoire vive M V , la liste d’instructions de démarrage L d commande l’exécution de la copie de la deuxième liste d’amorçage L 2 . Le procédé comprend ensuite également une étape de synchronisation E4 de la première et deuxième liste d’instructions d’amorçage L 1 et L 2 , ladite étape de synchronisation E4 étant commandée par la liste d’instructions copiée dans la zone mémoire vive M V , et donc par la deuxième liste d’amorçage L 2 . L’étape de synchronisation E4 comprend une étape de comparaison et une ou plusieurs étapes de vérification de l’intégrité de la première liste d’instructions d’amorçage L 2 , tel que décrit précédemment. Ensuite, une fois l’étape de synchronisation E4 réalisée, le procédé comprend une étape d’indication, par l’outil externe, du type de mise à jour à réaliser. Si la mise à jour indiquée correspond à la mise à jour de la première liste d’instructions d’amorçage L 1 , le procédé comprend une étape de mise à jour E5, de la première liste d’instructions d’amorçage L 1 , telle que décrite en référence aux paragraphes précédemment. Si la mise à jour concerne l’application principale, le procédé comprend une étape de mise à jour de la liste d’instructions applicative L a , telle que décrit précédemment en référence aux paragraphes précédemment. De même, après réalisation de l’étape de mise à jour E5, le procédé comprend une deuxième étape de redémarrage E6 de l’unité de contrôle électronique 1, après laquelle, la liste d’instructions applicative L a s’exécute. La liste d’instructions applicative L a peut de nouveau recevoir une demande de mise à jour, concernant l’application principale, autrement dit la liste d’instructions applicative L a , ou la première liste d’instructions d’amorçage L 1 . Si une nouvelle demande de mise à jour est reçue, de même que précédemment, la liste d’instructions applicative L a place un indicateur de demande de mise à jour dans la zone de mémoire vive M V et demande le redémarrage de l’unité de contrôle électronique 1. Ainsi, le procédé est de nouveau réitéré. De plus, suite à la nouvelle étape de redémarrage E1, à la nouvelle étape de vérification E2, à la nouvelle étape de copie E3 et à la nouvelle étape de synchronisation E4, la nouvelle liste d’instructions d’amorçage L 1_new est enregistrée à la fois dans la zone mémoire d’amorçage principale MEM 1 et dans la zone mémoire d’amorçage secondaire MEM 2 . Ainsi, lorsque l’unité de contrôle électronique 1 démarre ou redémarre, par exemple suite à un incident détecté, même si la zone mémoire d’amorçage principale MEM 1 est vide, le procédé mis en œuvre par l’unité de contrôle électronique 1 permet de conserver au moins la deuxième liste d’instructions d’amorçage L 2 synchronisée avec la version la plus récente de la première liste d’instructions d’amorçage L 1 , et applicable si besoin. De plus, avantageusement, le procédé permet de toujours conserver la liste d’instructions applicative L a , applicable si besoin. Enfin, la zone de mémoire vive M V permet l’exécution de la première ou de la deuxième liste d’instructions d’amorçage L 1 , L 2 . Unité de contrôle électronique (1) pour véhicule automobile, ladite unité de contrôle électronique (1) comprenant un espace mémoire (MEM), ledit espace mémoire (MEM) comprenant une zone mémoire de démarrage (MEM d ) configurée pour stocker une liste d’instructions de démarrage (L d ), une zone mémoire d’amorçage principale (MEM 1 ) configurée pour stocker une première liste d’instructions d’amorçage (L 1 ), une zone mémoire d’amorçage secondaire (MEM 2 ) configurée pour stocker une deuxième liste d’instructions d’amorçage (L 2 ) et une zone mémoire applicative (MEM a ) configurée pour stocker une liste d’instructions applicative (L a ), l’unité de contrôle électronique (1) comprend également une zone de mémoire vive (M V ), dans laquelle peut être copiée la première liste d’instructions d’amorçage (L 1 ) ou la deuxième liste d’instructions d’amorçage (L 2 ), l’unité de contrôle électronique (1) étant caractérisée en ce que : la zone mémoire applicative (MEM a ) est configurée pour recevoir une demande de mise à jour, la liste d’instructions de démarrage (L d ) est configurée pour vérifier la validité de la première liste d’instructions d’amorçage (L 1 ), la copie de la première liste d’instructions d’amorçage (L 1 ) dans la zone de mémoire vive (M V ) est configurée pour : réaliser la synchronisation entre la première liste d’instructions d’amorçage (L 1 ) et la deuxième liste d’instructions d’amorçage (L 2 ), recevoir un ensemble d’instructions de mise à jour de la première liste d’instructions d’amorçage (L 1 ), mettre à jour la première liste d’instructions d’amorçage (L 1 ), à partir de l’ensemble d’instructions de mise à jour reçue, l’unité de contrôle électronique (10) est configurée pour redémarrer suite à la mise à la mise à jour de la première liste d’instructions d’amorçage (L 1 ). Unité de contrôle (1), selon la revendication précédente, dans laquelle, lorsque la première liste d’instructions d’amorçage (L 1 ) est valide, la liste d’instructions de démarrage (L d ) est configurée pour : copier la première liste d’instructions d’amorçage (L 1 ) dans la zone de mémoire vive (M V ), exécuter la copie de la première liste d’instructions d’amorçage (L 1 ) dans la zone de mémoire vive (M V ). Unité de contrôle (1), selon l’une quelconque des revendications précédentes, dans laquelle, si la première liste d’instructions d’amorçage (L 1 ) n’est pas valide, alors la liste d’instructions de démarrage (L d ) est configurée pour vérifier la validité de la deuxième liste d’instructions d’amorçage (L 2 ), si la deuxième liste d’instructions d’amorçage (L 2 ) est valide, alors, la liste d’instructions de démarrage (L d ) est configurée pour : copier la deuxième liste d’instructions d’amorçage (L 2 ) dans la zone de mémoire vive (M V ), exécuter la copie de la deuxième liste d’instructions d’amorçage (L 2 ) dans la zone de mémoire vive (M V ). Unité de contrôle (1), selon la revendication précédente, dans laquelle la copie de la deuxième liste d’instructions d’amorçage (L 2 ) dans la zone de mémoire vive (M V ) est configurée pour : réaliser la synchronisation entre la première liste d’instructions d’amorçage (L 1 ) et la deuxième liste d’instructions d’amorçage (L 2 ), recevoir un ensemble d’instructions de mise à jour de la première liste d’instructions d’amorçage (L1), mettre à jour la première liste d’instructions d’amorçage (L 1 ), à partir de la liste d’instructions de mise à jour reçue. Unité de contrôle (1), selon l’une quelconque des revendications 3 et 4, dans laquelle, afin de réaliser la synchronisation, la copie de la première liste d’instructions d’amorçage (L 1 ) ou de la deuxième liste d’instructions d’amorçage (L 2 ) est configurée pour vérifier l’intégrité de la première liste d’instructions d’amorçage (L 1 ). Véhicule, notamment automobile, comprenant au moins une unité de contrôle (1) selon l’une quelconque des revendications 1 à 5. Procédé de mise à jour d’une liste d’instructions d’amorçage d’une unité de contrôle électronique (1), selon l’une quelconque des revendications 1 à 5, ledit procédé étant remarquable en ce qu’il comprend les étapes de : réception (E0) d’une demande de mise à jour, après réception (E0) de la demande de mise à jour, vérification (E2) de la validité de la première liste d’instructions d’amorçage (L 1 ), synchronisation (E4) de la première liste d’instructions d’amorçage (L 1 ) et de la deuxième liste d’instructions d’amorçage (L 2 ), après vérification de la validité de la première liste d’instructions d’amorçage (L 1 ), réception d’un ensemble d’instructions de mise à jour de la première liste d’instructions d’amorçage (L 1 ), mise à jour (E5) de la première liste d’instructions d’amorçage (L 1 ) à partir de l’ensemble d’instructions de mise à jour reçu, redémarrage (E6) de l’unité de contrôle électronique (10). Procédé selon la revendication précédente, comprenant, après l’étape de vérification (E2) de la validité de la première liste d’instructions d’amorçage (L 1 ), si la première liste d’instructions d’amorçage (L 1 ) est valide : une étape de copie de la première liste d’instructions d’amorçage (L 1 ) dans la zone de mémoire vive (M V ), une étape d’exécution de la copie de la première liste d’instructions d’amorçage (L 1 ) dans la zone de mémoire vive (M V ). Procédé, selon l’une quelconque des revendications 7 à 8, dans lequel, si la première liste d’instructions d’amorçage (L 1 ) n’est pas valide, alors le procédé comprend une étape de vérification de la validité de la deuxième liste d’instructions d’amorçage (L 2 ), si la deuxième liste d’instructions d’amorçage (L 2 ) est valide, le procédé comprend : une étape de copie de la deuxième liste d’instructions d’amorçage (L 2 ) dans la zone de mémoire vive (M V ), une étape d’exécution de la copie de la deuxième liste d’instructions d’amorçage (L 2 ) dans la zone de mémoire vive (M V ). Procédé, selon l’une quelconque des revendications 6 à 8, dans lequel, l’étape de synchronisation (E4) comprend : une étape de comparaison de la première liste d’instructions d’amorçage (L 1 ) et de la deuxième liste d’instructions d’amorçage (L 2 ), si la première liste d’instructions d’amorçage (L 1 ) et la deuxième liste d’instructions d’amorçage (L 2 ) sont différentes : une étape de vérification de l’intégrité de la première liste d’instructions d’amorçage (L 1 ), si la première liste d’instructions d’amorçage (L 1 ) est intègre, alors la première liste d’instructions d’amorçage (L 1 ) est copiée, en remplacement de la deuxième liste d’instructions d’amorçage (L 2 ), dans la zone mémoire d’amorçage secondaire (MEM 2 ), si la première liste d’instructions d’amorçage (L 1 ) n’est pas intègre, une étape de vérification de l’intégrité de la deuxième liste d’instructions d’amorçage (L 2 ), si ladite deuxième liste d’instructions d’amorçage (L 2 ) est intègre, alors la deuxième liste d’instructions d’amorçage (L 2 ) est copiée, en remplacement de la première liste d’instructions d’amorçage (L 1 ), dans la zone mémoire d’amorçage principale (MEM 1 ).