WO2012107189A2 - Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile - Google Patents

Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile Download PDF

Info

Publication number
WO2012107189A2
WO2012107189A2 PCT/EP2012/000493 EP2012000493W WO2012107189A2 WO 2012107189 A2 WO2012107189 A2 WO 2012107189A2 EP 2012000493 W EP2012000493 W EP 2012000493W WO 2012107189 A2 WO2012107189 A2 WO 2012107189A2
Authority
WO
WIPO (PCT)
Prior art keywords
reprogramming
software
computer
memory
executed
Prior art date
Application number
PCT/EP2012/000493
Other languages
English (en)
Other versions
WO2012107189A3 (fr
Inventor
Romain Lafuente
Jean-Christophe Seguy
Günther SCHIRMBECK
André GOEBEL
Josef Kulzer
Original Assignee
Continental Automotive France
Continental Automotive Gmbh
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 Continental Automotive France, Continental Automotive Gmbh filed Critical Continental Automotive France
Priority to US13/984,613 priority Critical patent/US9223697B2/en
Priority to CN201280008130.9A priority patent/CN103339603B/zh
Publication of WO2012107189A2 publication Critical patent/WO2012107189A2/fr
Publication of WO2012107189A3 publication Critical patent/WO2012107189A3/fr

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/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44568Immediately runnable code
    • G06F9/44573Execute-in-place [XIP]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/656Updates while running
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

Definitions

  • the present invention belongs to the field of electronic computers of motor vehicles, and more particularly relates to a reprogramming method of a motor vehicle computer, a data storage medium in which is stored a reprogramming software, and a motor vehicle calculator comprising such a data storage medium.
  • the electronic computers of motor vehicles are in a known manner in the form of a microcontroller comprising, in addition to one or more microprocessors, electronic memories (flash, EEPROM, RAM, etc.), interface devices, etc.
  • non-volatile memories of the computer are stored computer program products, or "software", consisting of a set of program code instructions to be executed by a microprocessor to perform the various tasks of said computer.
  • software consisting of a set of program code instructions to be executed by a microprocessor to perform the various tasks of said computer.
  • three main types of software are stored in non-volatile memories of the computer:
  • the boot and reprogramming software can also be the same software, then known as the "Boot Loader".
  • the boot software, the reprogramming software and the application software are generally stored in the same memory non-volatile rewritable electronic device, such as a flash memory.
  • Flash memories have limited capabilities for simultaneous read and write access. Flash memories are known organized in a limited number of different segments, in which it is possible to read access to a segment, while accessing writing to another segment. However, it is not uncommon to have to simultaneously access the same segment of a flash memory, both in writing and in reading.
  • the reprogramming software is then executed from the RAM memory, so that the microprocessor reads the contents of the RAM memory and writes the contents of the flash memory. In this way, it is no longer necessary to be able to simultaneously access writing and reading to the content of the flash memory.
  • the present invention is intended to provide a solution that reduces the need for RAM memory.
  • the present invention relates to a method of reprogramming a motor vehicle computer by modifying the contents of a non-volatile rewritable memory of said computer, said reprogramming being effected by means of reprogramming software stored in the computer.
  • non-volatile rewritable memory the reprogramming software being organized into a plurality of software components assigned to tasks to be performed to reprogram the calculator and whose execution is initiated by a task sequencer.
  • the software components of the reprogramming software are previously distributed in at least two sets:
  • a first set comprising each software component to be executed simultaneously with an operation for modifying the contents of the non-volatile rewritable memory
  • the software components of the second set are executed by a microprocessor of the computer from the non-volatile rewritable memory, and
  • the sequencer of tasks and the software components to be executed of the first set are previously copied into a volatile memory of the computer, and are executed by the microprocessor from said volatile memory.
  • the task sequencer is executed according to two distinct modes of operation: a first mode of operation, called “standard mode”, in which software components of the first set and the second set are executed, and a second mode of operation, said "reprogramming mode", used during the operations of modifying the contents of the non-volatile rewritable memory, in which only software components of the first set are executed.
  • standard mode in which software components of the first set and the second set are executed
  • reprogramming mode used during the operations of modifying the contents of the non-volatile rewritable memory, in which only software components of the first set are executed.
  • the method comprises:
  • the method when there are no more operations for modifying the contents of the non-volatile rewritable memory to be performed, the method returns to the execution step of the task sequencer in the standard mode.
  • the standard mode task sequencer executes a virtual modification software component which copies the request into a volatile buffer and switches the task sequencer into the reprogramming mode
  • the reprogramming task sequencer executes an actual modification software component which reads the request into the volatile buffer and performs the modification operations indicated in the request.
  • the software components of the first set are organized in several groups respectively associated with different reprogramming contexts, said method comprising a step of detecting the context of the reprogramming to be performed, only the software components of the first set of the group associated with the context detected being copied to the volatile memory.
  • specific configuration information of the task sequencer is associated with each reprogramming context, said configuration information associated with the detected context being copied into the volatile memory, said method comprising a step of configuring the standard modes and reprogramming the sequencer of the tasks according to said configuration information.
  • the reprogramming contexts correspond to different communication protocols to be implemented, during reprogramming, between the computer and an external reprogramming device.
  • the present invention relates to a data storage medium, of the non-volatile rewritable electronic memory type, comprising instructions of a reprogramming software which, when executed by a microprocessor of a motor vehicle calculator , perform a reprogramming of said computer according to a method according to the invention.
  • the present invention relates to a motor vehicle calculator comprising a data storage medium according to the invention.
  • FIG. 1 a schematic representation of a calculator 10 of a motor vehicle
  • FIG. 2 is a diagram schematically showing the main steps of a preferred embodiment of a reprogramming method according to the invention
  • FIG. 3 a diagram schematically representing an implementation variant of the reprogramming method represented in FIG. 2;
  • FIG. 4a and 4b schematic representations of the organization, relating to the reprogramming of a computer according to the invention, the contents of a flash memory and a RAM memory of said computer.
  • Figure 1 very schematically shows a calculator 10 of a motor vehicle.
  • the motor vehicle computer 10 comprises a microprocessor 102 connected to electronic memories 104, 106 by a data bus 108.
  • the computer 10 comprises at least one nonvolatile rewritable memory 104, in which are stored program code instructions, or software, to execute to perform the different tasks assigned to said calculator.
  • the computer 10 also comprises at least one volatile memory, called "RAM memory” 106, in which data are copied temporarily during operation of the computer 10.
  • RAM memory volatile memory
  • the computer 10 is reprogrammed by modifying the contents of the non-volatile rewritable memory 104 by means of a reprogramming software stored in said non-volatile rewritable memory.
  • modifying the content of the non-volatile rewritable memory is meant writing a new software to be executed in said non-volatile rewritable memory and / or erasing a portion of said non-volatile rewritable memory.
  • the present invention finds a particularly advantageous application, although in no way limiting, in the case of a non-volatile rewritable memory 104 with a limited capacity for simultaneous read and write access (or erasure), such as a flash memory.
  • a non-volatile rewritable memory 104 with a limited capacity for simultaneous read and write access (or erasure), such as a flash memory.
  • a flash memory such as a flash memory.
  • the reprogramming software includes in particular a task sequencer and software components whose execution is initiated by said task sequencer.
  • a task sequencer can be likened to an operating system.
  • a task sequencer of a reprogramming software of a motor vehicle computer 10 can be a simple program, which merely executes sequentially and recurrently a number of software components assigned to tasks. to perform to reprogram the calculator 10.
  • a reprogramming method 50 is based on a prior distribution of the software components in at least two subsets: a first set comprising each software component to be executed simultaneously with an operation for modifying the contents of the flash memory 104,
  • a second set comprising all or part of the other software components of the reprogramming software.
  • the reprogramming software is executed by the microprocessor 102 of the computer 10.
  • the software components of the second set are executed from the flash memory 104.
  • the task sequencer and the software components to be executed from the first set are previously copied into the RAM 106 of the computer 10, and are executed from said RAM.
  • the software components of the first set are not necessarily software components executed exclusively during operations for modifying the contents of the flash memory 104.
  • Each software component that can be executed simultaneously with a modification operation of the contents of the flash memory 104 must be placed in the first set and must be executed from the RAM 106.
  • all the software components belong to either the first set or the second set.
  • the second set comprises all the software components not identified as being capable of being executed simultaneously with an operation for modifying the content of the flash memory 104. It is understood that, in this way, the quantity of data to be temporarily copied into the RAM memory 106 is minimized and reduced to only the software components of the first set.
  • the task sequencer has two distinct modes of operation:
  • standard mode a first mode of operation, called "standard mode" in which software components of the first set and the second set are executed
  • reprogramming mode a second operating mode, called "reprogramming mode" used during operations for modifying the content of the flash memory 104, in which only software components of the first set are executed. Because of these two distinct modes of operation, and the fact that the task sequencer is itself executed from the RAM 106, it is ensured that no simultaneous read and write access (or erasure) to the flash memory 104 will not be necessary. Indeed, it is understood that if the task sequencer is executed in reprogramming mode when an operation for modifying the content of the flash memory 104 is in progress, no read access to the flash memory 104 will be required since only software components of the first set will be executed from RAM 106.
  • FIG. 2 represents the main steps of a preferred embodiment of the reprogramming method 50, exploiting the standard modes and reprogramming the task sequencer.
  • the method 50 includes a step 52 prior to copying the task sequencer and the software components to be executed from the first set into the RAM 106 of the computer 10.
  • the method 50 comprises: a step 54 of execution, from the memory RAM 106, of the sequencer of tasks in the standard mode,
  • the method 50 returns to the step 54 of execution of the task sequencer in the standard mode.
  • the reprogramming software includes a virtual modification software component in the flash memory 104, which is incorporated in the second set of software components.
  • the virtual modification software component is executed by the standard mode task sequencer when a request to modify the contents of the flash memory 104 is detected.
  • the virtual modification software component does not modify the contents of the flash memory 104 according to what is indicated in the request (the task sequencer is in standard mode and said virtual modification software component belongs to the second set of software components).
  • the virtual modification software component copies the request into a volatile buffer memory, for example RAM 106.
  • the virtual modification software component toggles the task sequencer in the reprogramming mode.
  • the task sequencer In the reprogramming mode, the task sequencer notably executes an actual modification software component which will modify the contents of the flash memory 104 according to what is indicated in the query stored in the volatile buffer memory (in which said request has been copied by the virtual modification software component).
  • the actual editing software component toggles the task sequencer in the standard mode.
  • Such a solution based on the use of two software components for modifying the content of the flash memory 104, the one real the other virtual, has the advantage of being particularly robust in terms of prohibition of simultaneous access in reading and writing (or erasing) to the flash memory 104.
  • the software components of the first set are previously organized into several groups respectively associated with different reprogramming contexts.
  • FIG. 3 represents an exemplary implementation of this variant in which the method 50 comprises the same steps as the embodiment described with reference to FIG. 2, and furthermore comprises a step 51 prior to detecting the context of the the reprogramming to be done.
  • step 52 of copying software components to be executed only the software components of the group associated with the detected context are copied into RAM 106.
  • the reprogramming contexts correspond to different communication protocols to be implemented, during reprogramming, between the computer 10 and an external device (not shown in the figures).
  • the reprogramming of a computer 10 is generally done by connecting an external device to said computer.
  • the external device and the computer 10 must support the same communication protocol.
  • CAN, FlexRay, Ethernet, etc. it is generally necessary for a motor vehicle computer 10 to support several different communication protocols (CAN, FlexRay, Ethernet, etc.), so that it is advantageous to organize the software components into associated groups. these different communication protocols.
  • the tasks to be performed may vary from one reprogramming context to another.
  • Said configuration information associated with the detected context is also copied from the flash memory 104 into the RAM 106.
  • the reprogramming method 50 then comprises a step 53 of configuring the standard modes and reprogramming the task sequencer according to said stored configuration information. in the RAM 106.
  • FIG. 4a very schematically represents the organization of the content of the flash memory 104. In this figure, only reprogramming software LR is shown.
  • the reprogramming software LR is organized into an ST task sequencer, a first set E1 and a second set E2 of software components.
  • the first set E1 comprises the software components executed simultaneously with an operation for modifying the contents of the flash memory 104.
  • the second set E2 comprises software components COMP_E2_1 and COMP_E2_2.
  • the first set E1 is further organized into groups of software components associated with different reprogramming contexts.
  • two reprogramming contexts are considered which are associated with two groups of software components, designated respectively by G1 and G2.
  • Group G1 includes software components COMP_G1_1,
  • Group G2 includes software components COMP_G2_1, COMP_G2_2.
  • the flash memory 104 are also stored other data reprogramming software LR, in particular the configuration information associated with the two reprogramming contexts, respectively designated IC1 and IC2.
  • FIG. 4b schematically represents the organization of the content of the RAM memory 106, after the reprogramming context has been detected (in the example illustrated by FIG. 4b: the reprogramming context associated with the group G1 and with the configuration information IC1 ), and after the task sequencer ST, the group G1 of software components and the configuration information IC1 have been copied to the RAM 106.
  • step 53 of configuring the sequencer ST tasks with IC1 configuration information stored in RAM 106.
  • the present invention also relates to the flash memory 104 in which instructions of reprogramming software are stored which, when executed by a microprocessor 102 of a motor vehicle computer 10, reprogram the said computer in accordance with the method 50. reprogramming according to any one of the embodiments of the invention.
  • the present invention also relates to a motor vehicle computer 10 comprising such a flash memory 104.
  • the size required for the RAM memory 106 is very small compared to the solutions of the prior art.
  • the implementation of a task sequencer with two operating modes, one of which, used during operations for modifying the content of the flash memory 104, only uses the software components of the first set stored in the RAM memory 106 ensures that no read access to the flash memory 104 will be realized simultaneously to write access (or erasure) to the flash memory 104.

Landscapes

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

Abstract

La présente invention concerne un procédé (50) de reprogrammation d'un calculateur (10) par modification du contenu d'une mémoire réinscriptible non volatile (104) dudit calculateur au moyen d'un logiciel de reprogrammation mémorisé dans la mémoire réinscriptible non volatile (104). Le logiciel de reprogrammation comporte un séquenceur de tâches et une pluralité de composants logiciels préalablement répartis en au moins deux ensembles: i) un premier ensemble comportant chaque composant logiciel à exécuter simultanément à une opération de modification du contenu de la mémoire réinscriptible non volatile (104), et ii) un second ensemble comportant tout ou partie des autres composants logiciels du logiciel de reprogrammation. Lors de la reprogrammation du calculateur (10), les composants logiciels du second ensemble sont exécutés depuis la mémoire réinscriptible non volatile (104), et le séquenceur de tâches et les composants logiciels à exécuter du premier ensemble sont préalablement copiés dans une mémoire volatile (106) du calculateur (10), et sont exécutés depuis ladite mémoire volatile.

Description

Procédé de reproqrammation d'un calculateur, support de mémorisation de données et calculateur de véhicule automobile
La présente invention appartient au domaine des calculateurs électroniques des véhicules automobiles, et concerne plus particulièrement un procédé de reprogrammation d'un calculateur de véhicule automobile, un support de mémorisation de données dans lequel est mémorisé un logiciel de reprogrammation, et un calculateur de véhicule automobile comportant un tel support de mémorisation de données.
Les calculateurs électroniques de véhicules automobiles se présentent de manière connue sous la forme d'un microcontrôleur comportant, outre un ou plusieurs microprocesseurs, des mémoires électroniques (flash, EEPROM, RAM, etc.), des périphériques d'interface, etc.
Dans des mémoires non volatiles du calculateur sont mémorisés des produits programmes d'ordinateur, ou « logiciels », constitués d'un ensemble d'instructions de code de programme à exécuter par un microprocesseur afin de réaliser les différentes tâches dudit calculateur. Généralement, trois principaux types de logiciels sont mémorisés dans des mémoires non volatiles du calculateur :
- un logiciel d'amorçage, à exécuter notamment au démarrage du calculateur électronique pour initialiser celui-ci, connu dans la littérature anglo-saxonne sous le nom de « Boot Software », - un logiciel applicatif, à exécuter pour réaliser les tâches spécifiques du calculateur électronique, connu dans la littérature anglo- saxonne sous le nom de « Application Software »,
- un logiciel de reprogrammation permettant de charger un nouveau logiciel destiné à remplacer tout ou partie de logiciels mémorisés dans des mémoires non volatiles réinscriptibles du calculateur électronique, connu dans la littérature anglo-saxonne sous le nom de « Loader Software ».
Les logiciels d'amorçage et de reprogrammation peuvent être également un même logiciel, connu alors sous le nom de « Boot Loader ».
De nos jours, le logiciel d'amorçage, le logiciel de reprogrammation et le logiciel applicatif sont généralement mémorisés dans une même mémoire électronique non volatile réinscriptible, telle qu'une mémoire flash.
On comprend que si le logiciel de reprogrammation est exécuté, par un microprocesseur, directement depuis ladite mémoire flash pour modifier le logiciel applicatif et/ou le logiciel d'amorçage, cela entraînera pour la mémoire flash des contraintes d'accès simultané en lecture et en écriture dudit microprocesseur au contenu de ladite mémoire flash.
Cependant, les mémoires flash actuelles ont des capacités limitées d'accès simultané en lecture et en écriture. On connaît des mémoires flash organisées en un nombre limité de segments différents, dans lesquelles il est possible d'accéder en lecture à un segment, tout en accédant en écriture à un autre segment. Toutefois, il n'est pas rare d'avoir à accéder simultanément à un même segment d'une mémoire flash, à la fois en écriture et en lecture.
Pour palier aux capacités limitées d'accès simultané en lecture et en écriture des mémoires flash actuelles, il est connu de copier le logiciel de reprogrammation, préalablement à son exécution, de la mémoire flash vers une mémoire électronique volatile, telle qu'une mémoire RAM.
Le logiciel de reprogrammation est alors exécuté depuis la mémoire RAM, de sorte le microprocesseur accède en lecture au contenu de la mémoire RAM, et en écriture au contenu de la mémoire flash. De la sorte, il n'est plus nécessaire de pouvoir accéder simultanément en écriture et en lecture au contenu de la mémoire flash.
Une telle approche est cependant difficile à mettre en œuvre dans le contexte des calculateurs de véhicules automobiles, dans la mesure où la mémoire RAM est généralement, afin de réduire au maximum le coût du calculateur, prévue en quantité limitée.
La présente invention a notamment pour objectif de fournir une solution qui permette de réduire le besoin en mémoire RAM.
Selon un premier aspect, la présente invention concerne un procédé de reprogrammation d'un calculateur de véhicule automobile par modification du contenu d'une mémoire réinscriptible non volatile dudit calculateur, ladite reprogrammation s'effectuant au moyen d'un logiciel de reprogrammation mémorisé dans la mémoire réinscriptible non volatile, le logiciel de reprogrammation étant organisé en une pluralité de composants logiciels affectés à des tâches à effectuer pour reprogrammer le calculateur et dont l'exécution est initiée par un séquenceur de tâches. Selon l'invention, les composants logiciels du logiciel de reprogrammation sont préalablement répartis en au moins deux ensembles :
- un premier ensemble comportant chaque composant logiciel à exécuter simultanément à une opération de modification du contenu de la mémoire réinscriptible non volatile,
- un second ensemble comportant tout ou partie des autres composants logiciels du logiciel de reprogrammation,
En outre, lors de la reprogrammation du calculateur :
- les composants logiciels du second ensemble sont exécutés par un microprocesseur du calculateur depuis la mémoire réinscriptible non volatile, et
- le séquenceur de tâches et les composants logiciels à exécuter du premier ensemble sont préalablement copiés dans une mémoire volatile du calculateur, et sont exécutés par le microprocesseur depuis ladite mémoire volatile.
De préférence, le séquenceur de tâches est exécuté suivant deux modes de fonctionnement distincts : un premier mode de fonctionnement, dit « mode standard », dans lequel des composants logiciels du premier ensemble et du second ensemble sont exécutés, et un second mode de fonctionnement, dit « mode reprogrammation », utilisé lors des opérations de modification du contenu de la mémoire réinscriptible non volatile, dans lequel seuls des composants logiciels du premier ensemble sont exécutés.
De préférence, le procédé comporte :
- une étape de copie du séquenceur de tâches et des composants logiciels à exécuter du premier ensemble dans la mémoire volatile du calculateur,
- une étape d'exécution, depuis la mémoire volatile, du séquenceur de tâches dans le mode standard,
- une étape de détermination si une requête de modification du contenu de la mémoire réinscriptible non volatile a été reçue,
- lorsqu'une requête de modification du contenu de la mémoire réinscriptible non volatile a été détectée : une étape d'exécution du séquenceur de tâches dans le mode reprogrammation, au cours de laquelle les opérations de modification indiquées dans la requête sont effectuées,
- une étape de détermination s'il reste des opérations de modification du contenu de la mémoire réinscriptible non volatile à effectuer,
- lorsqu'il n'y a plus d'opérations de modifications du contenu de la mémoire réinscriptible non volatile à effectuer, le procédé retourne à l'étape d'exécution du séquenceur de tâches dans le mode standard.
De préférence, lorsqu'une requête de modification du contenu de la mémoire réinscriptible non volatile est reçue :
- le séquenceur de tâches en mode standard exécute un composant logiciel de modification virtuelle qui copie la requête dans une mémoire tampon volatile et bascule le séquenceur de tâches dans le mode reprogrammation,
- le séquenceur de tâches en mode reprogrammation exécute un composant logiciel de modification réelle qui lit la requête dans la mémoire tampon volatile et effectue les opérations de modification indiquées dans la requête.
De préférence, les composants logiciels du premier ensemble sont organisés en plusieurs groupes associés respectivement à des contextes de reprogrammation différents, ledit procédé comportant une étape de détection du contexte de la reprogrammation à effectuer, seuls les composants logiciels du premier ensemble du groupe associé au contexte détecté étant copiés dans la mémoire volatile.
De préférence, des informations spécifiques de configuration du séquenceur de tâches sont associées à chaque contexte de reprogrammation, lesdites informations de configuration associées au contexte détecté étant copiées dans la mémoire volatile, ledit procédé comportant une étape de configuration des modes standard et reprogrammation du séquenceur de tâches en fonction desdites informations de configuration. De préférence, les contextes de reprogrammation correspondent à des protocoles de communication différents à mettre en œuvre, lors de la reprogrammation, entre le calculateur et un dispositif de reprogrammation externe.
Selon un second aspect, la présente invention concerne un support de mémorisation de données, du type mémoire électronique réinscriptible non volatile, comportant des instructions d'un logiciel de reprogrammation qui, lorsqu'elles sont exécutées par un microprocesseur d'un calculateur de véhicule automobile, effectuent une reprogrammation dudit calculateur conformément à un procédé selon l'invention.
Selon un troisième aspect, la présente invention concerne un calculateur de véhicule automobile comportant un support de mémorisation de données selon l'invention.
L'invention sera mieux comprise à la lecture de la description suivante, donnée à titre d'exemple nullement limitatif, et faite en se référant aux figures qui représentent :
- Figure 1 : une représentation schématique d'un calculateur 10 de véhicule automobile,
- Figure 2 : un diagramme représentant schématiquement les principales étapes d'un mode préféré de mise en œuvre d'un procédé de reprogrammation selon l'invention,
- Figure 3 : un diagramme représentant schématiquement une variante de mise en œuvre du procédé de reprogrammation représenté sur la figure 2,
- Figures 4a et 4b : des représentations schématiques de l'organisation, relative à la reprogrammation d'un calculateur conformément à l'invention, du contenu d'une mémoire flash et d'une mémoire RAM dudit calculateur.
La figure 1 représente de façon très schématique un calculateur 10 de véhicule automobile.
De manière connue, le calculateur 10 de véhicule automobile comporte un microprocesseur 102 relié à des mémoires électroniques 104, 106 par un bus de données 108. Le calculateur 10 comporte au moins une mémoire réinscriptible non volatile 104, dans laquelle sont mémorisées des instructions de code de programme, ou logiciels, à exécuter pour effectuer les différentes tâches affectées audit calculateur. Le calculateur 10 comporte également au moins une mémoire volatile, dite « mémoire RAM » 106, dans laquelle des données sont copiées temporairement lors du fonctionnement du calculateur 10. Il est à noter que le microprocesseur 102 et les mémoires flash 104 et RAM 106 sont, suivant certains modes de réalisation, intégrés dans un même circuit intégré connu sous le nom de microcontrôleur.
Dans le contexte de l'invention, le calculateur 10 est reprogrammé par modification du contenu de la mémoire réinscriptible non volatile 104 au moyen d'un logiciel de reprogrammation mémorisé dans ladite mémoire réinscriptible non volatile. Par « modification du contenu de la mémoire réinscriptible non volatile », on entend une écriture d'un nouveau logiciel à exécuter dans ladite mémoire réinscriptible non volatile et/ou un effacement d'une partie de ladite mémoire réinscriptible non volatile.
La présente invention trouve une application particulièrement avantageuse, bien que nullement limitative, dans le cas d'une mémoire réinscriptible non volatile 104 à capacité limitée d'accès simultané en lecture et en écriture (ou effacement), telle qu'une mémoire flash. Dans la suite de la description, on se place de manière non limitative dans le cas où la mémoire réinscriptible non volatile 104 est une mémoire flash.
Le logiciel de reprogrammation comporte notamment un séquenceur de tâches et des composants logiciels dont l'exécution est initiée par ledit séquenceur de tâches.
Un séquenceur de tâches peut être assimilé à un système d'exploitation. Toutefois, en pratique, un séquenceur de tâches d'un logiciel de reprogrammation d'un calculateur 10 de véhicule automobile peut être un programme simple, qui se contente d'exécuter de façon séquentielle et récurrente un certain nombre de composants logiciels affectés à des tâches à effectuer pour reprogrammer le calculateur 10.
Dans son principe, un procédé 50 de reprogrammation selon l'invention repose sur une répartition préalable des composants logiciels en au moins deux sous-ensembles : - un premier ensemble comportant chaque composant logiciel à exécuter simultanément à une opération de modification du contenu de la mémoire flash 104,
- un second ensemble comportant tout ou partie des autres composants logiciels du logiciel de reprogrammation.
Lors de la reprogrammation du calculateur 10, le logiciel de reprogrammation est exécuté par le microprocesseur 102 du calculateur 10.
Les composants logiciels du second ensemble sont exécutés depuis la mémoire flash 104. Le séquenceur de tâches et les composants logiciels à exécuter du premier ensemble sont préalablement copiés dans la mémoire RAM 106 du calculateur 10, et sont exécutés depuis ladite mémoire RAM.
Il est à noter que les composants logiciels du premier ensemble ne sont pas nécessairement des composants logiciels exécutés exclusivement lors des opérations de modification du contenu de la mémoire flash 104. Chaque composant logiciel susceptible d'être exécuté simultanément à une opération de modification du contenu de la mémoire flash 104 doit être placé dans le premier ensemble et doit être exécuté depuis la mémoire RAM 106.
Cette répartition des composants logiciels en deux ensembles, dont seulement le premier ensemble est exécuté depuis la mémoire RAM 106, permet de réduire la quantité de données à copier dans la mémoire RAM 106 pour effectuer la reprogrammation du calculateur 10. En effet, seule une partie des composants logiciels est copiée dans la mémoire RAM 106, et non tous les composants logiciels du logiciel de reprogrammation.
Il est à noter que rien n'exclut, suivant certains modes de mise en œuvre du procédé 50 de reprogrammation, d'affecter certains composants logiciels qui ne sont jamais exécutés simultanément à une opération de modification du contenu de la mémoire flash 104 à un troisième ensemble de composants logiciels à exécuter depuis la mémoire RAM 106. En d'autres termes, il est possible d'exécuter certains composants logiciels depuis la mémoire RAM 106, même si ceux-ci ne sont jamais exécutés simultanément à une opération de modification du contenu de la mémoire flash 104.
De préférence, tous les composants logiciels appartiennent soit au premier ensemble soit au second ensemble. En d'autres termes, le second ensemble comporte tous les composants logiciels non identifiés comme susceptibles d'être exécutés simultanément à une opération de modification du contenu de la mémoire flash 104. On comprend que, de la sorte, la quantité de données à copier temporairement dans la mémoire RAM 106 est minimisée et réduite aux seuls composants logiciels du premier ensemble.
Dans la suite de la description, on se place de manière non limitative dans le cas où tous les composants logiciels appartiennent soit au premier ensemble soit au second ensemble.
De préférence, le séquenceur de tâches comporte deux modes distincts de fonctionnement :
- un premier mode de fonctionnement, dit « mode standard », dans lequel des composants logiciels du premier ensemble et du second ensemble sont exécutés,
- un second mode de fonctionnement, dit « mode reprogrammation », utilisé lors des opérations de modification du contenu de la mémoire flash 104, dans lequel seuls des composants logiciels du premier ensemble sont exécutés. Du fait de ces deux modes distincts de fonctionnement, et du fait que le séquenceur de tâches est lui-même exécuté depuis la mémoire RAM 106, on assure qu'aucun accès simultané en lecture et en écriture (ou effacement) à la mémoire flash 104 ne sera nécessaire. En effet, on comprend que si le séquenceur de tâches est exécuté en mode reprogrammation lorsqu'une opération de modification du contenu de la mémoire flash 104 est en cours, aucun accès en lecture à la mémoire flash 104 ne sera requis puisque seuls des composants logiciels du premier ensemble seront exécutés depuis la mémoire RAM 106.
La figure 2 représente les principales étapes d'un mode préféré de mise en œuvre du procédé 50 de reprogrammation, exploitant les modes standard et reprogrammation du séquenceur de tâches.
Tel qu'illustré par la figure 2, le procédé 50 comporte une étape 52 préalable de copie du séquenceur de tâches et des composants logiciels à exécuter du premier ensemble dans la mémoire RAM 106 du calculateur 10.
Ensuite, le procédé 50 comporte : - une étape 54 d'exécution, depuis la mémoire RAM 106, du séquenceur de tâches dans le mode standard,
- une étape 55 de détermination si une requête de modification du contenu de la mémoire flash 104 a été reçue ; tant qu'aucune requête de modification n'est détectée (référence 550), le procédé 50 poursuit l'étape 54 d'exécution du séquenceur de tâches dans le mode standard,
- lorsqu'une requête de modification du contenu de la mémoire flash 104 a été détectée (référence 552) : une étape 56 d'exécution du séquenceur de tâches dans le mode reprogrammation, au cours de laquelle les opérations de modification indiquées dans la requête sont effectuées,
- une étape 57 de détermination si toutes les opérations de modification du contenu de la mémoire flash 104 ont été effectuées ; tant qu'il reste des opérations à effectuer (référence 570), le procédé 50 poursuit l'étape 56 d'exécution du séquenceur de tâches dans le mode reprogrammation,
- lorsqu'il n'y a plus d'opérations de modification du contenu de la mémoire flash 104 à effectuer (référence 572), le procédé 50 retourne à l'étape 54 d'exécution du séquenceur de tâches dans le mode standard.
De préférence, le logiciel de reprogrammation comporte un composant logiciel de modification virtuelle dans la mémoire flash 104, qui est incorporé dans le second ensemble de composants logiciels.
Le composant logiciel de modification virtuelle est exécuté, par le séquenceur de tâches en mode standard, lorsqu'une requête de modification du contenu de la mémoire flash 104 est détectée. Le composant logiciel de modification virtuelle ne modifie pas le contenu de la mémoire flash 104 conformément à ce qui est indiqué dans la requête (le séquenceur de tâches est en mode standard et ledit composant logiciel de modification virtuelle appartient au second ensemble de composants logiciels). Par contre, le composant logiciel de modification virtuelle copie la requête dans une mémoire tampon volatile, par exemple la mémoire RAM 106. Lorsque que la requête a été copiée dans la mémoire tampon volatile, le composant logiciel de modification virtuelle bascule le séquenceur de tâches dans le mode reprogrammation.
Dans le mode reprogrammation, le séquenceur de tâches exécute notamment un composant logiciel de modification réelle qui va modifier le contenu la mémoire flash 104 conformément à ce qui est indiqué dans la requête mémorisée dans la mémoire tampon volatile (dans laquelle ladite requête a été copiée par le composant logiciel de modification virtuelle). Lorsque que toutes les opérations de modification indiquées dans la requête ont été effectuées, le composant logiciel de modification réelle bascule le séquenceur de tâches dans le mode standard.
Une telle solution, basée sur l'utilisation de deux composants logiciels de modification du contenu de la mémoire flash 104, l'une réelle l'autre virtuelle, présente l'avantage d'être particulièrement robuste en termes d'interdiction d'accès simultané en lecture et en écriture (ou effacement) à la mémoire flash 104.
Dans une variante du procédé 50, compatible avec l'un quelconque des modes de mise en œuvre précédemment décrits, les composants logiciels du premier ensemble sont préalablement organisés en plusieurs groupes associés respectivement à des contextes de reprogrammation différents.
La figure 3 représente un exemple de mise en œuvre de cette variante dans lequel le procédé 50 comporte les mêmes étapes que le mode de mise en œuvre décrit en référence à la figure 2, et comporte en outre une étape 51 préalable de détection du contexte de la reprogrammation à effectuer.
Au cours de l'étape 52 de copie de composants logiciels à exécuter, seuls les composants logiciels du groupe associé au contexte détecté sont copiés dans la mémoire RAM 106.
Par exemple, les contextes de reprogrammation correspondent à des protocoles de communication différents à mettre en œuvre, lors de la reprogrammation, entre le calculateur 10 et un dispositif externe (non représenté sur les figures). En effet, la reprogrammation d'un calculateur 10 s'effectue généralement en connectant un dispositif externe audit calculateur. Pour échanger des données, par exemple pour transférer un nouveau logiciel à écrire dans la mémoire flash 104, le dispositif externe et le calculateur 10 doivent supporter un même protocole de communication. En pratique, il est généralement nécessaire, pour un calculateur 10 de véhicule automobile, de supporter plusieurs protocoles de communication différents (CAN, FlexRay, Ethernet, etc.), de sorte qu'il est avantageux d'organiser les composants logiciels en groupes associés ces différents protocoles de communication. En interdisant au calculateur 10 de communiquer simultanément avec deux dispositifs externes utilisant deux protocoles de communication différents, seul le groupe de composants logiciels associé au protocole de communication à utiliser doivent être copiés dans la mémoire RAM 106. De la sorte, la quantité de données à mémoriser temporairement dans la mémoire RAM 106 est réduit, et la taille requise pour la mémoire RAM 106 est également réduite.
En pratique, il peut s'avérer nécessaire de configurer le séquenceur de tâches en fonction du contexte de reprogrammation, les tâches à exécuter pouvant varier d'un contexte de reprogrammation à un autre.
Dans une variante du procédé 50, compatible avec l'un quelconque des modes de mise en oeuvre précédemment décrits, des informations spécifiques de configuration du séquenceur de tâches sont associées à chaque contexte de reprogrammation. Les informations de configuration associées à un contexte de reprogrammation permettent de configurer le séquenceur de tâches pour qu'il exécute les tâches prévues pour ce contexte.
Lesdites informations de configuration associées au contexte détecté sont également copiées depuis la mémoire flash 104 dans la mémoire RAM 106. Le procédé 50 de reprogrammation comporte alors une étape 53 de configuration des modes standard et reprogrammation du séquenceur de tâches en fonction desdites informations de configuration mémorisées dans la mémoire RAM 106.
Etant donné que seules les informations de configuration du contexte de reprogrammation détecté sont copiées dans la mémoire RAM 106, celles-ci peuvent être copiées toujours à la même adresse de la mémoire RAM 106, relativement au séquenceur de tâches. De la sorte, il est possible de préconfigurer ledit séquenceur de tâches pour qu'il aille lire les informations de contrôle à partir d'une adresse prédéfinie. A contrario, on comprend que si le séquenceur de tâches devait lire les informations de contrôle dans la mémoire flash 104, l'adresse des informations de contrôle dans la mémoire flash 104 dépendrait du contexte de reprogrammation et ne pourrait pas être prédéfinie.
La figure 4a représente très schématiquement l'organisation du contenu de la mémoire flash 104. Sur cette figure, seul un logiciel de reprogrammation LR est représenté.
Tel qu'indiqué précédemment, le logiciel de reprogrammation LR est organisé en un séquenceur de tâches ST, un premier ensemble E1 et un second ensemble E2 de composants logiciels.
Tel que décrit précédemment, le premier ensemble E1 comporte les composants logiciels exécutés simultanément à une opération de modification du contenu de la mémoire flash 104.
Le second ensemble E2 comprend des composants logiciels COMP_E2_1 et COMP_E2_2.
Le premier ensemble E1 est en outre organisé en groupes de composants logiciels associés à des contextes de reprogrammation différents. Dans l'exemple non limitatif de la figure 4a, on considère deux contextes de reprogrammation auxquels sont associés deux groupes de composants logiciels, désignés respectivement par G1 et G2.
Le groupe G1 comprend des composants logiciels COMP_G1_1 ,
COMP_G1_2. Le groupe G2 comprend des composants logiciels COMP_G2_1 , COMP_G2_2.
Dans la mémoire flash 104 sont également mémorisées d'autres données du logiciel de reprogrammation LR, en particulier les informations de configuration associées aux deux contextes de reprogrammation, désignées respectivement IC1 et IC2.
La figure 4b représente schématiquement l'organisation du contenu de la mémoire RAM 106, après que le contexte de reprogrammation a été détecté (dans l'exemple illustré par la figure 4b : le contexte de reprogrammation associé au groupe G1 et aux informations de configuration IC1), et après que le séquenceur de tâches ST, le groupe G1 de composants logiciels et les informations de configuration IC1 ont été copiées dans la mémoire RAM 106.
L'étape suivante est alors l'étape 53 de configuration du séquenceur de tâches ST avec les informations de configuration IC1 mémorisées dans la mémoire RAM 106.
La présente invention concerne également la mémoire flash 104 dans laquelle sont mémorisées des instructions d'un logiciel de reprogrammation qui, lorsqu'elles sont exécutées par un microprocesseur 102 d'un calculateur 10 de véhicule automobile, effectuent une reprogrammation dudit calculateur conformément au procédé 50 de reprogrammation selon l'un quelconque des modes de mise en œuvre de l'invention. La présente invention concerne également un calculateur 10 de véhicule automobile comportant une telle mémoire flash 104.
La description ci-avant illustre clairement que par ses différentes caractéristiques et leurs avantages, la présente invention atteint les objectifs qu'elle s'était fixés.
En particulier, on comprend qu'en ne copiant temporairement dans la mémoire RAM 106 qu'une partie des composants logiciels (ceux du premier ensemble, identifiés comme susceptibles d'être exécutés simultanément à une opération de modification du contenu de la mémoire flash 104), la taille requise pour la mémoire RAM 106 est très réduite par rapport aux solutions de l'art antérieur. De plus, la mise en œuvre d'un séquenceur de tâches à deux modes de fonctionnement dont l'un, utilisé lors des opérations de modification du contenu de la mémoire flash 104, ne fait appel qu'à des composants logiciels du premier ensemble mémorisés dans la mémoire RAM 106, permet d'assurer qu'aucun accès en lecture à la mémoire flash 104 ne sera réalisé simultanément à un accès en écriture (ou effacement) à la mémoire flash 104.

Claims

REVENDICATIONS
Procédé (50) de reprogrammation d'un calculateur (10) de véhicule automobile par modification du contenu d'une mémoire réinscriptible non volatile (104) dudit calculateur, ladite reprogrammation s'effectuant au moyen d'un logiciel de reprogrammation mémorisé dans la mémoire réinscriptible non volatile (104), le logiciel de reprogrammation étant organisé en une pluralité de composants logiciels affectés à des tâches à effectuer pour reprogrammer le calculateur (10) et dont l'exécution est initiée par un séquenceur de tâches, caractérisé en ce que les composants logiciels du logiciel de reprogrammation sont préalablement répartis en au moins deux ensembles :
- un premier ensemble comportant chaque composant logiciel à exécuter simultanément à une opération de modification du contenu de la mémoire réinscriptible non volatile (104),
- un second ensemble comportant tout ou partie des autres composants logiciels du logiciel de reprogrammation,
et en ce que, lors de la reprogrammation du calculateur (10) :
- les composants logiciels du second ensemble sont exécutés par un microprocesseur (102) du calculateur (10) depuis la mémoire réinscriptible non volatile (104),
- le séquenceur de tâches et les composants logiciels à exécuter du premier ensemble sont préalablement copiés dans une mémoire volatile (106) du calculateur (10), et sont exécutés par le microprocesseur (102) depuis ladite mémoire volatile.
Procédé (50) de reprogrammation selon la revendication 1 , caractérisé en ce que le séquenceur de tâches est exécuté suivant deux modes de fonctionnement distincts :
- un premier mode de fonctionnement, dit « mode standard », dans lequel des composants logiciels du premier ensemble et du second ensemble sont exécutés,
- un second mode de fonctionnement, dit « mode reprogrammation », utilisé lors des opérations de modification du contenu de la mémoire réinscriptible non volatile (104), dans lequel seuls des composants logiciels du premier ensemble sont exécutés.
Procédé (50) de reprogrammation selon la revendication 2, caractérisé en ce qu'il comporte :
- une étape (52) de copie du séquenceur de tâches et des composants logiciels à exécuter du premier ensemble dans la mémoire volatile (106) du calculateur (10),
- une étape (54) d'exécution, depuis la mémoire volatile (106), du séquenceur de tâches dans le mode standard,
- une étape (55) de détermination si une requête de modification du contenu de la mémoire réinscriptible non volatile (104) a été reçue,
- lorsqu'une requête de modification du contenu de la mémoire réinscriptible non volatile (104) a été détectée : une étape (56) d'exécution du séquenceur de tâches dans le mode reprogrammation, au cours de laquelle les opérations de modification indiquées dans la requête sont effectuées,
- une étape (57) de détermination s'il reste des opérations de modification du contenu de la mémoire réinscriptible non volatile (104) à effectuer,
- lorsqu'il n'y a plus d'opérations de modifications du contenu de la mémoire réinscriptible non volatile (104) à effectuer, le procédé retourne à l'étape (54) d'exécution du séquenceur de tâches dans le mode standard.
Procédé (50) selon la revendication 3, caractérisé en ce que, lorsqu'une requête de modification du contenu de la mémoire réinscriptible non volatile (104) est reçue :
- le séquenceur de tâches en mode standard exécute un composant logiciel de modification virtuelle qui copie la requête dans une mémoire tampon volatile et bascule le séquenceur de tâches dans le mode reprogrammation,
- le séquenceur de tâches en mode reprogrammation exécute un composant logiciel de modification réelle qui lit la requête dans la mémoire tampon volatile et effectue les opérations de modification indiquées dans la requête. Procédé (50) selon l'une des revendications précédentes, caractérisé en ce que les composants logiciels du premier ensemble sont organisés en plusieurs groupes associés respectivement à des contextes de reprogrammation différents, ledit procédé comportant une étape (51) de détection du contexte de la reprogrammation à effectuer, seuls les composants logiciels du premier ensemble du groupe associé au contexte détecté étant copiés dans la mémoire volatile ( 06).
Procédé (50) selon la revendication 5, caractérisé en ce que des informations spécifiques de configuration du séquenceur de tâches sont associées à chaque contexte de reprogrammation, lesdites informations de configuration associées au contexte détecté étant copiées (52) dans la mémoire volatile (106), ledit procédé (50) comportant une étape (53) de configuration des modes standard et reprogrammation du séquenceur de tâches en fonction desdites informations de configuration.
Procédé (50) selon l'une des revendications 5 à 6, dans lequel les contextes de reprogrammation correspondent à des protocoles de communication différents à mettre en œuvre, lors de la reprogrammation, entre le calculateur (10) et un dispositif de reprogrammation externe.
Support de mémorisation de données du type mémoire électronique réinscriptible non volatile (104), caractérisé en ce qu'il comporte des instructions d'un logiciel de reprogrammation qui, lorsqu'elles sont exécutées par un microprocesseur (102) d'un calculateur (10) de véhicule automobile, effectuent une reprogrammation dudit calculateur (10) conformément à un procédé selon l'une des revendications 1 à 7.
Calculateur (10) de véhicule automobile, caractérisé en ce qu'il comporte un support de mémorisation de données selon la revendication 8.
PCT/EP2012/000493 2011-02-09 2012-02-03 Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile WO2012107189A2 (fr)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US13/984,613 US9223697B2 (en) 2011-02-09 2012-02-03 Computer reprogramming method, data storage medium and motor vehicle computer
CN201280008130.9A CN103339603B (zh) 2011-02-09 2012-02-03 计算机重新编程方法、数据存储介质和机动车辆计算机

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1100395A FR2971349B1 (fr) 2011-02-09 2011-02-09 Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile
FR11/00395 2011-02-09

Publications (2)

Publication Number Publication Date
WO2012107189A2 true WO2012107189A2 (fr) 2012-08-16
WO2012107189A3 WO2012107189A3 (fr) 2012-10-26

Family

ID=44314208

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2012/000493 WO2012107189A2 (fr) 2011-02-09 2012-02-03 Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile

Country Status (4)

Country Link
US (1) US9223697B2 (fr)
CN (1) CN103339603B (fr)
FR (1) FR2971349B1 (fr)
WO (1) WO2012107189A2 (fr)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102016200711A1 (de) * 2016-01-20 2017-07-20 Robert Bosch Gmbh Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug
DE102016201769A1 (de) * 2016-01-20 2017-07-20 Robert Bosch Gmbh Verfahren zum Aktualisieren von Software eines Steuergerätes, vorzugsweise für ein Kraftfahrzeug
US10359971B2 (en) * 2017-07-17 2019-07-23 Hewlett Packard Enterprise Development Lp Storing memory profile data of an application in non-volatile memory
US20220229910A1 (en) * 2021-01-19 2022-07-21 Vitesco Technologies GmbH Automobile method for securing a motor vehicle computer

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5881327A (en) * 1994-03-23 1999-03-09 Fuji Photo Film Co., Ltd. Camera and input/output device for camera
SE518232C2 (sv) * 1999-03-16 2002-09-10 Wm2M Comm Ab Mobilstation med CPU-minne som gränssnitt mot en mångfald, för mobilstationen, externa applikationer
DE10128305A1 (de) * 2001-06-12 2002-12-19 Giesecke & Devrient Gmbh Steuereinheit
US20040192373A1 (en) * 2002-12-05 2004-09-30 Galetti Ralph R. Method and circuit for initializing non-volatile memory
US7337317B2 (en) * 2003-07-03 2008-02-26 Hand Held Products, Inc. Memory data copying system for devices
JP4492470B2 (ja) * 2005-07-20 2010-06-30 株式会社デンソー 車載制御装置のデータ書き換え方法および車載制御装置
SE0502820L (sv) * 2005-12-13 2006-12-19 Scania Cv Abp Adaptivt farthållarsystem
DE102007059355A1 (de) * 2007-12-10 2009-06-18 Continental Automotive Gmbh Verfahren zum Betreiben eines Steuergerätes und Steuergerät
CN102301738B (zh) * 2009-11-30 2015-09-30 松下电器(美国)知识产权公司 通信装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
None

Also Published As

Publication number Publication date
FR2971349A1 (fr) 2012-08-10
FR2971349B1 (fr) 2015-12-04
CN103339603A (zh) 2013-10-02
WO2012107189A3 (fr) 2012-10-26
US9223697B2 (en) 2015-12-29
CN103339603B (zh) 2017-10-13
US20140025870A1 (en) 2014-01-23

Similar Documents

Publication Publication Date Title
EP2555110A1 (fr) Système de téléphone mobile intelligent et procédé d'amorçage de celui-ci
EP2786317B1 (fr) Ecriture de données dans une mémoire non volatile de carte à puce
WO2009156615A1 (fr) Procede et dispositif de mise a jour d'application informatique
FR2671223A1 (fr) Memoire semiconductrice remanente pour ordinateur personnel.
FR2820221A1 (fr) Procede et systeme pour gerer des executables a bibliotheques partagees
FR2845175A1 (fr) Procede et systeme de commutation entre deux images ou plus d'un progiciel sur un dispositif hote
WO2012107189A2 (fr) Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile
EP2447835B1 (fr) Procédé de configuration d'une entité électronique
CN105159716A (zh) 一种存储器件初始化方法和电子设备
WO2013045101A1 (fr) Procede d'effacement d'informations memorisees dans une memoire reinscriptible non volatile, support de memorisation et calculateur de vehicule automobile
FR2969334A1 (fr) Module materiel de securite et procede de debogage d'un tel module
EP3246820A1 (fr) Gestion du stockage dans une mémoire flash
EP2048576B2 (fr) Procédé de mise à jour sécurisée d'un programme à lancement automatique et entité électronique portable le mettant en oeuvre
CN108829460A (zh) 车载终端快速启动的方法、装置及车载终端
EP0838053A1 (fr) Procede et dispositif permettant a un programme fige de pouvoir evoluer
FR2864650A1 (fr) Procede de mise a jour d'applications pour carte a puce
EP3924831A1 (fr) Procédé de mise à jour d'un calculateur automobile de façon à lui ajouter une fonctionnalité supplémentaire
EP2383746B1 (fr) Procédé d'écriture et de lecture dans une mémoire d'atomicité
EP3489833B1 (fr) Procédé d'obtention d'un programme destiné à être exécuté par un dispositif électronique, tel qu'une carte à puce, comprenant une mémoire non volatile
EP2304559B1 (fr) Procédé de basculement entre deux versions d'une même application au sein d'un dispositif de traitement de l'information et ledit dispositif
EP4174709A1 (fr) Procede de verrouillage d'une zone de memoire non-volatile reinscriptible et dispositif electronique mettant en uvre ledit procede
CN114691180A (zh) 处理器芯片的软件升级方法、装置、处理器和处理器系统
FR2903791A1 (fr) Procede de telechargement d'un module logiciel.
EP3489834A1 (fr) Système informatique, procédé d'accès à un fichier informatique et programme d'ordinateur correspondant
EP2031512B1 (fr) Gestionnaire de processus amélioré

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12703243

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 13984613

Country of ref document: US

122 Ep: pct application non-entry in european phase

Ref document number: 12703243

Country of ref document: EP

Kind code of ref document: A2