Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD FOR RETRIEVING THE OPERATING SYSTEM OF AN APPARATUS FROM A WORK MEMORY, AND APPARATUS FOR IMPLEMENTING THE INVENTION
Document Type and Number:
WIPO Patent Application WO/2010/055037
Kind Code:
A1
Abstract:
The invention relates to an electronic apparatus having a central unit and a work memory containing an operating system. During power-up, a code stored in the apparatus is tested so as to determine whether the program is directly executable in work memory, or if it must be downloaded from a non-volatile memory internal to the apparatus. An exterior command received by the apparatus initializes the value of said code. The command may be either directly entered by the user, or received from a network. According to an enhancement, even if the value of the code specifies that no downloading needs to be performed, at the end of a certain number of on and off cycles of the apparatus, the program is downloaded from the non-volatile memory. The present invention also relates to an apparatus implementing the method.

Inventors:
GUILLOT PHILIPPE (FR)
FOUQUE CLAUDE (FR)
BASSI THIERRY (FR)
Application Number:
PCT/EP2009/064914
Publication Date:
May 20, 2010
Filing Date:
November 10, 2009
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
THOMSON LICENSING (FR)
GUILLOT PHILIPPE (FR)
FOUQUE CLAUDE (FR)
BASSI THIERRY (FR)
International Classes:
G06F9/445
Foreign References:
US20040098578A12004-05-20
US20020062455A12002-05-23
US7054937B12006-05-30
EP1852780A12007-11-07
US20030097598A12003-05-22
Other References:
GARG S ET AL: "A methodology for detection and estimation of software aging", SOFTWARE RELIABILITY ENGINEERING, 1998. PROCEEDINGS. THE NINTH INTERNA TIONAL SYMPOSIUM ON, PADERBORN, GERMANY 4-7 NOV. 1998, LOS ALAMITOS, CA, USA, IEEE COMPUT. SOC, US, 4 November 1998 (1998-11-04), pages 283 - 292, XP010314181, ISBN: 978-0-8186-8991-8
Attorney, Agent or Firm:
BENEZETH, Philippe et al. (FR)
Download PDF:
Claims:
Revendications

1. Procédé pour contrôler le téléchargement (2.4, 2.5) du système d'exploitation d'un appareil (1 ) d'une mémoire non-volatile (9) dans une mémoire de travail (12) lors de la mise en marche dudit appareil ; caractérisé en ce qu'il comporte une étape d'introduction (2.7, 2.8) d'une commande initialisant la valeur d'un code dans une mémoire non-volatile, une valeur du code déclenchant lors de l'arrêt de l'appareil (1 ) la coupure de l'alimentation électrique permettant de conserver le contenu de la mémoire de travail et déclenchant le téléchargement (2.4, 2.5) du système d'exploitation, une autre valeur du code activant le maintien de l'alimentation permettant de conserver le contenu de la mémoire de travail lors de l'arrêt de l'appareil (1 ) et inhibant le téléchargement (2.4, 2.5) du système d'exploitation.

2. Procédé pour contrôler le téléchargement d'un système d'exploitation d'un appareil selon la revendication 1 ; caractérisé en ce que la réception de la commande extérieure s'effectue par une action manuelle de l'utilisateur de l'appareil (1 ).

3. Procédé pour contrôler le téléchargement d'un système d'exploitation d'un appareil selon la revendication 1 ou 2; caractérisé en ce que la commande extérieure est transmise par un réseau connecté à l'appareil.

4. Procédé pour contrôler le téléchargement d'un système d'exploitation d'un appareil selon l'une quelconque des revendications précédentes; caractérisé en ce qu'il comporte une étape de comptabilisation des cycles d'allumage et d'extinction de l'appareil (1 ), quelque soit la valeur du code mémorisé, le contenu à écrire dans la mémoire de travail (12) est téléchargé de la mémoire non-volatile (9) lorsque le nombre de cycles atteint une valeur de seuil.

5. Procédé pour contrôler le téléchargement d'un système d'exploitation d'un appareil selon la revendication 4 ; caractérisé en ce que lorsque le nombre de cycles atteindra la valeur de seuil lors de la prochaine mise sous tension, la coupure de l'alimentation électrique permettant de conserver le contenu de la mémoire de travail est effectuée à la prochaine extinction de l'appareil.

6. Procédé pour contrôler le téléchargement d'un système d'exploitation d'un appareil selon l'une quelconque des revendications précédentes; caractérisé en ce que le système d'exploitation est sous forme compressé dans la mémoire non volatile (9) ; lors de la mise en marche de l'appareil et si la valeur du code mémorisé dans l'appareil déclenche le téléchargement du système d'exploitation de la mémoire non-volatile (9) alors le système d'exploitation est d'abord décompressé (2.5) puis est écrit dans la mémoire de travail (12).

7. Appareil électronique (1 ) doté d'une unité centrale (3) capable d'exécuter un système d'exploitation téléchargé dans une mémoire de travail (12) lors de la mise en marche de l'appareil ; caractérisé en ce qu'il comporte un moyen d'introduction d'une commande initialisant la valeur d'un code dans une mémoire non-volatile, un moyen de téléchargement (3, 13) du système d'exploitation d'une mémoire non volatile (9) vers la mémoire de travail (12), et un moyen de réception (3, 12, 4 ; 3, 12, 7, 8) et de mémorisation d'un code extérieur, une valeur du code déclenchant lors de l'arrêt de l'appareil (1 ) la coupure de l'alimentation électrique permettant de conserver le contenu de la mémoire de travail et déclenchant le téléchargement (2.4, 2.5) du système d'exploitation, une autre valeur du code activant le maintien de l'alimentation permettant de conserver le contenu de la mémoire de travail lors de l'arrêt de l'appareil (1 ) et inhibant le téléchargement (2.4, 2.5) du système d'exploitation.

8. Appareil électronique (1 ) selon la revendication 7 ; caractérisé en ce que la commande initialisant la valeur d'un code dans une mémoire non-

. volatile est introduite manuellement par le moyen d'introduction d'une commande

9. Appareil électronique (1 ) selon la revendication 7 ; caractérisé en ce que la commande initialisant la valeur d'un code dans une mémoire non- volatile est reçue d'un réseau connecté à l'appareil.

10. Appareil électronique (1 ) selon l'une quelconque des revendications 7 à 9; caractérisé en ce qu'il comporte un compteur de cycles d'allumage et d'extinction de l'appareil (1 ), quelque soit la valeur du code mémorisé, le contenu à écrire dans la mémoire de travail (12) est téléchargé de la mémoire non-volatile (9) lorsque le nombre de cycles atteint une valeur de seuil.

1 1. Appareil électronique (1 ) selon la revendication 10 ; caractérisé en ce que lorsque le nombre de cycles lu du compteur atteindra la valeur de seuil lors de la prochaine mise sous tension, la coupure de l'alimentation électrique permettant de conserver le contenu de la mémoire de travail est effectuée à la prochaine extinction de l'appareil.

12. Appareil électronique (1 ) selon l'une quelconque des revendications 7 à 1 1 ; caractérisé en ce que le système d'exploitation est sous forme compressé dans la mémoire non volatile (9) ; lors de la mise en marche de l'appareil et si la valeur du code mémorisé dans l'appareil déclenche le moyen de téléchargement (3, 13) du système d'exploitation, alors le système d'exploitation est d'abord décompressé (2.5) puis est écrit dans la mémoire de travail (12).

Description:
Procédé pour restituer le système d'exploitation d'un appareil dans une mémoire de travail, et appareil pour la mise en œuvre de l'invention.

La présente invention concerne un procédé pour restituer le système d'exploitation d'un appareil dans une mémoire de travail, et appareil pour la mise en œuvre de l'invention.

De nos jours, de nombreux appareils permettent la réception et la reproduction d'œuvres audiovisuelles. Ces appareils sont dotés d'une unité centrale exécutant un système d'exploitation. Le système d'exploitation est un programme permettant à l'appareil de fonctionner au moment de son allumage, il lance les différentes applications logicielles à la demande de l'utilisateur. Le système d'exploitation peut être stocké dans une mémoire non volatile et non réinscriptible, dans ce cas elle est protégée de toutes altérations accidentelles ou malveillantes. Mais, la mémoire ne peut être mise à jour car elle conserve toujours le même contenu. Avec la diminution du prix de la mémoire, il est devenu possible de mémoriser le système d'exploitation dans une mémoire RAM. Par exemple, un ordinateur personnel lit le système d'exploitation dans le disque dur, le duplique dans la mémoire RAM et lance son exécution. La mise à jour peut s'effectuer en remplaçant l'ancien contenu du disque dur par un nouveau. De sorte qu'à la prochaine mise sous tension, c'est ce nouveau contenu qui sera chargé et exécuté. Dans le cas de décodeurs audiovisuels, le système d'exploitation est généralement stocké dans une mémoire Flash. Le système d'exploitation et les données d'utilisation sont reçus via le réseau de diffusion, ou à travers une connexion bidirectionnelle. Ce téléchargement permet de mettre à jour le système. Pour optimiser de la bande passante et minimiser la taille de la mémoire Flash, le système d'exploitation est diffusé et écrit dans la mémoire flash sous une forme compressée. Ainsi, la taille de la mémoire Flash est d'au moins la moitié de celle de la mémoire RAM. L'inconvénient d'un tel mode de stockage est qu'au moment de la mise sous tension, le logiciel résident dans l'appareil doit lire le contenu de la mémoire Flash, décompresser ce contenu et l'écrire dans la mémoire RAM. Cette opération prend un moment assez long, de 40 secondes à une minute avec les décodeurs actuels. Au cours de ce temps, l'utilisateur ne peut disposer de son appareil.

Le document US 2004/098578 publié le 20 mai 2004 décrit le rechargement d'un système lors de l'extinction et du rallumage d'un PC. Pour accélérer le démarrage, un programme de BOOT est lancé à la mise sous tension pour initialiser les registres des différents composants avec des valeurs correctes. Lors de l'extinction, l'appareil détermine si le programme de BOOT sera lancé lors du prochain allumage. Dans ce document, la mémoire n'est pas sauvegardée.

Le document US 2002/062455 publié le 23 Mai 2002 décrit la gestion du rechargement du système d'exploitation lors du rallumage d'un ordinateur. La mémoire de travail est sauvegardée. Lors de l'initialisation, si l'appareil détecte la présence d'une certaine valeur dans la mémoire alors il considère que la mémoire n'a pas perdu son contenu, et donc il n'est pas utile de lancer la routine d'initialisation POST.

Le document GARG intitulé « A methodology for détection and estimation of software aging" et publié le 4 novembre 1998, décrit le rechargement de données dans des appareils relies à des réseaux en cas de pannes ou de corruption des données.

La présente invention permet de réduire dans certaines circonstances le temps de mise en route de l'appareil, afin que l'utilisateur puisse plus rapidement l'utiliser.

Un des objets de la présente invention est un procédé pour contrôler le téléchargement du système d'exploitation d'un appareil d'une mémoire non-volatile dans une mémoire de travail lors de la mise en marche dudit appareil ; caractérisé en ce qu'il comporte une étape d'introduction d'une commande initialisant la valeur d'un code dans une mémoire non-volatile, une valeur du code déclenchant lors de l'arrêt de l'appareil la coupure de l'alimentation électrique permettant de conserver le contenu de la mémoire de travail et déclenchant le téléchargement du système d'exploitation, une autre valeur du code activant le maintien de l'alimentation permettant de conserver le contenu de la mémoire de travail lors de l'arrêt de l'appareil et inhibant le téléchargement du système d'exploitation.

De cette façon, il est possible d'activer ou d'inhiber de l'extérieur la fonction de téléchargement d'un système d'exploitation lors de la mise en marche d'un appareil. En choisissant d'exécuter ou non ce téléchargement, on peut limiter le temps pour rendre opérationnel l'appareil. Si la valeur du code mémorisé dans l'appareil ne déclenche pas le téléchargement du système d'exploitation de la mémoire non-volatile alors la mémoire de travail reste alimentée lors de l'extinction de l'appareil. De cette manière, le système d'exploitation dans la mémoire de travail est exécuté sans téléchargement lors de la mise en marche. Ainsi, à la mise en marche, l'appareil retrouve intégralement le contexte d'exécution qu'il possédait lors de l'extinction.

Selon un autre perfectionnement, l'utilisateur introduit manuellement la commande extérieure qui positionne le code permettant de déclencher ou non le téléchargement. Ainsi l'utilisateur peut localement paramétrer son appareil. Selon une variante, la commande extérieure est transmise par un réseau connecté à l'appareil. Ainsi, le fabriquant de l'appareil, son distributeur ou tout autre serveur distant peut paramétrer l'appareil.

Selon un autre perfectionnement, l'appareil comptabilise les cycles d'allumage et d'extinction, et quelque soit la valeur du code mémorisé, le contenu à écrire dans la mémoire de travail est téléchargé de la mémoire non-volatile lorsque le nombre de cycles atteint un seuil. Ainsi, au bout d'un certain nombre d'utilisation, une mise à jour du système d'exploitation est effectuée avec la version sauvegardée en mémoire non volatile.

Selon un autre perfectionnement, lorsque le nombre de cycles va atteindre la valeur de seuil lors de la prochaine mise sous tension, lors de la prochaine extinction, l'appareil coupe l'alimentation électrique permettant de conserver le contenu de la mémoire de travail. De cette façon, la mémoire de travail n'est pas inutilement sauvegardée puisque dans ce cas, on n'utilise pas son contenu lors de la prochaine mise sous tension. Selon un autre perfectionnement, le système d'exploitation est sauvegardé sous forme compressé dans la mémoire non volatile. Lors de la mise en marche de l'appareil et si la valeur du code mémorisé dans l'appareil déclenche le téléchargement du système d'exploitation de la mémoire non-volatile alors le système d'exploitation est d'abord décompressé puis est écrit dans la mémoire de travail. De cette façon, le système d'exploitation occupe moins de place dans la mémoire non volatile.

Un autre objet de la présente invention est un appareil électronique doté d'une unité centrale capable d'exécuter un système d'exploitation téléchargé dans une mémoire de travail lors de la mise en marche de l'appareil ; caractérisé en ce qu'il comporte un moyen d'introduction d'une commande initialisant la valeur d'un code dans une mémoire non-volatile, un moyen de téléchargement du système d'exploitation d'une mémoire non volatile vers la mémoire de travail, et un moyen de réception et de mémorisation d'un code extérieur, une valeur du code déclenchant lors de l'arrêt de l'appareil la coupure de l'alimentation électrique permettant de conserver le contenu de la mémoire de travail et déclenchant le téléchargement du système d'exploitation, une autre valeur du code activant le maintien de l'alimentation permettant de conserver le contenu de la mémoire de travail lors de l'arrêt de l'appareil et inhibant le téléchargement du système d'exploitation.

D'autres caractéristiques et avantages de la présente invention ressortiront de la description des exemples de réalisation qui vont suivre, pris à titre d'exemples non limitatifs, en référence aux figures annexées dans lesquelles :

La figure 1 est un diagramme bloc d'un récepteur audiovisuel pour la mise en œuvre de l'invention, La figure 2 montre les principales étapes du procédé lors de la mise en marche de l'appareil selon un exemple de réalisation,

La figure 3 montre les principales étapes du procédé lors de l'extinction de l'appareil selon un exemple de réalisation, La figure 4 montre les principales étapes du procédé lors de la mise en marche de l'appareil selon une variante de réalisation.

On décrira tout d'abord le fonctionnement d'un appareil électronique 1 disposant d'une unité centrale 3 et d'une mémoire de travail 12 contenant un programme exécutable. Selon un exemple préféré de réalisation, l'appareil 1 est un récepteur audiovisuel relié à un dispositif d'affichage 2. L'unité centrale 3 est reliée à une mémoire de travail 12, une interface 5 pour la communication avec un bus numérique à haut débit 6 et un moyen de réception 4 de signaux provenant d'un réseau de diffusion. La mémoire de travail 12 peut être de type SRAM, DRAM, SDRAM ou tout type, sa caractéristique réside dans le fait que mise hors tension, son contenu est perdu. Le réseau numérique 6 permet notamment de transmettre des données audio/vidéo en temps réel. Ce réseau est par exemple un réseau IEEE 1394 ou un bus USB permettant de communiquer avec un ordinateur. Le moyen de réception 4 comporte un syntoniseur (ou « tuner » en langue Anglaise) et un démodulateur pour recevoir des données analogiques et/ou numériques, par exemple des images ou des informations de service, d'un réseau de diffusion à travers une antenne de réception. Le récepteur 1 comprend en outre un récepteur de signaux infrarouges 7 pour recevoir les signaux d'une télécommande 8, une mémoire 9 pour le stockage des données téléchargées, et une logique de décodage audio/vidéo 10 pour la génération des signaux audiovisuels envoyés à l'écran de télévision 2. Selon un exemple préféré de réalisation, la mémoire 9 est un circuit Flash, dont la capacité à la date du dépôt de la présente demande est de 16 Moctets. Selon une variante, la mémoire 9 est un disque dur de grande capacité permettant de sauvegarder des programmes exécutables et des documents audiovisuels. Le récepteur 1 comprend également un circuit 1 1 d'affichage de données sur l'écran, appelé souvent circuit OSD, de l'Anglais "On Screen Display" (signifiant littéralement "affichage sur l'écran"). Le circuit OSD 1 1 est un générateur de texte et de graphisme qui, sous le contrôle d'un programme exécutable, affiche à l'écran des menus, des pictogrammes (par exemple, un numéro correspondant à la chaîne visualisée) et qui permet d'afficher les menus de configuration. Le bus numérique 6 et/ou le réseau de diffusion transmettent au récepteur 1 de données telles que des mises à jour logicielles, des commandes et des documents audiovisuels

Afin de permettre l'évolution et la mise à jour du système d'exploitation du récepteur 1 , il est avantageux de ne pas le sauvegarder dans une mémoire non modifiable (une mémoire ROM par exemple) mais plutôt dans une mémoire réinscriptible. Mais, les programmes enregistrés dans la mémoire 9 ne peuvent s'exécuter directement à cause du temps d'accès aux données stockées dans la mémoire 9, ceci est d'autant plus évident si la mémoire 9 est un disque dur. Un programme de lancement (appelé « Bootstrap ») inscrit dans une mémoire ROM 13 est lancé à la mise sous tension, il lit le contenu d'une zone déterminée du disque dur 9, écrit le contenu dans la mémoire de travail 12 et lance le programme à partir de cette mémoire. De cette façon, le système d'exploitation est téléchargé et implémenté dans la mémoire de travail 12, pour y être exécuté. Le système d'exploitation initialise alors l'ensemble des circuits du récepteur, puis les applications de haut niveau sont chargées et prennent la main.

La lecture du système d'exploitation à partir d'une mémoire non volatile telle qu'une mémoire Flash ou un disque dur et son écriture en mémoire de travail peut durer un certain temps, surtout si la taille est importante et si le système d'exploitation est mémorisé sous une forme compressé. Il est donc avantageux de permettre à l'utilisateur de réduire ce temps.

La présente invention offre notamment à l'utilisateur la possibilité de choisir entre un chargement traditionnel à partir d'une mémoire non-volatile, ou une exécution plus rapide consistant à lancer le programme à partir de la mémoire de travail 12.

Après avoir décrit les différents éléments de l'invention, nous allons maintenant expliquer comment ceux-ci coopèrent, par un exemple de réalisation.

Un schéma de principe illustrant un exemple de réalisation du procédé de téléchargement est donné à la figure 2. Dans un premier temps (étape 2.1 ), le récepteur est mis en marche. Le programme Bootstrap, implémenté dans la mémoire non volatile et non réinscriptible 13 lit, à l'étape 2.2 la valeur d'un drapeau en mémoire non volatile 9. Une valeur de ce drapeau spécifie que le système d'exploitation est directement exécutable dans la mémoire de travail 12. Si le test du drapeau (étape 2.3) montre que le système d'exploitation n'est pas en mémoire de travail, alors à l'étape 2.4, le programme lit le contenu de la mémoire non volatile, typiquement une mémoire Flash. Généralement, le contenu est mis sous forme compressé de façon à pouvoir au moins diviser par deux la taille du composant et ainsi baisser son coût. Dans ce cas, le contenu lu est décompressé avant d'être écrit dans la mémoire de travail 12 (étape 2.5). Si, à l'étape 2.3, le test montre que le système d'exploitation est déjà en mémoire de travail, alors ces dernières opérations ne sont pas effectuées. Dans les deux cas, le programme dans la mémoire de travail 12 est exécutée (étape 2.6).

Plus tard, l'utilisateur peut activer un menu permettant d'accéder à des commandes de paramétrage de son appareil. Le menu affiche un message du type « autorisez-vous le maintien du système sous tension lors de l'arrêt de votre appareil, afin de diminuer le temps de réveil ». En fait, si l'utilisateur répond par l'affirmative, seule la mémoire de travail est maintenue sous tension, de façon à consommer le moins d'énergie possible. A l'étape 2.7, l'utilisateur introduit une commande à l'aide de sa télécommande 8 qui a pour effet d'initialiser le code en mémoire non volatile à une certaine valeur (étape 2.8). Typiquement, ce code peut prendre deux valeurs « 0 » ou « 1 ». Si la valeur est « 1 », alors à chaque mise en marche, l'appareil n'a pas besoin de recharger le système d'exploitation de la mémoire Flash, car celui-ci est déjà pleinement opérationnel en mémoire de travail 12. Si plus tard, l'utilisateur rappelle ce menu, le message affiché dépendra de la valeur du code mémorisé et proposera de le mettre à « 0 » pour qu'à chaque mise en marche, le système d'exploitation soit rechargé à partir de la mémoire non volatile. L'introduction d'une nouvelle commande validera ce choix. De même que pour sa mise en marche, le comportement de l'appareil 1 dépend de la valeur du code lors de son extinction. La figure 3 présente un ordinogramme des principales étapes concernées par la gestion du système d'exploitation lors de l'extinction de l'appareil. L'utilisateur décide d'éteindre son appareil (étape 3.1 ). A l'étape 3.2, le programme exécutable o teste la valeur du code mémorisé. Si le code est à « 1 », alors l'alimentation de la mémoire de travail est maintenue tout au long de l'arrêt de l'appareil (étape 3.3). Cette action est nécessaire de façon que lors de la prochaine mise en marche, la mémoire de travail ait conservé le système d'exploitation sans aucune altération. Si en revanche, le code lu à l'étape 3.2 est à « 0 », il n'est pas nécessaire de maintenir l'alimentation de la mémoire de travail pendant l'arrêt de l'appareil.

Selon un perfectionnement, lorsque le code est à « 1 », un test d'intégrité est effectué sur le système d'exploitation en mémoire de travail de manière à s'assurer qu'il est toujours fonctionnel. Si le test s'avère négatif, alors un téléchargement du système d'exploitation à partir de la mémoire Flash est lancé. Eventuellement, un message est affiché momentanément afin d'informer l'utilisateur qu'il y a eu une défaillance dans le fonctionnement de la mémoire de travail. Au cours du fonctionnement de l'appareil 1 , le système d'exploitation peut subir des fragmentations qui vont diminuer ses performances. Selon un autre perfectionnement, illustré par la figure 4, les cycles d'allumage et d'extinction de l'appareil sont comptabilisés à l'aide d'un compteur dont la valeur évolue dans une mémoire constamment sauvegardée et lorsque le nombre de cycles atteint une certaine valeur de seuil, le système d'exploitation est lu de la mémoire non-volatile 9 afin d'être de nouveau stocké dans la mémoire de travail 12. L'ordinogramme de la figure 2 est modifié pour faire apparaître, à l'étape 4.1 , un test consistant à comparer la valeur d'un compteur de mise en marche avec une valeur de seuil. En effet, l'expérience montre qu'au bout de 10 cycles d'allumage et d'extinction, le système d'exploitation en mémoire de travail s'est éparpillé, ce qui allonge le temps de certains calculs. Dans ce cas, (étape 4.2) le compteur est mis à zéro et les étapes 2.4 et 2.5 de lecture de la mémoire Flash et d'écriture de son contenu en mémoire de travail, sont effectuées. Dans ce cas également, lorsque la valeur de seuil sera atteinte à la prochaine mise sous tension, l'appareil peut mettre hors tension la mémoire RAM lors de la prochaine extinction. Sinon, le compteur est incrémenté (étape 4.3) et le système d'exploitation est directement lancé de la mémoire de travail. De cette façon, on peut s'assurer qu'au bout d'un certain nombre d'allumages, le système d'exploitation tel que le constructeur l'a prévu en mémoire non volatile est bien implémenté dans l'appareil. Une variante de fonctionnement consiste à forcer le téléchargement de la mémoire Flash lors d'intervalle de temps régulier, tous les quinze jours par exemple. Il suffit alors de mémoriser la date du dernier téléchargement en mémoire non volatile, et de tester si l'intervalle temporel entre ce moment et celui présent donné par exemple, à l'aide d'une horloge interne, ne dépasse pas quinze jours.

Il est écrit précédemment que l'utilisateur dispose d'une interface utilisateur pour changer la valeur du code en mémoire non volatile. Selon une variante, une commande pour initialiser la valeur du code est reçue via le réseau, en provenance d'un serveur de commande contrôlé par exemple, par le diffuseur de programmes, ou le distributeur des appareils. Le réseau peut être soit le réseau de diffusion, et dans ce cas la commande est reçu à travers le syntoniseur 4, soit le bus numérique 6 et dans ce cas, la commande est transmise au cours d'une communication bidirectionnelle avec un serveur. Lorsque la valeur du code est initialisée à distance, un message est affiché afin d'informer l'utilisateur de sa mise à jour et d'indiquer son état.

Des personnes versées dans l'art pourront adapter la présente invention sous de nombreuses autres formes spécifiques sans l'éloigner du domaine d'application de l'invention comme revendiqué. En particulier, l'appareil électronique peut être tout appareil disposant d'une mémoire de travail dans lequel un programme exécutable est téléchargé. Par conséquent, les présents modes de réalisation doivent être considérés à titre d'illustration mais peuvent être modifiés dans le domaine défini par la portée des revendications jointes.