FR2928473A1 - Software's new version coherent download providing method for e.g. car, involves copying content portion of table into zone of memory to subsequently compare portion with same content portion of table from subsequent version of software - Google Patents
Software's new version coherent download providing method for e.g. car, involves copying content portion of table into zone of memory to subsequently compare portion with same content portion of table from subsequent version of software Download PDFInfo
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/0223—User address space allocation, e.g. contiguous or non contiguous base addressing
- G06F12/0292—User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/64—Retargetable
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates 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)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
Description
Procédé et dispositif pour assurer une cohérence entre des téléchargements de différentes versions d'un logiciel. Method and device for ensuring consistency between downloads of different versions of software.
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. The field of the invention is that of software updates adapted to different configurations of vehicles, including motor vehicles. More particularly, the invention relates to a method and a device for ensuring consistency between downloads of different versions of software. Modern vehicles include more and more electronic computers, usually called ECU (acronym for Electronic Control Unit), which host one or more software to ensure both comfort and security functions. To allow more flexibility during development and to correct a series delivery, an ECU is often arranged to implement a download function that allows the existing software to be replaced by means of a diagnostic tool. Thanks to the download, it is possible to modernize the software of the ECU in the after-sales network whether it is to correct a software bug or to modify the values of a cartography.
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é. However, in order to reduce the software development costs, including the production of a file, while ensuring a wide variety of production, and when the memory capacity of the computer allows, we group together within the same software several calibrations each corresponding to an application specifically adapted to a given vehicle. An additional configuration operation is then necessary that we will name the remote control in the following description. This configuration or telecoding operation makes it possible to select, using a diagnostic tool, a particular configuration among those present in the downloaded software.
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. The software contains an associative table, indicating for each configuration parameter, an address in non-volatile memory, in which is stored a value of the parameter corresponding to the selected configuration. If each new version of software is developed to take into account all the possible configurations of the previous version, then it is enough to download the new version of software without worrying about redoing the configuration or the setting. However this type of approach is binding both because it freezes any possibility of a version for which an extension or a modification of parameterization is useful that because of a perfect knowledge of the previous versions not always easy to guarantee given the increasing complexity of software. A problem arises seriously if the setting of an earlier version is not consistent with the new software version. A lack of coherence can have unfortunate consequences in terms of brand image, even disastrous in terms of security. To address this problem, an object of the invention is a method for ensuring that a new version of a software is downloaded to a first memory of a vehicle electronic control unit, in a manner consistent with a parameterization of the software, the software comprising an associative table whose content assigns to at least one parameter of the software, a value that is expected to tele code in a second memory of the electronic control unit so as to perform the setting. The method is remarkable in that it comprises: a comparison step, in which the electronic control unit compares at least part of the content of the associative table of the new version with the content of a reference zone in the second memory; a fault step triggered by a different content detection, in which a coding fault is stored in the second memory; and a copy step in which at least part of the content of the associative table is copied into the reference area of the second memory so that it can be compared later with the same part of the content of the associative table of a later version of said software. In particular, the method comprises an invalidation step triggered if a coding fault is stored, and in which the electronic control unit calls to tele-code each value that it is intended to tele-code in the second memory. More particularly, the method comprises a validation step triggered if no coding fault is stored, and in which the electronic control unit assigns the value to said parameter by means of the content of the associative table. More particularly, the method comprises a step of reading prior to the comparison step, in which the electronic control unit reads a verification zone, following the associative table in the first memory, and which contains a first variable for address a beginning of the reference area. Another object of the invention is a device for arranging a vehicle electronic control unit comprising two memories, so as to ensure that a new version of a software is downloaded in a first memory, in a coherent manner with respect to a parameterization of the software, the software comprising an associative table whose content assigns to at least one parameter of said software, a value that is intended to tele code in a second memory so as to perform the setting. The device is remarkable in that: the second memory comprises a reference zone arranged to contain, before downloading the new version, at least a portion of associative table content that corresponds to an earlier version of the software, and to contain, after download of the new version, the content part of the associative table that corresponds to the new version of the software; and in that: the electronic control unit is arranged to memorize a coding defect in the second memory when the reference area contains a portion of associative table content after downloading, different from the portion of associative table content before download.
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. In particular, the first memory is of Flash EPROM type and / or the second memory is of the EEPROM type. More particularly, the first memory includes a verification area which contains a first variable for addressing a start of the reference area. Other details and advantages of the invention will become apparent upon reading the description of the embodiment which follows with reference to the accompanying drawings, in which: FIG. 1 illustrates various types of motor vehicles each of which corresponds to a adapted application software; FIG. 2 illustrates software that is suitable for different types of vehicle for each of which a remote coding makes it possible to select a suitable configuration; FIG. 3 is an electronic control unit memory architecture for implementing the software illustrated in FIG. 2; FIG. 4 is an electronic control unit memory architecture that improves the architecture of FIG. 3 according to the invention; Figure 5 shows process steps according to the invention; FIGS. 6 and 7 show two possible configurations of the memory architecture of FIG.
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é. By way of illustration only with reference to FIG. 1, a software package 101 is specifically configured for a vehicle 100 equipped with a TU5 engine with a Refl type gearbox and a light type body, a software 111 is specifically configured. for a vehicle 110 equipped with an EW10 type engine with a Ref2-type gearbox and a medium-type body, a software 121 is specifically configured for a vehicle 120 equipped with a TU3 engine with a gearbox of type Ref3 and a heavy body type. Each vehicle ECU then hosts a different application software. With reference to FIG. 2, the same application software 131 is downloaded into the ECU of each vehicle 100, 110, 120. The configurations for the three vehicles are also downloaded en bloc. A diagnostic tool 132 for tele-coding in each vehicle is then used, that of the configurations that suits it. With reference to FIG. 3, the electronic control unit (ECU) 10 comprises a memory 11 of Flash EPROM type and a memory 12 of the EEPROM type. The memory 11 contains the object program and the data of an application software, here for example named alpha. In particular, the application software comprises an associative table 13 in which, on each line, a column 14 associates a parameter name with an address value contained in column 15. This address value points to an address of the memory 12 which contains a value of the associated parameter.
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. To illustrate the point, the parameter C_M_T relating to a tele-encoded motor configuration, is associated in the table 13 with an OxFF02 value which points in the memory 12 to an OxAAAA value stored at the address OxFF02. The parameter C_C_T relating to a coded tele body configuration is associated in the table 13 with an OxFF04 value which points in the memory 12 on an OxBBB value stored at the address OxFF04. The parameter C_B_v_T relative to an encoded tele gearbox configuration is associated in the table 13 with an OxFF06 value which points in the memory 12 on an OxCCC value stored at the address 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. In the context of the telecoding function, the allocation to the (mapping in English) parameters of the values contained in the memory 12 of the EEPROM type, is used by the application software in the two following life situations.
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. A first life situation takes place at the time of the telecoding operation. On receipt of a tele-coding request sent by the tool 132, the ECU 10 stores the tele values encoded in the memory 12 at the addresses indicated in an allocation card (mapping in English). In the example shown in FIG. 3, the value OxAAAA, sent by the tool to configure the operator, is stored at the address OxFF02, the value OxBBBB, sent by the tool to configure the bodywork, is stored at the address OxFF04, and the value OxCCCC, sent by the tool to configure the transmission, will be stored at OxFF06. A second life situation occurs at each initialization of the ECU 10. The application software reads the coded tele values that are entered in the memory 12 at the addresses indicated in the allocation card and associates them with the different parameters in order to adapt the software to the requested vehicle configuration. In the above example, the variable named by the C_M_T parameter is set to OxAAAA, the variable named by the C_C_T parameter is set to OxBBBB, and the variable named by the C_B_v_T parameter is set to the value of the 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. The mapping EPPROM mapping card may change with each download of new software. When making a download, two cases of figures can occur. In a first case, the new software and the preceding software present an identical mapping EEPROM mapping card. It is then not necessary to re-code the ECU 10 again. In a second case, the new software and the previous software have different assignment mapping EEPROM cards. It is then necessary to carry out a new telecoding to prevent the application software from starting with coding variables that contain random values. Indeed, the values present in the memory 12 are not affected by the downloading of new software into memory 11. This is the source of an inconsistency between the allocation card that has evolved and the coded TV values stored in memory 11 who have not changed. The operation of the ECU 10 is then no longer controlled. There is a risk that can range from loss of amenity, material deterioration, and even, in some cases, endangering the safety of the occupants of the vehicle. It is not easy to identify software that modifies the allocation map (EEPROM mapping). This motivates the car manufacturer to ask the supplier to indicate such a change on the delivery bill when supplying the file. But there is no guarantee that the operator performs the telecoding in service after sales. However, this goes against the requirement of the network to ensure that the vehicle is correctly configured before being handed over to the customer. To avoid risks, one solution is to systematically perform a download after any download operation, including those that do not affect the allocation card (EEPROM mapping). But, this goes against the profitability of the network since in most cases, for example those of a simple change of calibration values, this operation is perfectly useless. Finally, such an operation also increases the risk of misconfiguration inherent in any attempt to telecoding (error of the operator during a manual coding, error in the file during an automatic coding, error due to a defective cell when attempting to write to the calculator memory). In accordance with the object of the invention which is to solve the problems which have just been mentioned, the mechanism now explained in reference 4, allows the electronic control unit 10 to detect automatically, whether the new file downloaded requires or not. a re-coding. A reference zone 16, reserved in memory 12, is intended to receive a copy of the portion of the allocation card dedicated to the coding variables in the associative table 13. An additional zone 17, called the verification zone, in memory 11 following the associative table 13, contains a first variable named A_D_Z, the value of which is a reference zone start address 16, namely OxFFFO in the purely illustrative example of FIG. 4. The zone 17 also contains a second variable named TZ whose value is a size of the reference area 16. The new data structure that has just been explained with reference to FIG. 4 is exploited according to the method explained now with reference to FIG.
Chaque initialisation, à savoir chaque mise sous tension de l'UCE 10, déclenche une étape 50 qui démarre le procédé. Each initialization, namely each power up of the ECU 10, triggers a step 50 which starts the process.
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. In a step 51, the ECU 10 reads the contents of the associative table 13 stored with the software 18 downloaded into memory 11 and then the zone 17. In a step 52, the ECU 10 reads the contents of the localized area 16 through at the start address and at the size indicated in the area 17. In a step 53, the ECU 10 compares the contents of the column 15 in the associative table 13 with the content of the reference area 16. Identical content detection, triggers a step 56 and a different content detection, triggers a step 54. In step 56, the ECU 10 starts the application software. In step 54, the ECU 10 disables the coding and stores a coding fault. In a step 55, the ECU 10 copies the contents of the column 15 of the associative table 13 into the reference area 16 and then branches to step 56 to then start the application software. In a step 57, the ECU 10 tests whether the telecoding defect is present. A lack of a coding fault, activates a validation step 58 and a presence of a coding fault, activates an invalidation step 59. In step 58, the ECU 10 takes into account the telecoding values contained in the associative table 13 to execute the application software 18. In step 59, the coding invalidation places the ECU 10 in its state. blank delivery, the properties of which are the presence of the default coding in the fault memory, the activation of the degraded mode corresponding to the absence of telecoding, and the lighting of a light in the handset. All this with the aim, for the concession operator, of immediately identifying the anomaly and not returning the vehicle to that state to the customer.
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. A step 60 then ends the phase of the process that we have just explained. The life of an ECU 10 from production to software upgrades in the after sales network is punctuated by the events explained now. The delivery of the blank ECU 10 is irrelevant because the method described with reference to FIG. 5 is part of the application software that has not yet been downloaded. At the first download, a software, named alpha for the sake of the cause, is written in the memory 11. It includes the associative table 13 and the verification zone 17. After a reset of the ECU 10, the reference zone 16 contains indeterminate values. Therefore, the comparison, in step 53, between associative table 13 and reference area 16, fails. The default coding is stored and the contents of the associative table, is copied into the reference area. The application starts in degraded mode because the ECU 10 remains in delivery mode. Following a new initialization of the ECU 10, the comparison, in step 53, between the associative table 13 and the reference zone 16, is a success. The application starts in degraded mode because the computer remains in delivery mode. After a telecoding during which the telecoding values sent by the tool 132, are written in the memory 12 to the addresses indicated in the associative table, the coding is validated. The remote control fault disappears, the LED goes out and the ECU operates in nominal mode. Following a new initialization of the ECU 10, the comparison, in step 53, between the associative table 13 and the reference zone 16, is a success. The application starts and it takes into account the coding values contained in memory 12 at the addresses indicated in the associative table 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. We now consider the download of a new software, named beta for the sake of the cause, having the same attribution card as the previous software as illustrated with reference to 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. The beta software is written in the memory 11, it includes the associative table 23 with the comparison zone 27 which are each respectively equal to the associative table 13 with the comparison zone 17. After reinitialization, the comparison between the associative table 23 and reference area 16, is a success. The application starts and it takes into account the telecoding values contained in the memory 12 at the addresses indicated in the associative table 23. Following a new initialization of the ECU 10, the comparison between the content of the associative table 23 and the content of the reference area 16, is a success. The application starts and it takes into account the coding values contained in memory 12 at the addresses indicated in the associative table 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. We now consider the download of a new software, named gamma for the sake of the cause, having an allocation card different from that of the previous software as illustrated with reference to 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. The gamma software is written in the memory 11, it includes the associative table 33 with the comparison zone 37. Here, the content of the associative table 33 is different from the content of the zone 16. After resetting the ECU 10, the comparison between the associative table 33 and the zone 16 results in a failure. The default coding is stored and the content of the associative table 33 is copied into the zone 16. The application starts but the ECU 10 switches back to delivery mode, that is to say in degraded mode with a light on . Following a new initialization of the ECU 10, the comparison between the content of the associative table 33 and the content of the reference zone 16 is a success. The application starts but the ECU 10 remains in delivery mode. The operator of the after-sales service then performs a telecoding during which the coding values are entered in the memory 12 at the addresses indicated in the associative table 33. The coding is validated, the coding fault disappears, the indicator goes off and the UCE 10 operates in nominal mode.
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. Following a new initialization of the ECU 10, the comparison between the content of the associative table 33 and the content of the reference zone 16 is a success. The application starts and it takes into account the telecoding values contained in memory 12 at the addresses indicated in the associative table 33. The invention that has just been described provides an appreciable economic gain in that the method allows, in service after sale or in the car manufacturer's assembly plants when it is retouched, to carry out the telecoding operation after a download only in the cases requiring it to improve the quality on the exit of the vehicles. The proposed method is inexpensive because it is a fully software solution, which is not binding in terms of dimensioning for the components constituting the electronic computer because it requires only a few additional bytes in EEPROM type memory and a few lines of code in memory of FLASH EPROM type.
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. The invention just described also provides a significant gain in quality in that the method limits the number of potentially misconfigured vehicles in the network after sales compared to known situations of the state of the prior art.
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. There are fewer vehicles to reconfigure. By avoiding rendering poorly configured vehicles to the customer, we ensure customer security and improve the image of the network after sales.
Claims (8)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0851449A FR2928473B1 (en) | 2008-03-06 | 2008-03-06 | METHOD AND DISSITIVE FOR ENSURING COHERENCE BETWEEN DOWNLOADS OF DIFFERENT SOFTWARE VERSIONS. |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0851449A FR2928473B1 (en) | 2008-03-06 | 2008-03-06 | METHOD AND DISSITIVE FOR ENSURING COHERENCE BETWEEN DOWNLOADS OF DIFFERENT SOFTWARE VERSIONS. |
Publications (2)
Publication Number | Publication Date |
---|---|
FR2928473A1 true FR2928473A1 (en) | 2009-09-11 |
FR2928473B1 FR2928473B1 (en) | 2011-01-28 |
Family
ID=39790921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
FR0851449A Expired - Fee Related FR2928473B1 (en) | 2008-03-06 | 2008-03-06 | METHOD AND DISSITIVE FOR ENSURING COHERENCE BETWEEN DOWNLOADS OF DIFFERENT SOFTWARE VERSIONS. |
Country Status (1)
Country | Link |
---|---|
FR (1) | FR2928473B1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2998992A1 (en) * | 2012-12-05 | 2014-06-06 | Peugeot Citroen Automobiles Sa | On-board controller for electric propulsion car, has control software searching calibration parameter identifier in calibration storage area, and conferring calibration parameter value associated with identifier on operation variable |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0632373A1 (en) * | 1993-06-30 | 1995-01-04 | Marelli Autronica | System for downloading data into a process controller |
DE19850133A1 (en) * | 1997-11-07 | 1999-05-27 | Nissan Motor | Memory rewriting management apparatus for vehicle control |
WO2001006798A1 (en) * | 1999-07-16 | 2001-01-25 | Excel Switching Corporation | Method and apparatus for in service software upgrade for expandable telecommunications system |
FR2805362A1 (en) * | 2000-02-21 | 2001-08-24 | Peugeot Citroen Automobiles Sa | Configuration of the computer in an information system fitted to a motor vehicle, uses multiple sets of configuration data and selects one to locally configure computer |
DE10037397A1 (en) * | 2000-08-01 | 2002-02-14 | Daimler Chrysler Ag | Software loading method |
FR2819595A1 (en) * | 2001-01-12 | 2002-07-19 | Bosch Gmbh Robert | Computer control for motor vehicle has memory to store different operating parameters for different variants of vehicle |
-
2008
- 2008-03-06 FR FR0851449A patent/FR2928473B1/en not_active Expired - Fee Related
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0632373A1 (en) * | 1993-06-30 | 1995-01-04 | Marelli Autronica | System for downloading data into a process controller |
DE19850133A1 (en) * | 1997-11-07 | 1999-05-27 | Nissan Motor | Memory rewriting management apparatus for vehicle control |
WO2001006798A1 (en) * | 1999-07-16 | 2001-01-25 | Excel Switching Corporation | Method and apparatus for in service software upgrade for expandable telecommunications system |
FR2805362A1 (en) * | 2000-02-21 | 2001-08-24 | Peugeot Citroen Automobiles Sa | Configuration of the computer in an information system fitted to a motor vehicle, uses multiple sets of configuration data and selects one to locally configure computer |
DE10037397A1 (en) * | 2000-08-01 | 2002-02-14 | Daimler Chrysler Ag | Software loading method |
US20040039500A1 (en) * | 2000-08-01 | 2004-02-26 | Sandro Amendola | Method for loading software |
FR2819595A1 (en) * | 2001-01-12 | 2002-07-19 | Bosch Gmbh Robert | Computer control for motor vehicle has memory to store different operating parameters for different variants of vehicle |
Non-Patent Citations (2)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2998992A1 (en) * | 2012-12-05 | 2014-06-06 | Peugeot Citroen Automobiles Sa | On-board controller for electric propulsion car, has control software searching calibration parameter identifier in calibration storage area, and conferring calibration parameter value associated with identifier on operation variable |
Also Published As
Publication number | Publication date |
---|---|
FR2928473B1 (en) | 2011-01-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
FR2646942A1 (en) | MAP WITH INTEGRATED CIRCUIT | |
EP0682315B1 (en) | Method of unlocking access to a computer using a remote file loading unit | |
WO2021197864A1 (en) | Devices and method for managing electronic control units of a motor vehicle | |
FR2643478A1 (en) | MAP WITH INTEGRATED CIRCUIT | |
FR2915590A1 (en) | SYSTEM AND METHOD FOR MANAGING THE RESTART OF AN AUTOMATISM EQUIPMENT | |
WO2008009609A2 (en) | Controlled frequency core processor and method for starting-up said core processor in a programmed manner | |
FR2798205A1 (en) | METHOD AND DEVICE FOR MODIFYING THE CONTENT OF THE CONTROL DEVICE MEMORY, IN PARTICULAR FOR THE OPERATING OPERATIONS OF A VEHICLE | |
FR2928473A1 (en) | Software's new version coherent download providing method for e.g. car, involves copying content portion of table into zone of memory to subsequently compare portion with same content portion of table from subsequent version of software | |
FR3096153A1 (en) | Method and device for returning to a state prior to a software update of a remote vehicle computer | |
FR2926147A1 (en) | On-board computer configuring method for motor vehicle, involves writing collection of switch indexes in zone of memory to select one of pointers in data structure towards one of calibrations of file contained in another zone of memory | |
FR3108191A1 (en) | Method and device for updating software comprising physical addresses to the memory of an on-board computer of a vehicle | |
WO2021014064A1 (en) | Method and device for updating software of an onboard computer of a vehicle, comprising a runtime memory, a backup memory and a control memory | |
EP3924831A1 (en) | Method for updating a motor vehicle computer in such a way as to add an additional functionality thereto | |
EP3991029A1 (en) | Method of dialogue with a computer on an on-board bus of a vehicle | |
KR102275142B1 (en) | Update system and method of controller for vehicle | |
FR3110983A1 (en) | Memory and its writing process | |
FR2903791A1 (en) | Software module i.e. complete software or file, downloading method, involves storing downloaded software module in storing zone that is defined as new execution zone, and defining memory zone by switching variable | |
EP4018347A1 (en) | Method and device for updating software of an onboard computer of a vehicle, comprising a runtime memory and a backup memory | |
EP0939013B1 (en) | Method of unlocking access to a computer using a remote file loading unit | |
FR3099265A1 (en) | Method and device for updating the software of an on-board computer of a vehicle, comprising an execution memory, a backup memory and a control memory | |
FR3099264A1 (en) | Method and device for updating the software of an on-board computer of a vehicle, comprising an execution memory and a backup memory | |
EP4217852A1 (en) | Method and device for updating software of an onboard computer in a vehicle, comprising a runtime memory, a backup memory and a control memory | |
WO2005124555A2 (en) | Device for controlling the structural coverage of a software program and method of implementing said device | |
FR2719919A1 (en) | Computer controlling functions of motor vehicle | |
FR3114415A1 (en) | Method and device for updating software of an on-board computer of a vehicle, comprising an execution memory and a backup memory |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
ST | Notification of lapse |
Effective date: 20131129 |