FR2903791A1 - Procede de telechargement d'un module logiciel. - Google Patents

Procede de telechargement d'un module logiciel. Download PDF

Info

Publication number
FR2903791A1
FR2903791A1 FR0606408A FR0606408A FR2903791A1 FR 2903791 A1 FR2903791 A1 FR 2903791A1 FR 0606408 A FR0606408 A FR 0606408A FR 0606408 A FR0606408 A FR 0606408A FR 2903791 A1 FR2903791 A1 FR 2903791A1
Authority
FR
France
Prior art keywords
zone
software module
software
execution
variable
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR0606408A
Other languages
English (en)
Other versions
FR2903791B1 (fr
Inventor
Gilles Tost
Patrick Marey
Nadine Larifla
Patrick Petit
Alain Locatelli
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Airbus Operations SAS
Original Assignee
Airbus Operations SAS
Airbus SAS
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 Airbus Operations SAS, Airbus SAS filed Critical Airbus Operations SAS
Priority to FR0606408A priority Critical patent/FR2903791B1/fr
Publication of FR2903791A1 publication Critical patent/FR2903791A1/fr
Application granted granted Critical
Publication of FR2903791B1 publication Critical patent/FR2903791B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical 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é de téléchargement d'un module (10) logiciel dans une unité (1) de traitement de l'information. Le procédé de téléchargement comprend les étapes consistant à- stocker le module (10) logiciel téléchargé dans une zone (11) de mémoire de téléchargement différente d'une zone (9) d'exécution dans laquelle un module (6) logiciel courant s'exécute ;- définir comme nouvelle zone d'exécution ladite zone (11) de téléchargement.

Description

2903791 La présente invention concerne un procédé de téléchargement d'un
logiciel. DOMAINE TECHNIQUE La présente invention se rapporte au téléchargement de tout ou partie d'un module logiciel vers un ordinateur distant. Le module logiciel est par exemple un logiciel complet ou encore un ou plusieurs fichiers. 10 TECHNIQUE ANTERIEURE Les aéronefs comprennent de nombreux calculateurs embarqués pour lesquels il est nécessaire de changer, modifier ou faire évoluer les logiciels pour des raisons diverses, telles que par exemple : 15 pour corriger des erreurs dans le cadre de la maintenance; pour adapter les programmes, les mettre à jour au travers de nouvelles versions, dans le cadre de l'évolution des systèmes; pour tester des modules logiciels dans le but de mettre au point le calculateur ou toute autre unité électronique dans le cadre des essais. 20 Pour ce faire, selon un premier mode opérationnel, les calculateurs sont extraits de l'aéronef et transportés jusqu'au service en charge de la maintenance (des essais ou autre) pour opérer sur le logiciel desdits calculateurs. Les calculateurs sont ensuite à nouveau acheminés jusqu'à l'avion. 25 Les inconvénients de telles manipulations sont multiples. La nécessité de déplacer les calculateurs est contraignante. Elle fait perdre du temps en particulier pour les opérations de maintenance pour lesquelles le temps dévolu est critique. L'aéronef doit être opérationnel dans des délais extrêmement serrés. De plus, 30 après la remise en place du calculateur, des problèmes peuvent subsister, des ajustements peuvent être nécessaires ce qui oblige à des allers-retours coûteux à tout point de vue. 2903791 2 Toutes ces manipulations augmentent les coûts de production et de livraison des logiciels des équipementiers.
Selon un deuxième mode opérationnel, les équipes de maintenance, essai ou autres montent à bord de l'avion pour accéder au calculateur dont il faut modifier la mémoire. Dans ce mode, le calculateur comprend une cartouche mémoire extractible. Les équipes remplacent alors la cartouche mémoire sans avoir à déplacer le calculateur.
Les inconvénients en résultant sont de même nature : perte de temps, déplacements supplémentaires en vue d'ajustements ... Selon un troisième mode opérationnel, les logiciels sont remplacés ou modifiés par téléchargement. Le procédé de téléchargement consiste à les remplacer par écrasement. Le nouveau logiciel est programmé dans la même zone mémoire que le logiciel préexistant. Le nouveau logiciel prend la place du logiciel préexistant. Si un problème survient lors du téléchargement, il n'est plus possible de poursuivre l'exécution du logiciel préexistant ni d'exécuter le nouveau logiciel. Il est nécessaire de procéder à un nouveau téléchargement ou d'utiliser le premier mode opérationnel. Le troisième mode opérationnel n'offre pas la souplesse et la rapidité escompté par le téléchargement. Les problèmes sont équivalents pour toute unité de traitement de données embarquées nécessitant maintenance, mise au point et/ou mise à jour. Les problèmes peuvent par exemple se retrouver dans le domaine de l'automobile, dans le domaine spatial ou ferroviaire. 30 Un but de la présente invention est de proposer un procédé plus souple, plus simple et plus rapide de modification des modules logiciels contenus dans les 2903791 3 unités électroniques embarqués et plus fiable que les procédés de téléchargement existants. EXPOSE DE l'INVENTION 5 Pour ce faire, la présente invention propose un procédé de téléchargement d'un module logiciel dans une unité de traitement de l'information, caractérisé en ce qu'il comprend les étapes consistant à stocker le module logiciel téléchargé dans une zone de mémoire de 10 téléchargement différente d'une zone d'exécution dans laquelle un module logiciel courant s'exécute ; définir comme nouvelle zone d'exécution ladite zone de téléchargement. 15 De cette manière, le téléchargement s'effectue de manière rapide et sure au travers d'une dissociation des zones de stockage et d'exécution du module logiciel courant et du module logiciel téléchargé. Le présent procédé permet également de conserver le module logiciel courant en cas de problème lors du téléchargement : l'unité peut continuer à fonctionner. 20 Le procédé de téléchargement consiste à ne définir la nouvelle zone d'exécution qu'après un stockage réussi du module téléchargé. De cette manière, l'exécution de l'unité de traitement peut se poursuivre dans la zone d'exécution prédéfinie en cas de problème lors du téléchargement. Le procédé de téléchargement consiste à vérifier la réussite du stockage du module logiciel avant de définir la nouvelle zone d'exécution en vérifiant l'intégrité d'une valeur de contrôle CRC dudit module logiciel. 25 La présente invention consiste à définir la zone de mémoire d'exécution à l'aide d'une variable d'aiguillage. La définition de la nouvelle zone d'exécution est ainsi réalisée de manière simple. 2903791 4 Le procédé de téléchargement consiste au démarrage (la terme démarrage comprend un redémarrage) ou lors d'un réamorçage de l'unité, à lire la variable d'aiguillage et à lancer l'exécution du module logiciel contenu dans la 5 zone mémoire désignée par la variable d'aiguillage. Tant que l'unité n'est pas redémarrée ou réamorcée, l'exécution de l'unité de traitement peut se poursuivre même en cas de problème lors du téléchargement. Le procédé de téléchargement comprend une étape de vérification de 10 l'intégrité de la variable d'aiguillage avant le lancement de l'exécution du module logiciel désigné par celle-ci. La variable d'aiguillage est une valeur logique permettant de désigner la zone de mémoire d'exécution. Elle est codée en mémoire non volatile EEPROM 15 par une valeur physique. La valeur physique permet de détecter toute modification non souhaitée de la valeur logique. Selon une forme de réalisation particulière de réalisation, les valeurs physiques choisies pour la variable d'aiguillage sont suffisamment éloignées pour 20 en assurer une protection. De cette manière, la mise à jour de la variable est rapide et cette forme de réalisation particulière permet de détecter et de protéger la variable contre une corruption de quelque nature que ce soit. Les valeurs physiques assurent la détection d'une modification de la 25 variable d'aiguillage par un mécanisme de vote. Le mécanisme de vote est une autre forme de réalisation permettant de détecter une corruption de la variable d'aiguillage. Le procédé de téléchargement consiste à protéger en écriture la zone de 30 mémoire d'exécution (zone désignée par la variable d'aiguillage). Cette caractéristique renforce la fiabilité du procédé de téléchargement. 5 2903791 5 Le procédé de téléchargement consiste à utiliser un système d'adressage à base de code relogeable. Le module logiciel contient son identifiant. La présente invention concerne également le système de téléchargement comprenant une unité de traitement de l'information permettant de mettre en oeuvre ledit procédé de téléchargement ainsi que le programme d'ordinateur permettant de mettre en oeuvre ledit procédé. 10 DESCRIPTION SOMMAIRE DES DESSINS D'autres buts, avantages et caractéristiques de l'invention apparaîtront à la lecture de la description qui va suivre du dispositif selon l'invention, donné à 15 titre d'exemple non limitatif en référence aux dessins ci-annexés dans lesquels : • la figure 1 représente de manière schématique une unité électronique dans laquelle s'effectue le procédé de téléchargement selon la présente invention ; • les figures 2 et 3 représentent de manière schématique des étapes 20 du procédé selon la présente invention. MANIERE DE REALISER L'INVENTION La présente invention concerne un procédé de téléchargement d'un 25 module logiciel dans une unité électronique éloignée et par exemple une unité électronique embarquée. Un module logiciel comprend tout ou partie d'un logiciel, d'un ou plusieurs fichiers. Le terme fichier englobe tout composant d'un logiciel. Le module logiciel comprend du code exécutable et de manière optionnelle des données.
Comme représenté sur la figure 1, une unité électronique 1 comprend au moins un microprocesseur 2 relié par un bus 3 interne à une mémoire non volatile 2903791 6 par exemple de type ROM, EEPROM 4, Flash 5 ou autre permettant de stocker un module 6 logiciel à exécuter, une mémoire 7 volatile de type RAM, des moyens 8 d'entrées/sorties pour communiquer avec l'extérieur et en particulier pour recevoir un module 10 logiciel.
5 Comme le montre la figure 1, la mémoire 5 FLASH comprend trois zones : une zone 9 dans laquelle le module 6 logiciel courant installé s'exécute, appelée zone de mémoire FLIP ; une zone 11 de stockage du module 10 logiciel téléchargé, appelée 10 zone de mémoire FLOP dans laquelle le module 10 logiciel s'exécute après basculement de la zone d'exécution de la mémoire FLIP à la mémoire FLOP; une zone 12 de contrôle du démarrage d'un logiciel 6 ou 10 en mémoire FLIP ou FLOP, dans laquelle se trouve stocké un logiciel de 15 contrôle du démarrage comprenant une fonction d'aiguillage vers la zone 9 ou 11 d'exécution du module logiciel 6 ou 10. La fonction d'aiguillage travaille avec une variable d'aiguillage 13. La variable d'aiguillage désigne la zone d'exécution.
20 Le procédé de téléchargement selon la présente invention comprend les étapes suivantes : - stockage du module 10 logiciel dans la zone 11 de téléchargement ; - basculement de la zone d'exécution de la zone 9 vers la zone 11 de téléchargement.
25 Dans la présente invention, le logiciel s'exécute dans la zone 9 d'exécution FLIP. Lorsqu'un utilisateur souhaite télécharger un module 10 logiciel dans l'unité 1, il transmet ledit module à l'unité 1 par tout type de moyen connu et par exemple par réseau éthernet, AFDX, RS232, ARINC 429 ou autre. L'utilisateur transmet 30 également une valeur de contrôle d'intégrité du module logiciel, appelé sur la figure 1, CRC. La valeur de contrôle est intégrée, dans la forme de réalisation décrite, dans le module logiciel. La valeur de contrôle présente tout type de forme 2903791 7 connue. Elle consiste par exemple en une fonction de hachage du module logiciel permettant d'obtenir l'empreinte CRC : la modification d'un seul bit du module logiciel entraîne une modification de l'empreinte.
5 Le procédé selon la présente invention consiste à enregistrer le module 10 reçu au travers des moyens 8 d'entrée/sortie dans une zone 11 FLOP de la mémoire différente de la zone 9 d'exécution. Lorsque l'enregistrement du module 10 logiciel dans la zone 11 est terminé, 10 le microprocesseur 2 vérifie l'intégrité du module 10 stocké. Le microprocesseur recalcule la valeur de contrôle CRC et compare la valeur obtenue à partir du module logiciel stocké dans la zone 11 avec la valeur de contrôle CRC reçue. Si ces valeurs diffèrent, le téléchargement n'a pas été exécuté correctement. L'unité 1 se met en mode panne. Le mode panne se traduit par la visualisation d'un 15 voyant indiquant la mauvaise exécution du téléchargement, l'envoi ou la visualisation d'un message d'erreur et/ou l'enregistrement dans une zone de la mémoire d'un code représentatif de cette exécution incorrecte. L'unité continue à fonctionner avec le module logiciel 6 dans la zone 9.
20 Si les valeurs de contrôle sont identiques, cela signifie que le téléchargement s'est déroulé et achevé correctement : le téléchargement a réussi. Dans ce cas, le procédé selon la présente invention consiste à basculer l'exécution de la zone 9 FLIP à la zone 11 FLOP. Le procédé utilise la variable 13 d'aiguillage stockée en mémoire non volatile pour effectuer le basculement. La 25 variable 13 désigne la zone d'exécution du logiciel contenu dans l'unité 1 ; elle indique directement ou indirectement son adresse d'exécution. Lorsque le téléchargement a réussi, le procédé consiste à modifier la variable d'aiguillage pour désigner une nouvelle zone d'exécution, la zone 11 FLOP.
30 Selon une forme particulière de l'invention, la variable 13 est vue comme une valeur logique X et codée en mémoire non volatile 4 EEPROM comme une valeur physique Y. La valeur logique représente la zone de mémoire d'exécution 2903791 8 à savoir dans notre exemple soit la zone FLIP soit la zone FLOP. La valeur logique peut être déduite de la valeur physique par exemple par une fonction X=f(Y). La valeur physique assure la détection de toute modification non désirée de la variable 13.
5 Selon une première forme illustrative de réalisation, la variable 13 présente deux valeurs physiques VI et V2 : les valeurs physiques sont choisies de manière que lorsqu'un (ou plusieurs) bit(s) de la valeur V1 est (sont) modifié(s) par corruption, les deux valeurs VI et V2 sont suffisamment éloignées l'une de l'autre 10 pour que la valeur corrompue ne corresponde pas à la valeur V2. Si les valeurs VI et V2 comprennent chacune un unique bit, à savoir par exemple 1 pour VI et 0 pour V2, la taille de la variable étant très faible (1 bit), la mise à jour de la variable est très rapide. En revanche, la protection offerte est 15 nulle puisque si l'unique bit de VI est modifié, la valeur V1 prend la valeur de V2 ce qui n'est évidemment pas souhaitable. Plus le nombre de bits des valeurs VI et V2 augmentent, plus la vitesse de mise à jour augmente mais plus la protection offerte est importante. Il faut donc 20 choisir une taille optimum suivant les spécifications et les contraintes de l'environnement. Selon une forme de réalisation particulière, la variable 13 a une taille de 1 octet pour une mise à jour rapide. Il est possible par exemple de prendre 25 pour VI la valeur 69 en hexadécimal à savoir en binaire 0110 1001, et pour V2 la valeur C3 en hexadécimal à savoir en binaire 1100 0011. Si le premier bit de V1 passe à 1 par erreur, la valeur obtenue ne correspond pas à V2. Dans cette forme illustrative de réalisation, par des formes binaires choisies, les valeurs physiques permettent de protéger les valeurs enregistrées contre toute 30 corruption.
2903791 9 Dans ce cas, les valeurs logiques se déduisent des valeurs physiques par une fonction de correspondance : A 69, correspond la zone FLIP ; A C3, correspond la zone FLOP.
5 Dans la première forme illustrative, la valeur physique est un drapeau désignant la zone d'exécution. Si la valeur physique de la variable 13 a pour valeur 69, la zone d'exécution est la zone FLIP. La valeur logique correspondant à la valeur physique peut être obtenue de manière logicielle ou matérielle, quelle 10 que soit la forme illustrative. De manière logicielle, il est programmé dans la zone 12 l'identification ou l'adresse ou tout autre élément permettant de se brancher à la zone correspondante. Si la valeur logique de la variable 13 correspond à la mémoire 15 FLIP, le logiciel de contrôle fait correspondre à cette valeur logique le branchement à la zone de mémoire FLIP. De manière matérielle, le logiciel de contrôle lit la valeur logique de la variable 13 ; un registre matériel est programmé pour adresser la mémoire en 20 correspondance avec la valeur logique. En cas de problème d'intégrité sur la variable 13, le registre est affecté à la valeur de la zone d'exécution par défaut, à savoir la mémoire FLIP. Dans le cas où la valeur physique ne correspondrait pas à la valeur 25 attendue, la valeur physique permet la détection d'une modification de la variable 13 et la mise en mode panne. Selon une deuxième forme illustrative de la variable 13, la valeur physique de la valeur 13 offre une détection de toute corruption par un mécanisme de vote.
30 La valeur physique pourrait par exemple consister en la valeur 69/69/69.
2903791 10 Pour effectuer un vote, le procédé consiste à comparer les trois valeurs : si les trois valeurs ou si deux d'entre elles sont équivalentes, il est considéré que la valeur VI correspond bien à la zone d'exécution correspondante (de la même façon que dans la première forme illustrative). Dans le cas contraire, le procédé 5 prend la valeur de la zone d'exécution courante FLIP 6 par défaut et se met en mode panne. Comme vu précédemment, la variable 13 est mise à jour de manière très rapide (pour réduire la section critique) à la fin du téléchargement du module 10 logiciel 10. Tant que le module 10 n'a pas été entièrement téléchargé, la variable 13 reste inchangé. De cette manière, le calculateur peut continuer à tourner avec le module 6 logiciel tant que le module 10 n'a pas été correctement installé, en particulier en cas d'échec ou de pertes de configuration au cours d'un téléchargement du à une coupure d'alimentation ou autre. Lorsque le 15 téléchargement est achevé, le microprocesseur 2 modifie la valeur de la variable 13 pour qu'elle désigne la zone 11 de téléchargement : si l'on considère la première forme illustrative, la variable 13 prend alors la valeur C3. Le basculement du module courant au module téléchargé est donc très rapide : il dure le temps de modifier la variable d'aiguillage ainsi que le temps de redémarrage. En effet, pour 20 prendre le changement en compte, un redémarrage (mise sous tension ou réamorçage) est nécessaire pour que la nouvelle zone d'exécution soit prise en compte. Pour ce faire, il faut que les instructions de redémarrage (logiciel de contrôle du démarrage) contenues dans la zone 12 soient déroulées : ce sont ces instructions qui définissent la zone d'exécution. Tant que l'unité n'est pas 25 redémarrée, l'exécution se poursuit dans une même zone d'exécution. Lors de la mise sous tension de l'unité 1 ou lors d'un réamorçage de ladite unité ( reboot ou reset en anglais), le logiciel de contrôle du démarrage contenu dans la mémoire 12 qui n'a pas été modifié par le téléchargement lit la 30 variable 13 pour définir la zone d'exécution du logiciel. Le logiciel de contrôle de démarrage vérifie la valeur physique de la variable 13 lue en mémoire 4.
5 2903791 11 Dans la première forme illustrative, le logiciel de contrôle vérifie la valeur physique pour détecter une éventuelle modification par corruption ou autre. Dans la deuxième forme, le logiciel de contrôle déroule le mécanisme de vote et décide si la valeur a été corrompue ou non. Si une modification non souhaitée est détectée, le microprocesseur se met en mode panne et poursuit l'exécution du module logiciel 6. Si aucune modification non souhaitée de la variable 13 n'a été détectée, 10 l'exécution du module logiciel stocké dans la zone désignée par ladite valeur peut démarrer. Comme déjà vu précédemment pour la variable 13, le procédé selon la présente invention utilise un mécanisme d'adressage avec un système de code 15 relogeable (adressage relatif ou mécanisme matériel) pour permettre l'exécution d'un module logiciel téléchargé à une adresse différente du module logiciel courant. Selon une forme de réalisation particulière de l'invention, l'identifiant du 20 module 6, 10 logiciel est intégré au module proprement dit. Si l'on stocke l'identifiant en mémoire EEPROM après le téléchargement, cela prend du temps et l'identifiant peut être modifié en cas de problème. Selon la présente invention, l'identifiant du module 10 logiciel est stocké dans la zone FLIP ou FLOP et il correspond au bon identifiant.
25 Les figures 2 et 3 illustrent de manière détaillée le procédé selon la présente invention. Comme le montre la figure 2, la variable 13 d'aiguillage a pour valeur 30 logique la zone 9 mémoire FLIP ; elle désigne la zone 9 comme zone d'exécution du module 6 logiciel, appelé Log sur la figure 2, contenu dans celle-ci. Au démarrage ou lors de tout réamorçage, le logiciel de contrôle du démarrage 2903791 12 contenu dans la zone 12, appelé boot sur la figure 2, comporte la fonction d'aiguillage vers le module à exécuter. Le logiciel boot vérifie la valeur physique de la variable 13, déduit la valeur logique (étape A) et lance le module 10 logiciel (étape B) si la valeur physique est correcte. Si la valeur physique n'est pas 5 correcte (coupure électrique pendant l'écriture, zone de mémoire dégradée ...), le procédé exécute par défaut le logiciel courant en mémoire FLIP mais part en mode panne. Le logiciel de contrôle boot comprend un minimum d'instructions non téléchargeables de manière à limiter les problèmes logiciels obligeant à transporter l'unité vers un service de maintenance.
10 Selon une forme de réalisation particulière de l'invention, la zone d'exécution, à savoir dans le cas présent, la zone 9 de la mémoire est protégée en écriture pour éviter toute corruption des données par tout type de moyen connu et par exemple à l'aide d'un mécanisme matériel empêchant l'écriture à certaines 15 adresses ou d'un mécanisme logiciel de masquage d'adresse. II n'est plus possible d'écrire dans cette zone tant qu'elle est désignée par la variable d'exécution comme zone d'exécution. Lorsqu'un utilisateur souhaite remplacer ou modifier le module 6 logiciel 20 dans l'unité 1, il transmet par tout type de moyen connu le module 10 logiciel, appelé Nlog sur la figure 3, à l'unité 1. Lorsque l'unité et plus particulièrement les moyens d'entrée/sortie 8 de l'unité reçoivent le nouveau module 10, celui-ci est stocké dans la zone 11 de la mémoire. Lorsque le module 10 logiciel reçu est entièrement programmé dans la zone 11 (étape C), la valeur physique de la 25 variable 13 d'aiguillage est mise à jour (étape D). La variable d'aiguillage modifiée désigne la zone 11 de la mémoire comme zone d'exécution. Si le téléchargement a été défectueux pour des raisons diverses telles qu'une interruption de transfert sur le réseau, un problème d'écriture en Flash ou autre, une coupure d'alimentation, la variable d'aiguillage n'est pas modifiée. Cependant, l'unité 30 fonctionne toujours sur la base du logiciel courant en mémoire FLIP.
2903791 13 Lors d'un démarrage (pouvant être un redémarrage) ou réamorçage de l'unité, le logiciel boot lit la variable d'aiguillage qui désigne la mémoire FLOP 11. Le logiciel boot lance le logiciel contenu dans la mémoire FLOP (Etape E). Le procédé opère le basculement d'un module logiciel à un autre en fonction de la 5 variable d'aiguillage. De cette manière, le téléchargement est fiable, rapide et simple. Le logiciel exécutable est transmis dans son ensemble évitant toute manipulation intermédiaire : ainsi, la disponibilité de l'unité n'est que très peu affectée. La 10 fiabilité est assurée notamment au travers de la variable d'aiguillage. 15 20 25

Claims (10)

REVENDICATIONS
1- Procédé de téléchargement d'un module (10) logiciel dans une unité (1) de traitement de l'information, caractérisé en ce qu'il comprend les étapes 5 consistant à stocker le module (10) logiciel téléchargé dans une zone (11) de mémoire de téléchargement différente d'une zone (9) d'exécution dans laquelle un module (6) logiciel courant s'exécute ; définir comme nouvelle zone d'exécution ladite zone (11) de 1 o téléchargement.
2- Procédé selon la revendication 1, caractérisé en ce qu'il consiste à ne définir la nouvelle zone d'exécution qu'après un stockage réussi du module (10) téléchargé.
3- Procédé selon l'une des revendications précédentes, caractérisé en ce qu'il consiste à définir la zone de mémoire d'exécution à l'aide d'une variable (13) d'aiguillage. 20
4- Procédé selon la revendication 3, caractérisé en ce qu'il consiste, au démarrage ou lors d'un réamorçage de l'unité (1), à lire la variable d'aiguillage (13) et à lancer l'exécution du module (10) logiciel contenu dans la zone mémoire désignée par la variable d'aiguillage. 25
5- Procédé selon l'une des revendications 3 ou 4, caractérisé en ce que la variable d'aiguillage est une valeur logique permettant de désigner la zone de mémoire d'exécution et codée en mémoire 4 par une valeur physique.
6- Procédé selon l'une des revendications 1 à 5, caractérisé en ce que 30 consiste à protéger en écriture la zone de mémoire d'exécution (9 ou 11).
7- Procédé selon l'une des revendications 1 à 6, caractérisé en ce qu'il 15 2903791 15 consiste à utiliser un système d'adressage à base de code relogeable.
8 û Procédé selon l'une des revendications 1 à 7, caractérisé en ce que le module (6, 10) logiciel contient son identifiant.
9- Système de téléchargement comprenant une unité (1) de traitement de l'information permettant de mettre en oeuvre le procédé de téléchargement selon l'une des revendications 1 à8.
10 û Programme d'ordinateur chargeable sur une unité (1) de traitement de l'information comprenant des séquences d'instructions pour mettre en oeuvre le procédé selon l'une des revendications 1 à 8, lorsque le programme est chargé sur l'unité et y est exécuté.15
FR0606408A 2006-07-13 2006-07-13 Procede de telechargement d'un module logiciel. Active FR2903791B1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR0606408A FR2903791B1 (fr) 2006-07-13 2006-07-13 Procede de telechargement d'un module logiciel.

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR0606408A FR2903791B1 (fr) 2006-07-13 2006-07-13 Procede de telechargement d'un module logiciel.

Publications (2)

Publication Number Publication Date
FR2903791A1 true FR2903791A1 (fr) 2008-01-18
FR2903791B1 FR2903791B1 (fr) 2008-10-17

Family

ID=37487384

Family Applications (1)

Application Number Title Priority Date Filing Date
FR0606408A Active FR2903791B1 (fr) 2006-07-13 2006-07-13 Procede de telechargement d'un module logiciel.

Country Status (1)

Country Link
FR (1) FR2903791B1 (fr)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2345959A1 (fr) * 2010-01-15 2011-07-20 Fujitsu Limited Dispositif de traitement d'informations et procédé d'actualisation de micrologiciel du dispositif de traitement d'informations
FR3092676A1 (fr) * 2019-02-13 2020-08-14 Psa Automobiles Sa Procédé de mise à jour d’un calculateur automobile de façon à lui ajouter une fonctionnalité supplémentaire

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0790554A1 (fr) * 1996-02-16 1997-08-20 Siemens Aktiengesellschaft Procédé et circuit pour contrÔler le processus de chargement du micrologiciel
WO1998019234A1 (fr) * 1996-10-28 1998-05-07 Macronix International Co., Ltd. Processeur avec structures integrees de programmation en-circuit
WO1998053619A2 (fr) * 1997-05-20 1998-11-26 Telefonaktiebolaget Lm Ericsson Chargement d'un logiciel d'arriere-plan dans des systemes de telecommunications cellulaires
EP1052571A2 (fr) * 1999-05-13 2000-11-15 ECI Telecom Ltd. Méthode et appareil pour télécharger des logiciels en un système incorporé
US6182187B1 (en) * 1993-04-07 2001-01-30 Compaq Computer Corporation System ROM including a flash EPROM and a ROM for storing primary boot code replacing a block flash EPROM
EP1115058A2 (fr) * 2000-01-06 2001-07-11 Nec Corporation Réécriture des zones d'amorçage
US6772364B1 (en) * 2000-12-28 2004-08-03 Nortel Networks Limited Fault tolerant field updating with alternation of memory areas

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182187B1 (en) * 1993-04-07 2001-01-30 Compaq Computer Corporation System ROM including a flash EPROM and a ROM for storing primary boot code replacing a block flash EPROM
EP0790554A1 (fr) * 1996-02-16 1997-08-20 Siemens Aktiengesellschaft Procédé et circuit pour contrÔler le processus de chargement du micrologiciel
WO1998019234A1 (fr) * 1996-10-28 1998-05-07 Macronix International Co., Ltd. Processeur avec structures integrees de programmation en-circuit
WO1998053619A2 (fr) * 1997-05-20 1998-11-26 Telefonaktiebolaget Lm Ericsson Chargement d'un logiciel d'arriere-plan dans des systemes de telecommunications cellulaires
EP1052571A2 (fr) * 1999-05-13 2000-11-15 ECI Telecom Ltd. Méthode et appareil pour télécharger des logiciels en un système incorporé
EP1115058A2 (fr) * 2000-01-06 2001-07-11 Nec Corporation Réécriture des zones d'amorçage
US6772364B1 (en) * 2000-12-28 2004-08-03 Nortel Networks Limited Fault tolerant field updating with alternation of memory areas

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2345959A1 (fr) * 2010-01-15 2011-07-20 Fujitsu Limited Dispositif de traitement d'informations et procédé d'actualisation de micrologiciel du dispositif de traitement d'informations
US8607219B2 (en) 2010-01-15 2013-12-10 Fujitsu Limited Information processing device and a firmware updating method of the information processing device
FR3092676A1 (fr) * 2019-02-13 2020-08-14 Psa Automobiles Sa Procédé de mise à jour d’un calculateur automobile de façon à lui ajouter une fonctionnalité supplémentaire
WO2020165518A1 (fr) * 2019-02-13 2020-08-20 Psa Automobiles Sa Procédé de mise à jour d'un calculateur automobile de façon à lui ajouter une fonctionnalité supplémentaire

Also Published As

Publication number Publication date
FR2903791B1 (fr) 2008-10-17

Similar Documents

Publication Publication Date Title
US20100169709A1 (en) System Of Updating Firmware And Method Thereof, And Method Of Creating Firmware
FR2889879A1 (fr) Procede pour l'application d'un logiciel portable
SE531992C2 (sv) Metod och system för säker programvaruprovisionering
KR20150008546A (ko) 보안 다운로드 및 기능 실행방법 및 장치
FR2755775A1 (fr) Procede et systeme d'etablissement de communications avec un systeme distant, notamment via l'internet, pendant une sequence d'amorcage
WO2011075139A1 (fr) Procédés et dispositifs permettant de mettre à jour un micrologiciel d'un composant au moyen d'une application de mise à jour de micrologiciel
CN109614265B (zh) 智能惯导传感系统的双备份系统及其配置启动方法
FR2978264A1 (fr) Un procede de rechargement automatique de logiciel et un dispositif de rechargement automatique de logiciel
FR2969334A1 (fr) Module materiel de securite et procede de debogage d'un tel module
EP2024798B1 (fr) Procédé et dispositif de configuration sécurisée d'un terminal au moyen d'un dispositif de stockage de données de démarrage
EP2031502B1 (fr) Système et méthode pour gérer le redémarrage d'un équipement d'automatisme
FR3072195B1 (fr) Procede de gestion d'un retour de produit pour analyse et produit correspondant
FR2903791A1 (fr) Procede de telechargement d'un module logiciel.
EP2049967A2 (fr) Coeur processeur a frequence pilotee et procede de demarrage dudit coeur processeur dans un mode programme
FR3017226A1 (fr) Procede de securisation d'un code programme, systeme et processeur correspondants
CN102346692A (zh) 一种iptv升级文件的校验方法
WO2012107189A2 (fr) Procede de reprogrammation d'un calculateur, support de memorisation de donnees et calculateur de vehicule automobile
WO2021181015A1 (fr) Procédé et dispositif de mise à jour d'un logiciel comportant des adresses physiques vers la mémoire d'un calculateur embarqué d'un véhicule
CN113452550A (zh) 资讯撷取装置、嵌入式系统装置的固件更新方法及系统
EP2048576B2 (fr) Procédé de mise à jour sécurisée d'un programme à lancement automatique et entité électronique portable le mettant en oeuvre
WO1997041510A1 (fr) Procede et dispositif permettant a un programme fige de pouvoir evoluer
FR3058244A1 (fr) Configuration d'un dispositif electronique embarque par lecture d'une radio-etiquette
EP3924831A1 (fr) Procédé de mise à jour d'un calculateur automobile de façon à lui ajouter une fonctionnalité supplémentaire
FR2926147A1 (fr) Calculateur embarque et procede de configuration de calculateur embarque.
US20210326125A1 (en) Installing application program code on a vehicle control system

Legal Events

Date Code Title Description
CA Change of address

Effective date: 20120313

CD Change of name or company name

Owner name: AIRBUS, FR

Effective date: 20120313

Owner name: AIRBUS OPERATIONS, FR

Effective date: 20120313

CJ Change in legal form

Effective date: 20120313

TP Transmission of property

Owner name: AIRBUS HOLDING, FR

Effective date: 20130322

PLFP Fee payment

Year of fee payment: 11

PLFP Fee payment

Year of fee payment: 12

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 15

PLFP Fee payment

Year of fee payment: 16

PLFP Fee payment

Year of fee payment: 17

PLFP Fee payment

Year of fee payment: 18

PLFP Fee payment

Year of fee payment: 19