Brevet FR2800963A1 — publié le 20010511

Procédé de mise à jour d'un programme principal exécuté par un module de radiocommunication, et/ou de données associées à ce programme principal, et module de radiocommunication correspondant. Le domaine de l'invention est celui des systèmes de radiocommunication avec mobiles. L'invention s'applique notamment, mais non exclusivement, dans systèmes radi ocommuni cation de type GSM 900 (pour "Global System for Mobile - 900 MHz"), DCS 1800 (pour "Digital Cellular System - 1800 MHz"), 1900 (pour "Personal Communication System - 1900 MHz") ou UMTS (pour "Universal Mobile Telecommuni cation System - 2 GHz"). Plus précisément, l'invention concerne un procédé de mise à jour d'un programme principal exécuté par un module de radi ocommuni cation, et/ou de données associées à ce programme principal. On rappelle tout d'abord ce que l'on entend par module de radi ocommuni cation. De façon classique, un abonné d'un système de radi ocommuni cation, par exemple de type GSM, dispose d'une station mobile (parfois aussi appelée radiotéléphone mobile ou téléphone portable) comprenant terminal de radiocommuni cation (ou ME. pour "Mobile Equipment" en anglais) coopérant avec une carte SIM (pour "Subscriber Identity Module" en anglais, ou module d'identification d'abonné). Dans son application première, qui est la plus classique, le module de radiocommuni cation (par exemple un "module GSM") est compris dans le terminal de radiocomm uni cation et assure la fonction de communication sans fil, en pilotant divers éléments matériels (écran, clavier, haut-parleur, ... ) du terminal de radiocommuni cation. D'autres applications du module de rad i ocommuni cation sont également connues. Il a notamment été proposé de l'intégrer dans des dispositifs autres que des terminaux de radiocommuni cation, mais nécessitant néanmoins une fonctionnalité de communication sans fil. A titre d'exemple, on peut citer des dispositifs de télémétrie (relevés de compteur) ou encore des dispositifs lecteur de cartes bancaires. a également été proposé de fournir le module de radiocommuni cation sous forme indépendante, avec notamment sa propre alimentation : il est alors qualifié de modem. Un tel modem, qui ne comprend aucun élément matériel (écran, clavier, haut parleur, ... ) d'interface homme/machine, est destiné à coopérer avec un équipement tiers (typiquement un micro-ordinateur), qui lui possède des éléments matériels d'interface homme/machine. Généralement, l'équipement tiers pilote le modem grâce à un jeu de commandes AT (pour "ATtention command" en anglais). Quelle que soit la forme d'application du module de radi ocommuni cation (dans un terminal de radiocommuni cation, dans un dispositif autre ou encore dans un modem), il est parfois nécessaire de procéder à une mise à jour programme principal qu'il exécute, et/ou des données qui lui sont associées. Ces données définissent par exemple des mélodies, des répertoires, des items de menus dans différentes langues, etc. décrit maintenant, en relation avec la figure 1, la technique traditionnelle utilisée pour effectuer cette mise à jour. Dans un souci de simplification, on décrit une mise à jour portant uniquement sur le programme principal. Il est clair que les autres cas de mise a jour (données seulement, ou encore programme principal et données) se déduisent directement et aisément de ce qui suit. On suppose que le module de radiocommunication 1 est relié à un équipement de mise à jour 5 par un lien série 10 supportant un protocole propriétaire. Classiquement, on distingue les étapes successives suivantes un utilisateur effectue un redémarrage (ou "reset") du module de radiocommuni cation 1 tout en maintenant l'une des broches, dite de réamorçage (ou "pin boot"), à un niveau de tension prédéterminé (par exemple la masse), de façon que le module 1 redémarre en interne, non pas avec son programme principal 2 mais avec un programme de réamorçage (ou "boot") 3. Le programme principal 2 est mémorisé en mémoire flash ROM 11, et le programme de réamorcage 3 en mémoire boot ROM 4; le programme de réamorcage 3 communique selon le protocole propriétaire avec un programme de téléchargement côté équipement (ou "downIoader equipment") 6, de façon à télécharger (13) dans la mémoire RAM 7 du module de radiocommuni cation un programme de téléchargement côté module (ou "downIoader module") 8. Le programme de téléchargement côté équipement 6 est un programme spécifique propriétaire exécuté par l'équipement de mise à jour 5. programme de téléchargement côté module 8 est préalablement stocké (8') dans une mémoire 9 associée à l'équipement de mise à jour 5 ; le programme de réamorçage 3 lance l'exécution programme de téléchargement côté module 8 qui vient d'être chargé mémoire RAM 7, le programme de téléchargement côté module 8 communique selon le protocole propriétaire avec le programme de téléchargement côté équipement 6, de façon à télécharger (14) dans la mémoire flash ROM 11 du module un nouveau programme principal 12. Le nouveau programme principal 12 est préalablement stocké (IT) dans une mémoire 9 associée à l'équipement de mise àjour 5 ; l'utilisateur effectue un redémarraae du module de radiocommunication 1 tout en maintenant la broche de réamorçage à la tension d'alimentation, de façon que le module 1 redémarre en externe, non pas avec le précédent programme principal 2, en mémoire flash ROM 11, mais avec le nouveau programme principal 12, également en mémoire flash ROM 11, Cette technique classique de mise àjour présente plusieurs inconvénients. Notamment, le fait que le programme de téléchargement côté équipement soit un programme propriétaire, écrit spécifiquement pour un usage avec un protocole propriétaire, n'est pas sans poser des problèmes, En effet, ceci implique une distribution à chacun des utilisateurs souhaitant effectuer la mise à jour, non seulement du nouveau programme principal et/ou des nouvelles données, mais également du programme de téléchargement côté équipement. outre, du fait de son caractère "spécifique propriétaire", un tel programme de téléchargement côté équipement n'est généralement exécutable que par un seul type d'équipement (par exemple les micro-ordinateurs sous système d'exploitation DOS). Or, il est fréquent que les divers utilisateurs n'utilisent pas tous le même type d'équipement. Lors d'une mise à jour, on est donc actuellement obligé de développer autant de nouveaux programmes "spécifiques propriétaire" qu'il y a de types d'équipement distincts. De même, le protocole propriétaire, sur la base duquel sont développés les programmes de téléchargement côté équipement et côté module, est généralement spécifique au support physique (liaison série, liaison infrarouge, liaison radio, ... ) lequel est mis en oeuvre. Lors d'une mise à jour, cela augmente donc encore le nombre de nouveaux programmes "spécifiques propriétaire" que l'on doit développer. autre inconvénient de la technique actuelle de mise à jour est qu'elle nécessite un double téléchargement. En effet, il faut d'abord télécharger le programme téléchargement côté module, puis le nouveau programme principal et/ou les nouvelles données. Encore au autre inconvénient de la technique actuelle de mise à jour est qu'elle nécessite deux redémarrages du module de radiocommuni cation, l'un en interne début, en maintenant la broche de réamorçage par exemple à la masse) et l'autre en externe (à la fin, en maintenant la broche de réamorçage à la tension d'alimentation). chaque fois, l'utilisateur est donc amené à manipuler la broche de réamorçage. L'invention a notamment pour objectif de pallier ces différents inconvénients l'état de la technique. Plus précisément, l'un des objectifs de la présente invention est de fournir un procédé de mise à jour du programme principal (et/ou des données associées) exécuté par module de radiocommuni cation, ce procédé permettant au module de radiocommunication de communiquer avec différents types d'équipements de mise à jour. L'invention a également pour objectif de fournir un tel procédé qui puisse être mise oeuvre avec plusieurs types de support physique entre le module de radiocommunication et l'équipement de mise à jour, sans pour autant nécessiter une quelconque modification, tant du côté module de radiocommuni cation que du côté équipement de mise à jour. autre objectif de l'invention est de fournir un tel procédé qui ne nécessite aucune manipulation de la broche de réamorcage par l'utilisateur. objectif complémentaire de l'invention est de fournir un tel procédé ne nécessitant pas un double téléchargement, différents objectifs, ainsi que d'autres qui apparaîtront par la suite, sont atteints selon l'invention à l'aide d'un procédé de mise à jour d'un programme principal exécuté un module de radiocommunication, et/ou de données associees audit programme principal, ledit module de rad i ocommuni cation communiquant avec un équipement de mise à jour. Selon l'invention, ledit procédé comprend étapes successives suivantes : lancement de l'exécution, par ledit module de radi ocommuni cation, d'un programme de téléchargement capable de communiquer, selon un protocole de communication standard, avec un programme de transfert de fichier standard, du type "terminal de données", exécuté par ledit équipement de mise à jour; envoi par ledit programme de transfert de fichier standard audit programme de téléchargement, selon ledit protocole de communication standard, d'un nouveau programme principal et/ou de nouvelles données ; stockage par ledit programme de téléchargement, dans une mémoire non volatile dudit module de rad 1 ocommuni cation, dudit nouveau programme in principal et/ou desdites nouvelles données. principe général de l'invention consiste donc à utiliser, du côté équipement de mise àjour, non pas un programme de téléchargement spécifique propriétaire, mais un programme (ou logiciel) de transfert de fichier standard, du type "terminal de données". Ce dernier utilise un protocole de communication standard (et non pas un protocole propriétaire). En d'autres termes, on utilise de façon inhabituelle les programmes du type "terminal de données". En effet, normalement ils sont utilisés deux à deux pour faire du transfert de fichiers entre deux machines, éventuellement par modems interposés (si la nature support physique entre machines exécutant ces programmes le nécessite). La configuration habituelle est donc la suivante : un premier logiciel "terminal de données", exécute par une première machine, communique selon un protocole de communication standard (par exemple via une liaison série ou une liaison infrarouge) avec un second ZD logiciel "terminal de données", exécuté par une seconde machine. Au contraire, dans le cadre de la présente invention, il n'y a pas de seconde machine exécutant un second logiciel "terminal de données", mais un module de radiocommunication exécutant un programme téléchargement. En outre, quel que soit le support physique de communication la présente invention ne nécessite pas l'interposition de modems. Il existe plusieurs types de logiciels "terminaux de données", tels que notamment, mais non exclusivement : logiciel "Hyperterminal" (marque déposée), conçu pour un ordinateur type "PC" possédant un système d'exploitation de type "Windows" (marque déposée) ; logiciel "Minicom" (marque déposée), conçu pour ordinateur de type "PC" possédant un système d'exploitation de type "Linux" (marque déposée) ; le logiciel "Norton Commander" (marque déposée), conçu pour un ordinateur de type "PC" possédant un système d'exploitation de type "DOS" (marque déposée) ; etc. Tous ces logiciels "terminaux de données" peuvent communiquent selon un ou plusieurs protocoles de communication standard, tels que par exemple protocoles "X- MODEM", "Y-MODEM", "Z-MODEM", 'XERMIT", ... L'utilisation d'un tel programme de transfert de fichier standard présente plusieurs avantages. Tout d'abord, ce programme standard est compatible avec tous types de machines pouvant être utilisées comme équipements de mise ajour. En outre, il existe déjà plupart des machines (et notamment les micro-ordinateurs) pouvant être utilisés comme équipement de mise à jour. il est conçu pour communiquer sur plusieurs types supports physiques, à savoir généralement sur une liaison série ou une t, liaison infrarouge (IRDA). Enfin, il permet d'obtenir une meilleure fiabilité dans le déroulement l'opération de mise àjour. De façon avantageuse, ledit programme de téléchargement est stocké en C permanence dans une mémoire non volatile dudit module de radiocommunication. De cette façon, lors d'une mise à jour, seul le nouveau programme principal et/ou les nouvelles données sont téléchargées. Préférentiellement, ladite étape de lancement de l'exécution, par le module de radiocommunication, du programme de téléchargement est effectuée lorsqu'au moins une des conditions suivantes est vérifiée : un utilisateur a effectué une demande de mise à jour via une interface homme/machine associée, directement ou indirectement, audit module de radiocommun i cation ; un utilisateur a effectué une demande de mise à jour via interface homme/machine associée audit équipement de mise àjour ; lors d'une mise sous tension dudit module de radiocommuni cation, ledit programme principal est inutilisable ou inexistant. Il est à noter qu'aucune de ces variantes ne nécessite de la part l'utilisateur d'effectuer un redémarrage ("en interne") du module de radi ocomm uni cation, en maintenant la broche de réamorçage à la masse. En effet, la demande de redemarrage est faite soit par l'utilisateur, grâce à une interface homme/machine (cas première et seconde variantes), soit de façon automatique (cas de la troisième variante). Dans un mode de réalisation particulier de l'invention, ledit proce , comprend en outre l'étape suivante : redémarrage dudit module de radi ocommuni cation avec ledit nouveau programme principal et/ou lesdites nouvelles données, après que ladite étape de stockage a été effectuée. Un tel redémarrage, qui n'est pas systématique, est par exemple nécessaire afin de modifier la version exécutable du programme principal et/ou des données associées. Avantageusement, ladite étape de redémarrage est lancée lorsqu'au moins une des conditions suivantes est vérifiée : un utilisateur a effectué une demande de redémarrage via une interface homme/machine associée, directement ou indirectement, audit module de radi ocommuni cation ; un utilisateur a effectué une demande de redémarrage via une interface homme/machine associée audit équipement de mise à jour , ledit programme de téléchargement comporte une commande de redémarrage spontané, exécutée lorsqu'il arrive en fin d'exécution ledit programme de transfert de f ichier standard envoie une commande de redémarrage spontané audit module de radiocommunication lorsqu'il détecte la fin de l'envoi dudit nouveau programme principal et/ou desdites nouvelles données. Il est à noter qu'aucune de ces variantes ne nécessite de la part de l'utilisateur d'effectuer un redémarrage ("en externe") du module de radi ocommuni cati on, en maintenant la broche de réamorçage à la tension d'alimentation. En effet, la demande de redémarrage est faite soit par l'utilisateur, grâce à une interface homme/machine (cas des première et seconde variantes), soit de façon automatique, grâce à une commande de redémarrage spontané (cas des troisième et quatrième variantes). De façon préférentielle, ledit module de radi ocomm uni cation est compris dans un dispositif appartenant au groupe comprenant : les terminaux de radiocommuni cation les dispositifs, autres que les terminaux de radiocommuni cation, nécessitant une fonctionnalité de communication sans fil les modems. façon avantageuse, ledit programme de téléchargement peut communiquer avec ledit programme de transfert de fichier standard, selon ledit protocole de communication standard, par l'intermédiaire d'au moins un support physique appartenant au groupe comprenant : les liens série, les liens infrarouges, les liens radio, ... L'invention concerne également un module de radi ocommuni cati on du type pouvant communiquer avec un équipement de mise à jour afin d'effectuer une mise à jour programme principal exécuté par ledit module de radi ocommuni cati on, et/ou de données associées audit programme principal. Selon l'invention, ledit module de radi ocommuni cation comprend des moyens d'exécution d'un programme de téléchargement capable de communiquer, selon un protocole de communication standard, avec un programme de transfert de fichier standard, du type "terminal de données" exécuté par ledit équipement de mise àjour, de façon que ledit programme de transfert fichier standard envoie audit programme de téléchargement, selon ledit b protocole de communication standard, un nouveau programme principal et/ou de nouvelles données, et que ledit programme de téléchargement stocke dans une mémoire non volatile dudit module de radi ocomm uni cation ledit nouveau programme principal et/ou lesdites nouvelles données. D'autres caractéristiques et avantages de l'invention apparaîtront à la lecture de la description suivante d'un mode de réalisation préférentiel de l'invention, donné à titre d'exemple indicatif et non limitatif, et des dessins annexés, dans lesquels : la figure 1 illustre la technique actuelle (art antérieur) de mise à jour la figure 2 illustre un mode de réalisation particulier du procédé selon l'invention. La technique actuelle, telle qu'illustrée sur la figure 1, a déjà été discutée façon détaillée ci-dessus. On présente maintenant, en relation avec la figure 2, un mode de réalisation particulier du procédé selon l'invention de mise à jour d'un programme principal exécute par module de radiocommuni cation, et/ou de données associées à ce programme principal. Ceux des éléments de la figure 1 qui apparaissent également sur la figure conservent les mêmes références numériques (à savoir : 1, 2, 4, 5, 7, 9, 10, 11, et IT).. Dans un souci de simplification, on suppose que la mise à jour porte uniquement sur programme principal. Il est clair que les autres cas de mise à jour (donnees seulement, ou encore programme principal et données) se déduisent directement et aisément de ce qui suit. De façon classique, le programme principal 2 (courant) est stocké dans la mémoire flash ROM 11 du module de radiocommunication 1. L'objectif est de télécharger dans une mémoire non volatile du module (par exemple la mémoire flash 11) le nouveau programme principal 12. Ce dernier est préalablement stocké (IT) dans mémoire 9 associée à l'équipement de mise à jour 5. Selon l'invention, l'équipement de mise à jour 5 peut exécuter un programme de transfert de fichier standard 20, du type "terminal de données", permettant de communiquer selon un protocole de communication standard. Par exemple, si l'équipement 5 est un micro-ordinateur de type "PC" sous système d'exploitation "DOS , le programme standard 20 peut être le programme "Hyperterminal", et le protocole standard le protocole "X-modem". Il est clair cependant que d'autres types "terrninaux de données" peuvent être utilisés tout en restant dans le cadre de la présente invention. Par ailleurs, également selon l'invention, le module de radiocommuni cation 1 stocke permanence, dans sa mémoire flash ROM 11, un programme de téléchargement 21. Lorsqu'il est exécuté, ce dernier est conçu et développé de façon à pouvoir communiquer, selon le protocole de communication standard, avec le programme de transfert de fichier standard 20. par sa conception, le protocole de communication standard peut être supporté alternativement par plusieurs types de supports physiques, à savoir typiquement une liaison serie (RS 232) ou une liaison infrarouge (IRDA). Dans le mode de réalisation particulier dont le fonctionnement est illustré sur figure 2, ce procédé comprend les étapes suivantes : (a) lancement de l'exécution, par le module de radi ocommuni cation, programme de téléchargement 21 ; (b) envoi (23) par le programme de transfert de fichier standard 20 au programme de téléchargement 21, selon le protocole de communication standard, du nouveau programme principal 12 ; (c) stockage par le programme de téléchargement 2 1, dans la mémoire flash ROM 11 du module de radi ocomm uni cation 1, du nouveau programme principal 12 ; (d) redémarrage du module de radi ocommuni cation 1 avec le nouveau programme principal 12. L'étape (a) est par exemple effectuée lorsque l'utilisateur signale, grâce à une interface homme/machine (basée par exemple sur une commande AT), son intention de lancer une mise à jour. Par interface homme/machine, on entend par exemple possibilité pour l'utilisateur de naviguer (grâce à une ou plusieurs touches d'un clavier) au sein d'un (sous-)menu de mise à jour (affiché à l'écran), et d'y effectuer un choix lequel il demande le lancement d'une mise à jour. Cette interface homme/machine peut être celle de l'équipement de mise àjour 5 ou celle du module de radiocommuni cation 1. L'étape (a) peut également être effectuée si, lors d'une mise sous tension du module de radiocommunication, le programme principal 2 est inutilisable ou inexistant. Dans ce cas, le redémarrage est automatique, afin d'éviter une situation de blocage, dans laquelle le module de radioco mmu ni cation 1 ne pourrait jamais redémarrer. Ces deux possibilités de lancement de l'étape (a) peuvent éventuellement être cumulées sein d'un même module de radiocommunication. L'étape (d) est par exemple effectuée lorsque l'utilisateur demande, grace à une interface homme/machine (basée par exemple sur une commande AT), un redémarrage du module Par interface homme/machine, on entend par exemple la possibilité pour l'utilisateur d'appuyer sur une touche spécifique de redémarrage (ou touche "reset"). Cette interface homme/machine peut être celle de l'équipement de mise à jour 5 ou celle du module radiocommunication 1. L'étape (d) peut également être effectuée de façon automatique, si le programme de téléchargement 21 comporte une commande de redémarrage spontané, exécutée lorsqu'il arrive en fin d'exécution, ou encore si le programme de transfert de fichier standard 20 envoie une commande de redémarrage spontané au module de radiocommuni cation, lorsqu'il détecte la fin de l'envoi du nouveau programme principal 12. REVENDICATIONS Procédé de mise à jour d'un programme principal (2) exécuté par un module de radiocommunication (1), et/ou de données associées audit programme principal, ledit module de radiocommunication communiquant avec un équipement de mise à jour (5), caractérisé en ce que ledit procédé comprend les étapes successives suivantes : lancement de l'exécution, par ledit module de radi ocommuni cation d'un programme de téléchargement (21) capable de communiquer, selon un protocole de communication standard, avec un programme de transfert de fichier standard (20), du type "terminal de données", exécuté ledit équipement de mise àjour ; envoi par ledit programme de transfert de fichier standard (20) audit programme de téléchargement (21), selon ledit protocole de communication standard, d'un nouveau programme principal et/ou de nouvelles données ; stockage par ledit programme de téléchargement (21), dans une mémoire non volatile (l 1) dudit module de radiocommuni cation (1), dudit nouveau programme principal (12) et/ou desdites nouvelles données. Procédé selon la revendication 1, caractérisé en ce que ledit programme de 'léchargement (21) est stocké en permanence dans une mémoire non volatile (11) dudit module de radio communication (1). Procédé selon l'une quelconque des revendications 1 et 2, caractérisé en ce que ladite étape de lancement de l'exécution, par le module de radiocommuni cation (1), du programme de téléchargement (21) est effectuée lorsqu'au moins une des conditions suivantes est vérifiée : un utilisateur a effectué une demande de mise à jour via une interface homme/machine associée, directement ou indirectement, audit module de radi ocommuni cation (1) ; un utilisateur a effectué une demande de mise à jour via une interface homme/machine associée audit équipement de mise àjour (5) ; lors d'une mise sous tension dudit module de rad i ocommuni cation (1), ledit programme principal est inutilisable ou inexistant. 4. Procédé selon l'une quelconque des revendications 1 à caractérisé en ce qu'il comprend en outre l'étape suivante : redémarrage dudit module de radiocommunication (1) avec ledit nouveau programme principal (12) et/ou lesdites nouvelles données, après que ladite étape de stockage a été effectuée. 5. Procédé selon la revendication 4, caractérisé en que ladite étape de redémarrage est lancée lorsqu'au moins une des conditions suivantes est vérifiée : - un utilisateur a effectué une demande de redémarrage via une interface homme/machine associée, directement ou indirectement, audit module de radiocommuni cation (1) ; - un utilisateur a effectué une demande de redémarrage via une interface homme/machine associée audit équipement de mise àjour (5) , - ledit programme de téléchargement (21) comporte une commande de redémarrage spontané, exécutée lorsqu'il arrive en d'exécution ; - ledit programme de transfert de fichier standard (20) envoie une mmande de redémarrage spontané audit module de radi ocomm uni cation (1), lorsqu'il détecte la fin l'envoi dudit nouveau programme principal (12) et/ou desdites nouvelles données. 6. Procédé selon l'une quelconque des revendications 1 à --#, caractérisé en ce que ledit module radiocommuni cation (1) est compris dans un dispositif appartenant au groupe comprenant : terminaux de radi ocommuni cation , les dispositifs, autres que les terminaux de radiocommunication, nécessitant une fonctionnalité de communication sans fil les modems. 7. Procédé selon l'une quelconque des revendications 1 à 6, caractérisé en ce que ledit programme de téléchargement (21) peut communiquer avec ledit programme de transfert de fichier standard (20), selon ledit protocole de communication standard, par l'intermédiaire d'au moins un support physique appartenant au groupe comprenant: les liens série ; les liens infrarouges , les liens radio. 8. Module de radiocommuni cation (1), type pouvant communiquer avec un équipement de mise à jour (5) afin d'effectuer mise à jour d'un programme principal (2) exécuté par ledit module de radi ocommuni cation, et/ou de données associées audit programme principal, caractérisé en ce qu'il comprend des moyens d'exécution d'un programme de téléchargement (21) capable de communiquer, selon un protocole de communication standard, avec un programme de transfert de fichier standard (20), du type "terminal de données", exécuté par ledit équipement de mise ajour (5), de façon que ledit programme de transfert de fichier standard (20) envoie audit programme de téléchargement (2 1), selon ledit protocole de communication standard, un nouveau programme principal (12) et/ou de nouvelles données, et que ledit programme de téléchargement (2 1) stocke dans une mémoire non volatile (11) dudit module de radiocom muni cation (1) ledit nouveau programme principal et/ou lesdites nouvelles données.