FR2928473A1 - Procede et disositif pour assurer une coherence entre des telechargements de differentes versions d'un logiciel. - Google Patents

Procede et disositif pour assurer une coherence entre des telechargements de differentes versions d'un logiciel. Download PDF

Info

Publication number
FR2928473A1
FR2928473A1 FR0851449A FR0851449A FR2928473A1 FR 2928473 A1 FR2928473 A1 FR 2928473A1 FR 0851449 A FR0851449 A FR 0851449A FR 0851449 A FR0851449 A FR 0851449A FR 2928473 A1 FR2928473 A1 FR 2928473A1
Authority
FR
France
Prior art keywords
software
memory
content
associative table
control unit
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.)
Granted
Application number
FR0851449A
Other languages
English (en)
Other versions
FR2928473B1 (fr
Inventor
Francois Rochette
Delphine Meudec
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
PSA Automobiles SA
Original Assignee
Peugeot Citroen Automobiles SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Peugeot Citroen Automobiles SA filed Critical Peugeot Citroen Automobiles SA
Priority to FR0851449A priority Critical patent/FR2928473B1/fr
Publication of FR2928473A1 publication Critical patent/FR2928473A1/fr
Application granted granted Critical
Publication of FR2928473B1 publication Critical patent/FR2928473B1/fr
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • G06F8/64Retargetable
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Quality & Reliability (AREA)
  • Stored Programmes (AREA)

Abstract

Pour assurer qu'une nouvelle version d'un logiciel est téléchargée dans une première mémoire d'une unité de contrôle électronique de véhicule, de manière cohérente au regard d'un paramétrage du logiciel, le procédé comprend :- une étape de comparaison (53), dans laquelle l'unité de contrôle électronique compare au moins une partie de contenu d'une table associative qui attribue des valeurs télé codées dans une deuxième mémoire à des paramètres de la nouvelle version, avec le contenu d'une zone de référence dans la deuxième mémoire ;- une étape de défaut (54) déclenchée par une détection de contenu différent, dans laquelle un défaut de télécodage est mémorisé dans la deuxième mémoire ; et- une étape de recopie (55) dans laquelle au moins une partie du contenu de la table associative, est recopiée dans la zone de référence de la deuxième mémoire de façon à pouvoir être comparée ultérieurement avec une même partie du contenu de la table associative d'une version ultérieure dudit logiciel.

Description

Procédé et dispositif pour assurer une cohérence entre des téléchargements de différentes versions d'un logiciel.
Le domaine de l'invention est celui des mises à jour de logiciels adaptés à différentes configurations de véhicules, notamment de véhicules automobiles. Plus particulièrement, l'invention concerne un procédé et un dispositif pour assurer une cohérence entre des téléchargements de différentes versions d'un logiciel. Les véhicules modernes comprennent de plus en plus de calculateurs électroniques, généralement nommés UCE (acronyme de Unité de Contrôle Electronique), qui hébergent un ou plusieurs logiciels chargés d'assurer aussi bien des fonctions de confort que de sécurité. Pour permettre plus de souplesse pendant le développement et de corriger une prestation en série, une UCE est souvent agencée pour mettre en oeuvre une fonction de téléchargement qui permet de remplacer le logiciel existant au moyen d'un outil de diagnostic. Grâce au téléchargement, il est possible de moderniser le logiciel de l'UCE dans le réseau après vente que ce soit pour corriger un bogue logiciel ou pour modifier les valeurs d'une cartographie.
Cependant, afin de diminuer les coûts de mise au point des logiciels, comprenant la fabrication d'un fichier, tout en assurant une grande diversité de production, et lorsque la capacité mémoire du calculateur le permet, on regroupe au sein d'un même logiciel plusieurs calibrations correspondant chacune à une application spécifiquement adaptée à un véhicule donné. Une opération supplémentaire de configuration est alors nécessaire que nous nommerons télécodage dans la suite de la description. Cette opération de configuration ou télécodage, permet de sélectionner, à l'aide d'un outil de diagnostic, une configuration particulière parmi celles qui sont présentes dans le logiciel téléchargé.
Le logiciel contient une table associative, indiquant pour chaque paramètre de configuration, une adresse en mémoire non volatile, à laquelle est stockée une valeur du paramètre correspondant à la configuration sélectionnée. Si chaque nouvelle version de logiciel est élaborée de façon à tenir rigoureusement compte de toutes les configurations possibles de la version précédente, il suffit alors de télécharger la nouvelle version de logiciel sans se préoccuper de refaire la configuration ou le paramétrage. Cependant ce type d'approche est contraignant tant du fait qu'il fige toute possibilité d'une version pour laquelle une extension ou une modification de paramétrage est utile que du fait d'une connaissance parfaite des version antérieures pas toujours facile à garantir vu la complexité croissante des logiciels. Un problème se pose sérieusement si le paramétrage d'une version antérieure, n'est pas cohérent avec la nouvelle version de logiciel. Un manque de cohérence peut avoir des conséquences fâcheuses en termes d'image de marque, voire désastreuses en termes de sécurité. Pour répondre à ce problème, un objet de l'invention est un procédé pour assurer qu'une nouvelle version d'un logiciel est téléchargée dans une première mémoire d'une unité de contrôle électronique de véhicule, de manière cohérente au regard d'un paramétrage du logiciel, le logiciel comprenant une table associative dont un contenu attribue à au moins un paramètre du logiciel, une valeur qu'il est prévu de télé coder dans une deuxième mémoire de l'unité de contrôle électronique de façon à réaliser le paramétrage. Le procédé est remarquable en ce qu'il comprend : - une étape de comparaison, dans laquelle l'unité de contrôle électronique compare au moins une partie du contenu de la table associative de la nouvelle version, avec le contenu d'une zone de référence dans la deuxième mémoire ; - une étape de défaut déclenchée par une détection de contenu différent, dans laquelle un défaut de télécodage est mémorisé dans la deuxième mémoire ; et - une étape de recopie dans laquelle au moins une partie du contenu de la table associative, est recopiée dans la zone de référence de la deuxième mémoire de façon à pouvoir être comparée ultérieurement avec une même partie du contenu de la table associative d'une version ultérieure dudit logiciel. Particulièrement, le procédé comprend une étape d'invalidation déclenchée si un défaut de télécodage est mémorisé, et dans laquelle l'unité de contrôle électronique appelle à télé coder chaque valeur qu'il est prévu de télé coder dans la deuxième mémoire. Particulièrement encore, le procédé comprend une étape de validation déclenchée si aucun défaut de télécodage n'est mémorisé, et dans laquelle l'unité de contrôle électronique attribue la valeur au dit paramètre au moyen du contenu de la table associative. Plus particulièrement le procédé comprend une étape de lecture préalable à l'étape de comparaison, dans laquelle l'unité de contrôle électronique lit une zone de vérification, à la suite de la table associative dans la première mémoire, et qui contient une première variable pour adresser un début de la zone de référence. Un autre objet de l'invention est un dispositif pour agencer une unité de contrôle électronique de véhicule comprenant deux mémoires, de façon à assurer qu'une nouvelle version d'un logiciel est téléchargée dans une première mémoire, de manière cohérente au regard d'un paramétrage du logiciel, le logiciel comprenant une table associative dont un contenu attribue à au moins un paramètre dudit logiciel, une valeur qu'il est prévu de télé coder dans une deuxième mémoire de façon à réaliser le paramétrage. Le dispositif est remarquable en ce que : la deuxième mémoire comprend une zone de référence agencée pour contenir, avant téléchargement de la nouvelle version, au moins une partie de contenu de table associative qui correspond à une version antérieure du logiciel, et pour contenir, après téléchargement de la nouvelle version, la partie de contenu de la table associative qui correspond à la nouvelle version du logiciel ; et en ce que : - l'unité de contrôle électronique est agencée pour mémoriser un défaut de télécodage dans la deuxième mémoire lorsque la zone de référence contient une partie de contenu de table associative après téléchargement, différent de la partie de contenu de table associative avant téléchargement.
Particulièrement la première mémoire est de type Flash EPROM et/ou la deuxième mémoire est de type EEPROM . Plus particulièrement, la première mémoire comprend une zone de vérification qui contient une première variable pour adresser un début de la zone de référence. D'autres détails et avantages de l'invention, vont encore ressortir à la lecture de la description du mode de réalisation qui suit en référence aux dessins annexés, dans lesquels : - la figure 1 illustre différents types de véhicules automobiles à chacun desquels correspond un logiciel applicatif adapté ; la figure 2 illustre un logiciel qui convient à différents types de véhicule pour chacun desquels un télécodage permet de sélectionner une configuration qui convient ; la figure 3 est une architecture mémoire d'unité de contrôle électronique pour mettre en oeuvre le logiciel illustré par la figure 2 ; la figure 4 est une architecture mémoire d'unité de contrôle électronique qui améliore l'architecture de la figure 3 conformément à l'invention ; la figure 5 montre des étapes de procédé conforme à l'invention ; les figures 6 et 7 montrent deux configurations possibles de l'architecture mémoire de la figure 3.
A titre purement illustratif en référence à la figure 1, un logiciel 101 est spécifiquement configuré pour un véhicule 100 équipé d'un moteur de type TU5 avec une boîte de vitesse de type Refl et une carrosserie de type légère, un logiciel 111 est spécifiquement configuré pour un véhicule 110 équipé d'un moteur de type EW10 avec une boîte de vitesse de type Ref2 et une carrosserie de type moyenne, un logiciel 121 est spécifiquement configuré pour un véhicule 120 équipé d'un moteur de type TU3 avec une boîte de vitesse de type Ref3 et une carrosserie de type lourde. Chaque UCE de véhicule héberge alors un logiciel applicatif différent. En référence à la figure 2, un même logiciel applicatif 131 est téléchargé dans l'UCE de chaque véhicule 100, 110, 120. Les configurations pour les trois véhicules sont aussi téléchargées en bloc. On utilise alors un outil de diagnostique 132 pour télé coder dans chaque véhicule, celle des configurations qui lui convient. En référence à la figure 3, l'unité de contrôle électronique (UCE) 10 comprend une mémoire 11 de type Flash EPROM et une mémoire 12 de type EEPROM . La mémoire 11 contient le programme objet et les données d'un logiciel applicatif, ici par exemple nommé alpha. Particulièrement, le logiciel applicatif comprend une table associative 13 dans laquelle, sur chaque ligne, une colonne 14 associe un nom de paramètre à une valeur d'adresse contenue en colonne 15. Cette valeur d'adresse pointe sur une adresse de la mémoire 12 qui contient une valeur du paramètre associé.
Pour illustrer le propos, le paramètre C_M_T relatif à une configuration de motorisation télé codée, est associé dans la table 13, à une valeur OxFF02 qui pointe dans la mémoire 12 sur une valeur OxAAAA mémorisée à l'adresse OxFF02. Le paramètre C_C_T relatif à une configuration de carrosserie télé codée, est associé dans la table 13, à une valeur OxFF04 qui pointe dans la mémoire 12 sur une valeur OxBBB mémorisée à l'adresse OxFF04. Le paramètre C_B_v_T relatif à une configuration de boîte de vitesse télé codée, est associé dans la table 13, à une valeur OxFF06 qui pointe dans la mémoire 12 sur une valeur OxCCC mémorisée à l'adresse OxFF06.
Dans le cadre de la fonction de télécodage, l'attribution aux (mapping en anglais) paramètres des valeurs contenues dans la mémoire 12 de type EEPROM, est utilisée par le logiciel applicatif dans les deux situations de vie suivantes.
Une première situation de vie a lieu au moment de l'opération de télécodage. Sur réception d'une requête de télécodage envoyée par l'outil 132, l'UCE 10 stocke les valeurs télé codées dans la mémoire 12 aux adresses indiquées dans une carte d'attribution (mapping en anglais). Dans l'exemple représenté en figure 3, la valeur OxAAAA, envoyée par l'outil pour configurer la motorisation, est stockée à l'adresse OxFF02, la valeur OxBBBB, envoyée par l'outil pour configurer la carrosserie, est stockée à l'adresse OxFF04, et la valeur OxCCCC, envoyée par l'outil pour configurer la boîte de vitesses, sera stockée à l'adresse OxFF06. Une deuxième situation de vie a lieu à chaque initialisation de l'UCE 10. Le logiciel applicatif lit les valeurs télé codées qui sont inscrites dans la mémoire 12 aux adresses indiquées dans la carte d'attribution et les associe aux différents paramètres afin d'adapter le logiciel à la configuration de véhicule demandée. Dans l'exemple ci-dessus, la variable nommée par le paramètre C_M_T prend la valeur OxAAAA, la variable nommée par le paramètre C_C_T prend la valeur OxBBBB, et la variable nommée par le paramètre C_B_v_T prend la valeur OxCCCC.
La carte d'attribution mapping EPPROM est susceptible d'évoluer lors de chaque téléchargement d'un nouveau logiciel. Lorsque l'on effectue un téléchargement, deux cas 5 de figures peuvent se présenter. Dans un premier cas de figure, le nouveau logiciel et le logiciel précédent présentent une carte d'attribution mapping EEPROM identique. Il n'est alors pas nécessaire de télé coder à nouveau l'UCE 10. 10 Dans un deuxième cas de figure, le nouveau logiciel et le logiciel précédent ont des cartes d'attribution mapping EEPROM différentes. Il est alors nécessaire de réaliser un nouveau télécodage pour éviter que le logiciel applicatif ne démarre avec des variables de 15 télécodage qui contiennent des valeurs aléatoires. En effet, les valeurs présentes en mémoire 12 ne sont pas affectées par le téléchargement d'un nouveau logiciel en mémoire 11. Ceci est source d'une incohérence entre la carte d'attribution qui a évolué et les valeurs télé 20 codées stockées en mémoire 11 qui n'ont pas changées. Le fonctionnement de l'UCE 10, n'est alors plus maîtrisé. Il existe un risque pouvant aller de la perte d'agrément, à la détérioration matérielle, voire même, dans certains cas, la mise en péril de la sécurité des occupants du 25 véhicule. Il n'est pas aisé d'identifier les logiciels qui modifient la carte d'attribution (mapping EEPROM). Ceci motive le constructeur automobile à demander au fournisseur d'indiquer une telle modification sur le 30 bordereau de livraison lors de la fourniture du fichier. Mais rien ne garantit que l'opérateur effectue bien le télécodage en service après vente. Or, cela va à l'encontre de l'exigence du réseau qui consiste à garantir que le véhicule est correctement configuré avant 35 sa remise au client. Pour éviter les risques, une solution consiste à réaliser systématiquement un télécodage après toute opération de téléchargement, y compris pour celles qui n'affectent pas la carte d'attribution (mapping EEPROM). Mais, cela va à l'encontre de la rentabilité du réseau puisque dans la majeure partie des cas, par exemple ceux d'un simple changement de valeurs de calibrations, cette opération est parfaitement inutile. Enfin, une telle opération augmente également le risque d'erreur de configuration inhérent à toute tentative de télécodage (erreur de l'opérateur lors d'un télécodage manuel, erreur dans le fichier lors d'un télécodage automatique, erreur due à une cellule défectueuse lors de la tentative d'écriture dans la mémoire du calculateur). Conformément au but de l'invention qui est de résoudre les problèmes qui viennent d'être évoqués, le mécanisme expliqué à présent en référence 4, permet à l'unité de contrôle électronique 10 de détecter automatiquement, si le nouveau fichier téléchargé nécessite ou non un re-télécodage. Une zone 16 de référence, réservée en mémoire 12, est destinée à recevoir une recopie de la partie de la carte d'attribution dédiée aux variables de télécodage dans la table associative 13. Une zone supplémentaire 17, dite zone de vérification, en mémoire 11 à la suite de la table associative 13, contient une première variable nommée A_D_Z, dont la valeur est une adresse de début de zone de référence 16, à savoir OxFFFO dans l'exemple purement illustratif de la figure 4. La zone 17 contient aussi une deuxième variable nommée T Z dont la valeur est une taille de la zone 16 de référence. La nouvelle structure de données qui vient d'être expliquée en référence à la figure 4, est exploitée conformément au procédé expliqué à présent en référence à la figure 5.
Chaque initialisation, à savoir chaque mise sous tension de l'UCE 10, déclenche une étape 50 qui démarre le procédé.
Dans une étape 51, l'UCE 10 lit le contenu de la table associative 13 mémorisée avec le logiciel 18 téléchargé en mémoire 11 puis la zone 17. Dans une étape 52, l'UCE 10 lit le contenu de la 5 zone 16 localisée grâce à l'adresse de début et à la taille indiquées dans la zone 17. Dans une étape 53, l'UCE 10 compare le contenu de la colonne 15 dans la table associative 13 avec le contenu de la zone 16 de référence. Une détection de 10 contenu identique, déclenche une étape 56 et une détection de contenu différent, déclenche une étape 54. Dans l'étape 56, l'UCE 10 démarre le logiciel applicatif. Dans l'étape 54, l'UCE 10 invalide le télécodage et 15 mémorise un défaut de télécodage. Dans une étape 55, l'UCE 10 recopie le contenu de la colonne 15 de la table associative 13 dans la zone 16 de référence puis se branche sur l'étape 56 pour démarrer ensuite le logiciel applicatif. 20 Dans une étape 57, l'UCE 10 teste si le défaut de télécodage est présent. Une absence de défaut de télécodage, active une étape 58 de validation et une présence de défaut de télécodage, active une étape 59 d'invalidation. 25 Dans l'étape 58, l'UCE 10 prend en compte les valeurs de télécodage contenues dans la table associative 13 pour exécuter le logiciel applicatif 18. Dans l'étape 59, l'invalidation de télécodage replace l'UCE 10 dans son état de livraison vierge, dont 30 les propriétés sont la présence du défaut télécodage dans la mémoire des défauts, l'activation du mode dégradé correspondant à l'absence de télécodage, et l'allumage d'un voyant au combiné. Tout ceci dans le but, pour l'opérateur en concession, d'identifier immédiatement 35 l'anomalie et de ne pas remettre le véhicule dans cet état au client.
Une étape 60 termine alors la phase du procédé que nous venons d'expliquer. La vie d'une UCE 10 depuis la production jusqu'à la modernisation logicielle dans le réseau après vente, est jalonnée par les événements expliqués à présent. La livraison de l'UCE 10 vierge est sans objet car le procédé décrit en référence à la figure 5, fait partie du logiciel applicatif qui n'a pas encore été téléchargé. Au premier téléchargement, un logiciel, nommé alpha pour le bien de la cause, est inscrit dans la mémoire 11. Il inclut la table associative 13 et la zone 17 de vérification. Après une réinitialisation de l'UCE 10, la zone 16 de référence, contient des valeurs indéterminées. Par conséquent, la comparaison, en étape 53, entre table associative 13 et zone 16 de référence, échoue. Le défaut télécodage est mémorisé et le contenu de la table associative, est recopié dans la zone de référence. L'applicatif démarre en mode dégradé car l'UCE 10 reste en mode livraison. Suite à une nouvelle initialisation de l'UCE 10, la comparaison, en étape 53, entre table associative 13 et zone 16 de référence, est un succès. L'applicatif démarre en mode dégradé car le calculateur reste en mode livraison. Après un télécodage au cours duquel les valeurs de télécodage envoyées par l'outil 132, sont inscrites dans la mémoire 12 aux adresses indiquées dans la table associative, le télécodage est validé. Le défaut télécodage disparaît, le voyant s'éteint et l'UCE fonctionne en mode nominal. Suite à une nouvelle initialisation de l'UCE 10, la comparaison, en étape 53, entre table associative 13 et zone 16 de référence, est un succès. L'applicatif démarre et il prend en compte les valeurs de télécodage contenues en mémoire 12 aux adresses indiquées dans la table associative 13.
On considère à présent, le téléchargement d'un nouveau logiciel, nommé bêta pour le bien de la cause, ayant la même carte d'attribution que le logiciel précédent comme illustré en référence à la figure 6.
Le logiciel bêta est inscrit dans la mémoire 11, il inclut la table associative 23 avec la zone de comparaison 27 qui sont, chacune respectivement égale à la table associative 13 avec la zone de comparaison 17. Après réinitialisation, la comparaison entre la table associative 23 et la zone de référence 16, est un succès. L'applicatif démarre et il prend en compte les valeurs de télécodage contenus en mémoire 12 aux adresses indiquées dans la table associative 23. Suite à une nouvelle initialisation de l'UCE 10, la comparaison entre le contenu de la table associative 23 et le contenu de la zone 16 de référence, est un succès. L'applicatif démarre et il prend en compte les valeurs de télécodage contenues en mémoire 12 aux adresses indiquées dans la table associative 23.
On considère à présent, le téléchargement d'un nouveau logiciel, nommé gamma pour le bien de la cause, ayant une carte d'attribution différente de celle du logiciel précédent comme illustré en référence à la figure 7.
Le logiciel gamma est inscrit dans la mémoire 11, il inclut la table associative 33 avec la zone de comparaison 37. Ici, le contenu de la table associative 33 est différent du contenu de la zone 16. Après réinitialisation de l'UCE 10, la comparaison entre la table associative 33 et la zone 16 aboutit à un échec. Le défaut télécodage est mémorisé et le contenu de la table associative 33 est recopié dans la zone 16. L'applicatif démarre mais l'UCE 10 bascule à nouveau en mode livraison, c'est-à-dire en mode dégradé avec un voyant allumé. Suite à une nouvelle initialisation de l'UCE 10, la comparaison entre le contenu de la table associative 33 et le contenu de la zone 16 de référence, est un succès. L'applicatif démarre mais l'UCE 10 reste en mode livraison. L'opérateur du service après vente effectue alors un télécodage au cours duquel les valeurs de télécodage sont inscrites dans la mémoire 12 aux adresses indiquées dans la table associative 33. Le télécodage est validé, le défaut télécodage disparaît, le voyant s'éteint et l'UCE 10 fonctionne en mode nominal.
Suite à une nouvelle initialisation de l'UCE 10, la comparaison entre le contenu de la table associative 33 et le contenu de la zone 16 de référence, est un succès. L'applicatif démarre et il prend en compte les valeurs de télécodage contenus en mémoire 12 aux adresses indiquées dans la table associative 33. L'invention qui vient d'être exposée procure un gain économique appréciable en ce que le procédé permet, en service après vente ou dans les usines de montage du constructeur automobile lorsqu'il y a retouche, de réaliser l'opération de télécodage après un téléchargement uniquement dans les cas le nécessitant afin d'améliorer la qualité sur la sortie des véhicules. Le procédé proposé est peu coûteux puisqu'il s'agit d'une solution entièrement logicielle, qui n'est pas contraignante en termes de dimensionnement pour les composants constituant le calculateur électronique car elle ne demande que quelques octets supplémentaires en mémoire de type EEPROM et quelques lignes de codes en mémoire de type FLASH EPROM.
L'invention qui vient d'être exposée procure aussi un gain en qualité appréciable en ce que le procédé limite le nombre de véhicules potentiellement mal configurés dans le réseau après vente par rapport aux situations connues de l'état de la technique antérieure.
On note moins de véhicules à reconfigurer. En évitant de rendre des véhicules mal configurés au client, on assure la sécurité du client et on améliore l'image de marque du réseau après vente.

Claims (8)

REVENDICATIONS
1. Procédé pour assurer qu'une nouvelle version d'un logiciel est téléchargée dans une première mémoire d'une unité de contrôle électronique de véhicule, de manière cohérente au regard d'un paramétrage dudit logiciel, ledit logiciel comprenant une table associative dont un contenu attribue à au moins un paramètre dudit logiciel, une valeur qu'il est prévu de télé coder dans une deuxième mémoire de ladite unité de contrôle électronique de façon à réaliser ledit paramétrage, caractérisé en ce qu'il comprend : une étape de comparaison (53), dans laquelle l'unité de contrôle électronique compare au moins une partie du contenu de la table associative de la nouvelle version, avec le contenu d'une zone de référence dans la deuxième mémoire ; une étape de défaut (54) déclenchée par une détection de contenu différent, dans laquelle un défaut de télécodage est mémorisé dans la deuxième mémoire ; et - une étape de recopie (55) dans laquelle au moins une partie du contenu de la table associative, est recopiée dans la zone de référence de la deuxième mémoire de façon à pouvoir être comparée ultérieurement avec une même partie du contenu de la table associative d'une version ultérieure dudit logiciel.
2. Procédé selon la revendication 1, caractérisé en ce qu'il comprend une étape d'invalidation (59) déclenchée si un défaut de télécodage est mémorisé, et dans laquelle l'unité de contrôle électronique appelle à télé coder chaque valeur qu'il est prévu de télé coder dans la deuxième mémoire.
3. Procédé selon la revendication 1 ou 2, caractérisé en ce qu'il comprend une étape de validation (58) déclenchée si aucun défaut de télécodage n'estmémorisé, et dans laquelle l'unité de contrôle électronique attribue la valeur au dit paramètre au moyen du contenu de la table associative.
4. Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il comprend une étape de lecture (51) préalable à l'étape de comparaison (53), dans laquelle l'unité de contrôle électronique lit une zone de vérification, à la suite de la table associative dans la première mémoire, et qui contient une première variable pour adresser un début de la zone de référence.
5. Dispositif pour assurer qu'une nouvelle version d'un logiciel (18) est téléchargée dans une première mémoire (11) d'une unité de contrôle électronique (10) de véhicule, de manière cohérente au regard d'un paramétrage dudit logiciel, ledit logiciel comprenant une table associative (23, 33) dont un contenu attribue à au moins un paramètre dudit logiciel, une valeur qu'il est prévu de télé coder dans une deuxième mémoire (12) de ladite unité de contrôle électronique de façon à réaliser ledit paramétrage, caractérisé en ce que : - la deuxième mémoire (12) comprend une zone de référence (16) agencée pour contenir, avant téléchargement de la nouvelle version, au moins une partie de contenu de table associative (13) qui correspond à une version antérieure dudit logiciel, et pour contenir, après téléchargement de la nouvelle version, la partie de contenu de la table associative (23, 33) qui correspond à la nouvelle version dudit logiciel ; et en ce que : - l'unité de contrôle électronique (10) est agencée pour mémoriser un défaut de télécodage dans la deuxième mémoire (12) lorsque la zone de référence (16) contient une partie de contenu de table associative (33) après téléchargement, différent de la partie de contenu de table associative (13) avant téléchargement.
6. Dispositif selon la revendication 5, caractérisé en ce que la première mémoire est de type Flash EPROM .
7. Dispositif selon la revendication 5 ou 6, caractérisé en ce que la deuxième mémoire est de type EEPROM .
8. Dispositif selon l'une des revendications 5 à 7, caractérisé en ce que la première mémoire (11) comprend une zone de vérification (17, 27, 37), qui contient une première variable pour adresser un début de la zone de référence (16).
FR0851449A 2008-03-06 2008-03-06 Procede et disositif pour assurer une coherence entre des telechargements de differentes versions d'un logiciel. Expired - Fee Related FR2928473B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0851449A FR2928473B1 (fr) 2008-03-06 2008-03-06 Procede et disositif pour assurer une coherence entre des telechargements de differentes versions d'un logiciel.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0851449A FR2928473B1 (fr) 2008-03-06 2008-03-06 Procede et disositif pour assurer une coherence entre des telechargements de differentes versions d'un logiciel.

Publications (2)

Publication Number Publication Date
FR2928473A1 true FR2928473A1 (fr) 2009-09-11
FR2928473B1 FR2928473B1 (fr) 2011-01-28

Family

ID=39790921

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0851449A Expired - Fee Related FR2928473B1 (fr) 2008-03-06 2008-03-06 Procede et disositif pour assurer une coherence entre des telechargements de differentes versions d'un logiciel.

Country Status (1)

Country Link
FR (1) FR2928473B1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2998992A1 (fr) * 2012-12-05 2014-06-06 Peugeot Citroen Automobiles Sa Controleur de vehicule automobile a programmation facilitee

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0632373A1 (fr) * 1993-06-30 1995-01-04 Marelli Autronica Système de téléchargement de données de programme pour calculateur de gestion de processus
DE19850133A1 (de) * 1997-11-07 1999-05-27 Nissan Motor System zum Neuprogrammieren eines Steuerspeichers
WO2001006798A1 (fr) * 1999-07-16 2001-01-25 Excel Switching Corporation Procede et appareil pour la mise a jour de logiciel en service, pour systeme de telecommunication pouvant etre etendu
FR2805362A1 (fr) * 2000-02-21 2001-08-24 Peugeot Citroen Automobiles Sa Systeme de configuration d'au moins un calculateur d'un systeme informatique embarque a bord d'un vehicule automobile
DE10037397A1 (de) * 2000-08-01 2002-02-14 Daimler Chrysler Ag Verfahren zum Laden von Software
FR2819595A1 (fr) * 2001-01-12 2002-07-19 Bosch Gmbh Robert Appareil et procede de commande d'un vehicule concu pour un grand nombre de differentes variantes de vehicule

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0632373A1 (fr) * 1993-06-30 1995-01-04 Marelli Autronica Système de téléchargement de données de programme pour calculateur de gestion de processus
DE19850133A1 (de) * 1997-11-07 1999-05-27 Nissan Motor System zum Neuprogrammieren eines Steuerspeichers
WO2001006798A1 (fr) * 1999-07-16 2001-01-25 Excel Switching Corporation Procede et appareil pour la mise a jour de logiciel en service, pour systeme de telecommunication pouvant etre etendu
FR2805362A1 (fr) * 2000-02-21 2001-08-24 Peugeot Citroen Automobiles Sa Systeme de configuration d'au moins un calculateur d'un systeme informatique embarque a bord d'un vehicule automobile
DE10037397A1 (de) * 2000-08-01 2002-02-14 Daimler Chrysler Ag Verfahren zum Laden von Software
US20040039500A1 (en) * 2000-08-01 2004-02-26 Sandro Amendola Method for loading software
FR2819595A1 (fr) * 2001-01-12 2002-07-19 Bosch Gmbh Robert Appareil et procede de commande d'un vehicule concu pour un grand nombre de differentes variantes de vehicule

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DATABASE INSPEC [online] THE INSTITUTION OF ELECTRICAL ENGINEERS, STEVENAGE, GB; November 1986 (1986-11-01), PRIETO-DIAZ R ET AL: "Module interconnection languages", Database accession no. 2849229 *
PRIETO-DIAZ R ET AL: "Module interconnection languages", JOURNAL OF SYSTEMS AND SOFTWARE USA, vol. 6, no. 4, 1986, pages 307 - 334, XP002500009, ISSN: 0164-1212 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2998992A1 (fr) * 2012-12-05 2014-06-06 Peugeot Citroen Automobiles Sa Controleur de vehicule automobile a programmation facilitee

Also Published As

Publication number Publication date
FR2928473B1 (fr) 2011-01-28

Similar Documents

Publication Publication Date Title
EP0682315A1 (fr) Procédé de déverrouillage d'accès à un calculateur par un outil de téléchargement d'un fichier
EP4127911A1 (fr) Dispositifs et procédé de contrôle d'unités de commande électroniques d'un véhicule automobile
FR2643478A1 (fr) Carte a circuit integre
FR2915590A1 (fr) Systeme et methode pour gerer le redemarrage d'un equipement d'automatisme
EP2049967A2 (fr) Coeur processeur a frequence pilotee et procede de demarrage dudit coeur processeur dans un mode programme
FR2928473A1 (fr) Procede et disositif pour assurer une coherence entre des telechargements de differentes versions d'un logiciel.
FR2798205A1 (fr) Procede et dispositif pour modifier le contenu de la memoire d'appareil de commande notamment pour les operations de fonctionnement d'un vehicule
FR2926147A1 (fr) Calculateur embarque et procede de configuration de calculateur embarque.
FR3108191A1 (fr) Procédé et dispositif de mise à jour d’un logiciel comportant des adresses physiques vers la mémoire d’un calculateur embarqué d’un véhicule
EP4004712A1 (fr) Procédé et dispositif de mise à jour d'un logiciel d'un calculateur embarqué d'un véhicule, comportant une mémoire d'exécution, une mémoire de sauvegarde et une mémoire de contrôle
FR3096153A1 (fr) Procédé et dispositif de retour à un état précédent une mise à jour logicielle d’un calculateur d’un véhicule à distance
EP3924831A1 (fr) Procédé de mise à jour d'un calculateur automobile de façon à lui ajouter une fonctionnalité supplémentaire
EP3991029A1 (fr) Procédé de dialogue avec un calculateur sur bus embarqué de véhicule
FR3100071A1 (fr) Procédé et dispositif de mise à jour d’un logiciel d’un calculateur embarqué d’un véhicule, comportant une mémoire d’exécution et une mémoire de sauvegarde
FR3099265A1 (fr) Procédé et dispositif de mise à jour d’un logiciel d’un calculateur embarqué d’un véhicule, comportant une mémoire d’exécution, une mémoire de sauvegarde et une mémoire de contrôle
FR3099264A1 (fr) Procédé et dispositif de mise à jour d’un logiciel d’un calculateur embarqué d’un véhicule, comportant une mémoire d’exécution et une mémoire de sauvegarde
WO2022064118A1 (fr) Procédé et dispositif de mise à jour d'un logiciel d'un calculateur embarqué d'un véhicule, comportant une mémoire d'exécution, une mémoire de sauvegarde et une mémoire de contrôle
EP1763757A2 (fr) Dispositif de controle de la couverture structurelle d'un logiciel et procede mettant en oeuvre le dispositif
EP0939013A1 (fr) Procédé de déverrouillage de l'accès d'un outil de téléchargement d'un fichier, à un calculateur
FR3114415A1 (fr) Procédé et dispositif de mise à jour d’un logiciel d’un calculateur embarqué d’un véhicule, comportant une mémoire d’exécution et une mémoire de sauvegarde
WO2024080913A1 (fr) Simulation de fonctionnalités d'un véhicule physique ou de parties de celui-ci
EP0939355B1 (fr) Calculateur de pilotage du fonctionnement d'un organe fonctionnel de véhicule automobile
FR2923040A1 (fr) Procede de diagnostic d'un calculateur
FR2881905A1 (fr) Procede et systeme de telechargement d'un fichier dans un calculateur embarque a bord d'un vehicule automobile
EP3225007A1 (fr) Procédé de communication entre un outil de production et un véhicule automobile

Legal Events

Date Code Title Description
ST Notification of lapse

Effective date: 20131129