Brevet FR2940692A1 — publié le 20100702

SYSTEME ET PROCEDE DE MISE A JOUR DE MICROPROGRAMMES ET PROCEDE DE CREATION DE MICROPROGRAMMES La présente invention concerne de manière générale des techniques de mise à jour de microprogrammes, et plus particulièrement, un système et un procédé de mise à jour de microprogrammes, et un procédé de création de microprogrammes de sorte que, en cas d'échec d'une opération de mise à jour de microprogrammes, des microprogrammes utilisables sont disponibles pour faciliter la mise à jour ultérieure des microprogrammes. En ce qui concerne divers produits informatiques actuels, comme des lecteurs de CD-ROM et des modems, des microprogrammes sont généralement utilisés pour démarrer le matériel et s'exécuter. Des dispositifs pouvant être mis à jour comme des mémoires non volatiles (ROM flash ou EEPROM) ont été utilisés pour stocker des microprogrammes. A la différence de leurs prédécesseurs, les opérations de mise à jour de microprogrammes ne sont pas effectuées par les fabricants, mais par les utilisateurs sur un réseau à partir duquel des programmes de mise à jour de microprogrammes sont téléchargés par les utilisateurs pour effectuer les opérations de mise à jour de microprogrammes. Généralement, les fabricants fournissent des fichiers de mise à jour de microprogrammes à des extrémités de serveur du réseau pour que les utilisateurs les téléchargent. Après le téléchargement des fichiers de mise à jour de microprogrammes du réseau, les utilisateurs écrivent les fichiers de mise 2 à jour de microprogrammes téléchargés dans des mémoires de stockage de microprogrammes, en utilisant les programmes de mise à jour de microprogrammes, de manière à se superposer sur les microprogrammes d'origine. Pour effectuer les opérations susmentionnées de mise à jour de microprogrammes, les ordinateurs des utilisateurs doivent être sous tension et ils doivent exécuter des systèmes d'exploitation comme DOS, Windows ou Linux. Néanmoins, une anomalie comme une coupure de courant peut survenir au cours d'une opération de mise à jour de microprogrammes, en provoquant de ce fait des erreurs imprévues dans la mise à jour de microprogrammes. De plus, une erreur existant dans des systèmes d'exploitation comme Windows et Linux peut provoquer une anomalie, par exemple un système redémarre soudainement au cours d'une opération de mise à jour de microprogrammes, en provoquant de ce fait des erreurs imprévues dans la mise à jour de microprogrammes. Dans le cas où une anomalie se produit pendant une opération de mise à jour de microprogrammes effectuée sur des microprogrammes stockés dans un dispositif (par exemple, des lecteurs de CD-ROM) ou dans un système, le dispositif ou le système ne peut pas continuer à fonctionner parce que les microprogrammes d'origine stockés à l'intérieur de celui-ci ont été superposés et supprimés. Par conséquent, les fichiers de mise à jour téléchargés par les utilisateurs sur le réseau ne peuvent pas être écrits sur le dispositif ou le système 3 à nouveau. Au lieu de cela, le dispositif ou le système doit être réparé et mis à jour par les fabricants, ce qui s'accompagne de désagréments pour les utilisateurs et fabricants. Par conséquent, conformément à la tendance de mise à jour de microprogrammes par les utilisateurs, il y a un besoin de fournir une technique de mise à jour de microprogrammes et une technique de création de microprogrammes de sorte que, même si une anomalie survient au cours d'une opération de mise à jour de microprogrammes effectuée sur des microprogrammes stockés dans un dispositif ou un système, le dispositif ou le système peut effectuer la mise à jour de microprogrammes au cours d'opérations de suivi. Pour résoudre les inconvénients susmentionnés, la présente invention propose un système et un procédé de mise à jour de microprogrammes et un procédé de création de microprogrammes à utiliser avec le système de mise à jour de microprogrammes de sorte que, même si une anomalie survient au cours d'une opération de mise à jour de microprogrammes effectuée sur des microprogrammes stockés dans un dispositif ou un système, le dispositif ou le système peut effectuer la mise à jour de microprogrammes dans des opérations de suivi. Pour réaliser les objets ci-dessus et d'autres objets, la présente invention propose un système de mise à jour de microprogrammes à utiliser avec un dispositif électronique. Le système comprend : un module de stockage de microprogrammes disposé dans le dispositif électronique pour au moins stocker un 4 premier microprogramme et un deuxième microprogramme, dans lequel le premier microprogramme et le deuxième microprogramme ont chacun des données de fichier d'en-tête d'image qui comprennent au moins des informations de somme de contrôle de redondance cyclique et des informations de temps de création de fichier d'en-tête d'image, un module de réception pour recevoir une instruction d'exécution de mise à jour de microprogrammes de manière à obtenir de nouveaux microprogrammes, un module de détermination pour recevoir l'instruction d'exécution de mise à jour de microprogrammes de manière à déterminer si le nouveau microprogramme obtenu par le module de réception a une anomalie en fonction des informations de somme de contrôle de redondance cyclique de celui-ci, si oui, l'opération de mise à jour de microprogramme est terminée, sinon, le module de détermination détermine en outre si le premier microprogramme et le deuxième microprogramme ont une anomalie en fonction des informations de somme de contrôle de redondance cyclique de ceux-ci stockées dans le module de stockage de microprogrammes, si l'un du premier microprogramme et du deuxième microprogramme a l'anomalie, le microprogramme subissant l'anomalie est verrouillé en tant que microprogramme cible, si le premier microprogramme et le deuxième microprogramme sont tous les deux dépourvus d'anomalie, les informations de temps de création de fichier d'en-tête d'image du premier microprogramme sont comparées à celles du deuxième microprogramme de sorte que le microprogramme avec le temps de création de fichier d'en-tête d'image antérieur soit verrouillé en tant que microprogramme cible, sinon, si le premier microprogramme et le deuxième microprogramme subissent une anomalie, l'opération de mise à jour de microprogramme est 5 terminée, et un module de mise à jour qui remplace le microprogramme cible verrouillé par le module de détermination par le nouveau microprogramme, de manière à achever l'opération de mise à jour de microprogrammes. Le système de mise à jour de microprogrammes comprend en outre un module d'exécution de microprogrammes pour ré-exécuter les microprogrammes exécutables du dispositif électronique. Avant que le module d'exécution de microprogrammes ne ré-exécute les microprogrammes exécutables, le module de détermination détermine si le premier microprogramme et le deuxième microprogramme après l'opération de mise à jour de microprogrammes ont une anomalie d'après les informations de somme de contrôle de redondance cyclique du premier microprogramme et du deuxième microprogramme stockés dans le module de stockage de microprogrammes, si l'un du premier microprogramme et du deuxième microprogramme a une anomalie, le microprogramme dépourvu d'anomalie est verrouillé en tant que microprogramme exécutable, si le premier microprogramme et le deuxième microprogramme sont tous les deux dépourvus d'anomalie, les informations de temps de création de fichier d'en-tête d'image du premier microprogramme sont comparées à celles du deuxième microprogramme de sorte que le microprogramme avec le temps de création de fichier d'en-tête d'image postérieur est verrouillé en tant que 6 microprogramme exécutable, sinon, si le premier microprogramme et le deuxième microprogramme subissent tous les deux une anomalie, le démarrage du système est terminé. La présente invention propose en outre un procédé de mise à jour de microprogrammes d'un dispositif électronique, dans lequel le dispositif électronique a un module de stockage de microprogrammes qui au moins stocke un premier microprogramme et un deuxième microprogramme, dans lequel le premier microprogramme et le deuxième microprogramme ont chacun des données de fichier d'en-tête d'image comprenant au moins des informations de somme de contrôle de redondance cyclique et des informations de temps de création de fichier d'en-tête d'image. Le procédé de mise à jour de microprogrammes comprend les étapes consistant : à obtenir de nouveaux microprogrammes à la réception d'une instruction d'exécution d'une mise à jour de microprogrammes, à contrôler les informations de somme de contrôle de redondance cyclique des nouveaux microprogrammes à la recherche d'une erreur, et à passer à l'étape suivante à la détermination que les informations de somme de contrôle de redondance cyclique des nouveaux microprogrammes sont dépourvues d'erreur, à déterminer si le premier microprogramme et le deuxième microprogramme ont une anomalie d'après les informations de somme de contrôle de redondance cyclique du premier microprogramme et du deuxième microprogramme de manière à verrouiller, à la détermination de la présence de l'anomalie dans l'un du 7 premier microprogramme et du deuxième microprogramme, le microprogramme subissant une anomalie en tant que microprogramme cible, à comparer, à la détermination de l'absence d'anomalie dans le premier microprogramme et dans le deuxième microprogramme, les informations de temps de création de fichier d'en-tête d'image du premier microprogramme à celles du deuxième microprogramme de manière à définir le microprogramme cible en verrouillant le premier microprogramme ou le deuxième microprogramme qui a le temps de création de fichier d'en-tête d'image antérieur, et à terminer l'opération de mise à jour de microprogrammes à la détermination de la présence de l'anomalie dans le premier microprogramme et dans le deuxième microprogramme et à remplacer le microprogramme cible verrouillé par le nouveau microprogramme, ce qui achève l'opération de mise à jour de microprogrammes du dispositif électronique. Le procédé décrit ci-dessus comprend en outre les étapes consistant à : après le remplacement du microprogramme cible verrouillé par le nouveau microprogramme, redémarrer le dispositif électronique et déterminer si le premier microprogramme et le deuxième microprogramme ont une anomalie d'après les informations de somme de contrôle de redondance cyclique de ceux-ci, si l'un du premier microprogramme et du deuxième microprogramme a une anomalie, exécuter le microprogramme dépourvu d'anomalie, si le premier microprogramme et le deuxième microprogramme sont tous les deux dépourvus d'anomalie, comparer les informations de temps de création de fichier d'en-tête 8 d'image du premier microprogramme à celles du deuxième microprogramme de manière à exécuter le microprogramme avec le temps de création de fichier d'en-tête d'image postérieur, si le premier microprogramme et le deuxième microprogramme ont tous les deux une anomalie, terminer le démarrage du système. Les données de fichier d'en-tête d'image comprennent des informations de code d'identification de sorte que dans le cas où il est déterminé que les informations de code d'identification sont différentes des informations de code d'identification du premier microprogramme ou du deuxième microprogramme, une autre version des nouveaux microprogrammes est obtenue à nouveau. Avant d'effectuer l'étape de comparaison des informations de code d'identification, le procédé comprend en outre l'étape consistant à : déterminer si les nouveaux microprogrammes ont une anomalie d'après les informations de somme de contrôle de redondance cyclique de ceux-ci, si oui, terminer l'opération de mise à jour de microprogrammes, sinon effectuer l'étape de comparaison des informations de code d'identification. La présente invention propose en outre un procédé de création de microprogrammes à utiliser avec un système de mise à jour de microprogrammes, qui comprend les étapes consistant à : prérégler une longueur maximale de flux de données pour le stockage de microprogrammes, combiner des données de fichier de noyau et des données de système de fichier pour créer des données de fichier temporaire, créer des données de 9 fichier d'en-tête d'image comprenant des informations de somme de contrôle de redondance cyclique et des informations de temps de création de fichier d'en-tête d'image, ajouter les données de fichier d'en-tête d'image aux données de fichier temporaire de manière à former des microprogrammes et déterminer si une longueur réelle de flux de données stocké dans les microprogrammes est inférieure à la longueur maximale préréglée du flux de données pour le stockage de microprogrammes de manière à augmenter, si la détermination est affirmative, une longueur de flux de données des données de fichier temporaire jusqu'à ce que la longueur réelle du flux de données stocké dans les microprogrammes soit égale à la longueur maximale préréglée du flux de données pour le stockage de microprogrammes. La présence invention propose donc le système et le procédé de mise à jour de microprogrammes et le procédé de création de microprogrammes. La présente invention comprend essentiellement les étapes consistant à : obtenir de nouveaux microprogrammes à la réception d'une instruction d'exécution d'une mise à jour de microprogrammes, contrôler les informations de somme de contrôle de redondance cyclique des nouveaux microprogrammes à la recherche d'une erreur et passer à l'étape suivante à la détermination que les informations de somme de contrôle de redondance cyclique des nouveaux microprogrammes sont dépourvues d'erreur, déterminer si le premier microprogramme et le deuxième microprogramme ont une anomalie d'après les informations de somme de contrôle de redondance 10 cyclique du premier microprogramme et du deuxième microprogramme de manière à verrouiller, à la détermination de la présence de l'anomalie dans l'un du premier microprogramme et du deuxième microprogramme, le microprogramme subissant une anomalie en tant que microprogramme cible, comparer, à la détermination de l'absence d'anomalie dans le premier microprogramme et dans le deuxième microprogramme, les informations de temps de création de fichier d'en-tête d'image du premier microprogramme à celles du deuxième microprogramme de manière à définir le microprogramme cible en verrouillant le premier microprogramme ou le deuxième microprogramme qui a le temps de création de fichier d'en-tête d'image antérieur, et terminer l'opération de mise à jour de microprogrammes à la détermination de la présence de l'anomalie dans le premier microprogramme et dans le deuxième microprogramme et remplacer le microprogramme cible verrouillé par le nouveau microprogramme de manière à achever l'exécution de l'opération de mise à jour de microprogrammes stockés dans le dispositif électronique. En procédant ainsi, l'opération de mise à jour de microprogrammes de la présente invention surmonte un inconvénient de l'art antérieur, c'est-à-dire l'incapacité d'un système à démarrer à cause d'un échec de la mise à jour de microprogrammes. La figure 1 est un schéma de principe représentant la structure de base d'un système de mise à jour de microprogrammes selon la présente invention ; les figures 2A et 2B sont des organigrammes représentant un procédé de mise à jour de 11 microprogrammes selon le mode de réalisation de la présente invention ; et la figure 3 est un organigramme représentant un procédé de création de microprogrammes à utiliser avec le système de m=ise à jour de microprogrammes selon la présente invention. Les modes de réalisation illustratifs suivants sont fournis pour illustrer la description de la présente invention, dont les avantages et les effets peuvent être apparents pour l'homme du métier à la lecture de la description du présent mémoire. La figure 1 est un schéma de principe représentant la structure de base d'un système de mise à jour de microprogrammes selon la présente invention. Comme cela est représenté sar le dessin, le système 10 est utilisé pour mettre à jour des microprogrammes d'un dispositif électronique 1. En particulier, le système 10 est utilisé dans un dispositif électronique 1 comme un routeur pour mettre à jour des microprogrammes de celui-ci d'après les fichiers de mise à jour de microprogrammes générés à une extrémité de serveur 2 en utilisant un procédé de création de microprogrammes. Comme cela est représenté sur la figure 1, le système 10 comprend un module de stockage de microprogrammes 100, un module de réception 110, un module de détermination 120, un module de mise à jour 130 et un module d'exécution de microprogrammes 140, qui sont détaillés ci-après. Le module de stockage de microprogrammes 100 est disposé dans le dispositif électronique 1 pour au moins stocker un premier microprogramme et un deuxième 12 microprogramme. Le premier microprogramme et le deuxième microprogramme ont des données de fichier d'en-tête d'image qui comprennent au moins des informations de somme de contrôle de redondance cyclique et des informations de temps de création de fichier d'en-tête d'image. Dans le présent mode de réalisation, les informations de somme de contrôle de redondance cyclique comprennent des informations de somme de contrôle d'en-tête, des informations de longueur de flux de données, et des informations de somme de contrôle de données. Dans le présent mode de réalisation, le module de stockage de microprogrammes 100 est une ROM flash, mais n'est pas limité à cela. En variante, le module de stockage de microprogrammes 100 peut être une EEPROM ou une autre forme de mémoire non volatile. Le module de réception 110 reçoit une instruction d'exécution de mise à jour de microprogrammes de manière à obtenir de nouveaux microprogrammes. Dans le présent mode de réalisation, le module de réception 110 télécharge des fichiers de mise à jour de microprogrammes de l'extrémité de serveur 2 par le biais d'une transmission de réseau, sans être limité à cela. Le module de réception 110 peut obtenir des fichiers de mise à jour de microprogrammes par d'autres méthodes, comme une lecture de CD-ROM ou une lecture USB. Le module de détermination 120 reçoit l'instruction d'exécuter une mise à jour de microprogrammes et détermine si les nouveaux microprogrammes obtenus par le module de réception 110 13 ont une anomalie d'après les informations de somme de contrôle de redondance cyclique des nouveaux microprogrammes. Si les nouveaux microprogrammes ont une anomalie, l'opération de mise à jour de microprogramme est terminée, sinon le module de détermination 120 détermine si le premier microprogramme et le deuxième microprogramme ont une anomalie d'après les informations de somme de contrôle de redondance cyclique de ceux-ci stockées dans le module de stockage de microprogrammes 100, si l'un du premier microprogramme et du deuxième microprogramme à une anomalie, le microprogramme subissant une anomalie est verrouillé en tant que microprogramme cible, si le premier microprogramme et le deuxième microprogramme sont tous les deux dépourvus d'anomalie, le module de détermination 120 compare les informations de temps de création de fichier d'en-tête d'image du premier microprogramme à celles du deuxième microprogramme stockées dans le module de stockage de microprogrammes 100 de manière à verrouiller le microprogramme avec le temps de création de fichier d'en-tête d'image antérieur en tant que microprogramme cible, sinon, si le premier microprogramme et le deuxième microprogramme ont tous les deux une anomalie, l'opération de mise à jour de microprogramme est terminée. Le module de mise à jour 130 est utilisé pour remplacer le microprogramme cible verrouillé par le module de détermination 120 et stocké dans le module de stockage de microprogrammes 100 par le nouveau microprogramme, ce qui achève l'opération de mise à jour de microprogrammes du dispositif électronique 1. 14 Le module d'exécution de microprogrammes 140 est utilisé pour ré-executer les microprogrammes exécutables du dispositif électronique 1. Dans le présent mode de réalisation, avant que le module d'exécution de microprogrammes 140 ne ré-exécute les microprogrammes exécutables, le module de détermination 120 est en outre utilisé pour déterminer si le premier microprogramme et le deuxième microprogramme après l'opération de mise à jour de microprogrammes ont une anomalie d'après les informations de somme de contrôle de redondance cyclique de ceux-ci stockées dans le module de stockage de microprogrammes 100, si l'un du premier microprogramme et du deuxième microprogramme subit une anomalie, le microprogramme dépourvu d'anomalie est verrouillé en tant que microprogramme exécutable, et si le premier microprogramme et le deuxième microprogramme sont tous les deux dépourvus d'anomalie, le module de détermination compare les informations de temps de création de fichier d'en-tête d'image du premier microprogramme à celles du deuxième microprogramme stockées dans le module de stockage de microprogrammes 100 de manière à verrouiller le microprogramme avec le temps de création de fichier d'en-tête d'image postérieur en tant que microprogramme exécutable, sinon, si le premier microprogramme et le deuxième microprogramme ont tous les deux une anomalie, le démarrage du système est terminé. Le système de mise à jour de microprogrammes de la présente invention choisit donc des microprogrammes subissant une anomalie ou des microprogrammes dépourvus 15 d'anomalie avec un temps de création de fichier d'en-tête d'image antérieur pour la mise à jour de manière à ce que le dispositif électronique conserve une version plus récente des microprogrammes. Si l'opération de mise à jour de microprogrammes est réussie, le dispositif électronique choisit la version plus récente des microprogrammes d'après les informations de temps de création de fichier d'en-tête d'image pour l'exécution ; sinon, si l'opération de mise à jour de microprogrammes échoue, le dispositif électronique exécute les microprogrammes avec un temps de création de fichier d'en-tête d'image antérieur, en empêchant de ce fait l'échec du fonctionnement du dispositif électronique à cause de l'échec de l'opération de mise à jour de microprogrammes et en surmontant les désagréments pour les utilisateurs et les fabricants dont pâtit l'art antérieur. Les figures 2A et 2B représentent un procédé de mise à jour de microprogrammes utilisant le système décrit ci-dessus. Le procédé est utilisé pour mettre à jour des microprogrammes dans un dispositif électronique 1. Le dispositif électronique 1 comprend un module de stockage de microprogrammes 100 qui stocke un premier microprogramme et un deuxième microprogramme, dans lequel le premier microprogramme et le deuxième microprogramme ont chacun des données de fichier d'en-tête d'image comprenant au moins des informations de somme de contrôle de redondance cyclique et des informations de temps de création de fichier d'en-tête d'image. Le procédé comprend les étapes suivantes. 16 Tout d'abord, à l'étape 5300, lorsque le dispositif électronique 1 reçoit une instruction d'exécution de mise à jour de microprogrammes, il obtient de nouveaux microprogrammes depuis un serveur 2 par le biais d'une transmission de réseau et il génère un signal de démarrage. Le procédé d'obtention de nouveaux microprogrammes n'est pas limité à une transmission de réseau. Dans d'autres modes de réalisation, les nouveaux microprogrammes peuvent être obtenus par lecture de CD-ROM, lecture USB et ainsi de suite. Le processus se poursuit ensuite à l'étape 5301. Pendant l'opération de mise à jour de microprogrammes, une anomalie comme une défaillance de transmission de réseau peut provoquer un téléchargement incomplet des nouveaux microprogrammes. Par conséquent, à l'étape 5301, il est déterminé si les nouveaux microprogrammes ont une anomalie d'après les informations de somme de contrôle de redondance cyclique des niveaux microprogrammes, si oui, le processus passe à l'étape S302, sinon le processus passe à l'étape 5303. A l'étape S302, il est déterminé s'il faut obtenir à nouveau les nouveaux microprogrammes, si oui le processus passe à l'étape S301, sinon le processus se termine. Dans le présent mode de réalisation, les nouveaux microprogrammes sont téléchargés à nouveau à partir du serveur 2 sur le réseau. Puisque les nouveaux microprogrammes fournis depuis le serveur 2 via le réseau peuvent avoir plusieurs versions correspondant à leurs fabricants respectifs, les utilisateurs sont susceptibles de 17 télécharger une mauvaise version des nouveaux microprogrammes. Par conséquent, à l'étape S303, les informations de somme de contrôle de redondance cyclique des nouveaux microprogrammes sont contrôlées à la recherche d'une erreur, si oui, le processus passe à l'étape S305, sinon le processus passe à l'étape S304. A l'étape S304, une autre version des nouveaux microprogrammes est obtenue à nouveau. Dans le présent mode de réalisation, une autre version des nouveaux microprogrammes est téléchargée depuis le serveur 2 sur le réseau. Le processus revient ensuite à l'étape S301. A l'étape S305, il est déterminé si le premier microprogramme a une anomalie d'après les informations de somme de contrôle de redondance cyclique du premier microprogramme, si oui le processus passe à l'étape S306, sinon le processus passe à l'étape S308. A l'étape 5306, il est déterminé si le deuxième microprogramme a une anomalie d'après les informations de somme de contrôle de redondance cyclique du deuxième microprogramme, si oui, c'est-à-dire si le premier microprogramme et le deuxième microprogramme subissent tous les deux une anomalie, l'opération de mise à jour de microprogramme est terminée, sinon, c'est-à-dire si uniquement le premier microprogramme subit une anomalie, le processus passe à l'étape S307. A l'étape S307, le premier microprogramme est verrouillé en tant que microprogramme cible. Le processus passe alors à l'étape S311. A l'étape $308, il est déterminé si le deuxième microprogramme a une anomalie d'après les informations de somme de contrôle de redondance cyclique du deuxième 18 microprogramme, si oui, c'est-à-dire si uniquement le deuxième microprogramme subit une anomalie, le processus passe à l'étape S310, sinon, c'est-à-dire si le premier microprogramme et le deuxième microprogramme subissent tous les deux une anomalie, le processus passe à l'étape S309. A l'étape S309, il est déterminé si le temps de création de fichier d'en-tête d'image du premier microprogramme est antérieur à celui du deuxième microprogramme, si oui le processus passe à l'étape S307, sinon le processus passe à l'étape S310. A l'étape S310, le deuxième microprogramme est verrouillé en tant que microprogramme cible. Le processus passe alors à l'étape S311. A l'étape S311, le microprogramme cible est remplacé par le nouveau microprogramme de manière à achever l'opération de mise à jour de microprogrammes. Le processus passe alors à l'étape S312. A l'étape S312, le dispositif électronique est démarré pour appliquer la mise à jour de microprogrammes. Le processus passe alors à l'étape S313. A l'étape S313, il est déterminé si le premier microprogramme a une anomalie d'après les informations de somme de contrôle de redondance cyclique du premier microprogramme, si oui le processus passe à l'étape S317, sinon le processus passe à l'étape S314. A l'étape 5314, il est déterminé si le deuxième microprogramme a une anomalie d'après les informations de somme de contrôle de redondance cyclique du deuxième microprogramme, si oui, c'est-à-dire si uniquement le 19 deuxième microprogramme subit une anomalie, le processus passe à l'étape S315, sinon, c'est-à-dire si le premier microprogramme et le deuxième microprogramme subissent une anomalie, le processus passe à l'étape S316. A l'étape S315, le premier microprogramme est exécuté, ce qui achève l'opération de mise à jour de microprogrammes. A l'étape S316, il est déterminé si le temps de création de fichier d'en-tête d'image du premier microprogramme est antérieur à celui du deuxième microprogramme, si oui le processus passe à l'étape S318, sinon le processus passe à l'étape 5315. A l'étape S317, il est déterminé si le deuxième microprogramme a une anomalie d'après les informations de somme de contrôle de redondance cyclique du deuxième microprogramme, si oui, c'est-à-dire si le premier microprogramme et le deuxième microprogramme subissent une anomalie, l'opération de mise à jour de microprogramme est terminée, sinon, c'est-à-dire si uniquement le premier microprogramme subit une anomalie, le processus passe à l'étape S318. A l'étape S318, le deuxième microprogramme est exécuté, en achevant de ce fait l'opération de mise à 25 jour de microprogrammes. Bien qu'aux étapes S305, S306, S308, S313, 5314 et S317 la détermination du premier microprogramme intervienne avant la détermination du deuxième microprogramme, elles ne sont pas limitées à cela. Dans 30 d'autres mcdes de réalisation, le deuxième microprogramme peut être déterminé en premier. 20 La figure 3 est un organigramme représentant un procédé de création de microprogrammes à utiliser avec le système de mise à jour de microprogrammes. Dans le présent mode de réalisation, le procédé de création de microprogrammes est appliqué à l'accès de serveur et est achevé par les fabricants de manière à créer de nouveaux microprogrammes à utiliser pour la mise à jour par les utilisateurs. Comme cela est représenté sur le dessin, en premier, à l'étape S100, une longueur maximale du flux de données pour le stockage de microprogrammes est préréglée. Ensuite, le processus passe à l'étape 5110. A l'étape 5110, les données de fichier de noyau et les données de système de fichier sont combinées de manière à créer des données de fichier temporaire. Le processus passe ensuite à l'étape S120. A l'étape S120, il est créé des données de fichier d'en-tête d'image qui comprennent au moins des informations de somme de contrôle de redondance cyclique et des informations de temps de création de fichier d'en-tête d'image. Dans le présent mode de réalisation, les données des fichiers d'en-tête d'image comprennent des informations de code d'identification. Les informations de somme de contrôle de redondance cyclique comprennent des informations de somme de contrôle d'en-tête, des informations de longueur de flux de données et des informations de somme de contrôle de données. Le processus passe ensuite à l'étape S130. A noter que les fichiers de mise à jour de microprogrammes comprennent au moins des données de 21 fichier de noyau et des données de système de fichier. Les informations de code d'identification comprennent des numéros de série de produits de fabricants. Les informations de somme de contrôle de redondance cyclique sont utilisées pour déterminer si un flux de données auquel les informations appartiennent a une anomalie. Une description détaillée de la technique bien connue dans l'art est omise. En outre, la longueur réelle du flux de données stocké dans les données de fichier de noyaux peut être différente en raison d'un temps de compilation différent et de versions différentes, ce qui affecte la configuration d'adresse binaire initiale des données de système de fichier à combiner avec les données de fichier de noyau. De plus, l'exécution des données de système de fichier commence généralement à partir d'une adresse de début fixe, d'où une longueur maximale du flux de données des données de fichier de noyau est en outre préréglée de manière à s'assurer que l'adresse de début des données de système de fichier se trouve à une section d'adresse fixe, qui est l'adresse de début des fichiers de données de noyau plus la taille de fichier maximale plus 1. A l'étape 5130, les données de fichier d'en-tête d'image sont ajoutées aux données de fichier temporaire de manière à former les microprogrammes à utiliser dans le dispositif électronique. Le processus passe ensuite à l'étape S140. A l'étape S140, il est déterminé si la longueur réelle du flux de données stocké dans les microprogrammes est inférieure à la longueur maximale préréglée du flux de données, si oui le processus passe 22 à l'étape S150, sinon la création des microprogrammes est achevée. A l'étape S150, la longueur des données de fichier temporaire est augmentée jusqu'à ce que la longueur réelle des microprogrammes corresponde à la taille de fichier maximale préréglé, ce qui achève la création des microprogrammes. Comme cela a été décrit ci-dessus, la présente invention prcpose le système et le procédé de mise à jour de microprogrammes et le procédé de création de microprogrammes, qui comprennent principalement les étapes consistant à : obtenir de nouveaux microprogrammes à la réception d'une instruction d'exécution d'une mise à jour de microprogrammes ; déterminer si les informations de somme de contrôle de redondance cyclique des nouveaux microprogrammes coïncident à l'application, si oui déterminer si le premier microprogramme et le deuxième microprogramme subissent une anomalie d'après les informations de somme de contrôle de redondance cyclique du premier microprogramme et du deuxième microprogramme, si l'un du premier microprogramme et du deuxième microprogramme subit une anomalie, verrouiller le microprogramme subissant une anomalie en tant que microprogramme cible, si le premier microprogramme et le deuxième microprogramme sont tous les deux dépourvus d'anomalie, comparer les informations de temps de création de fichier d'en-tète d'image du premier microprogramme à celles du deuxième microprogramme de manière à verrouiller le microprogramme avec le temps de création de fichier d'en-tête d'image antérieur en tant que 23 microprogramme cible, si le premier microprogramme et le deuxième microprogramme subissent tous les deux une anomalie, terminer le processus de mise à jour de microprogrammes ; enfin, remplacer le microprogramme cible par le nouveau microprogramme. Par conséquent, la présente invention choisit le microprogramme subissant une anomalie ou le microprogramme dépourvu d'anomalie avec un temps de création de fichier d'en-tête d'image antérieur pour la mise à jour, ce qui permet au dispositif électronique de conserver la version la plus récente des microprogrammes. Si le processus de mise à jour de microprogrammes est réussi, le dispositif électronique choisit la version la plus récente des microprogrammes d'après les -informations de temps de création de fichier d'en-tête d'image pour l'exécution ; sinon, c'est-à-dire en cas d'échec du processus de mise à jour de microprogrammes, le dispositif électronique exécute les microprogrammes avec le temps de création de fichier d'en-tête d'image antérieur, ce qui empêche l'échec de fonctionnement du dispositif électronique à cause de l'échec du processus de mise à jour de microprogrammes et ce qui surmonte les désagréments des utilisateurs et des fabricants comme dans l'art antérieur. Les descriptions ci-dessus des modes de réalisation détaillés sont uniquement destinées à illustrer la mise en oeuvre préférée selon la présente invention, mais elles ne sont pas destinées à limiter le périmètre de la présente invention. Par conséquent, toutes les modifications et les variations venant à 24 l'esprit de l'homme du métier doivent rentrer dans le périmètre de la présente invention tel qu'il est défini par les revendications annexées. REVENDICATIONS1. À. 1 C") qr Pr 1. t' Y t r icro lectu de CD >. ation `.2O xéc :oc ses, pou -t3(:. ns de20 -1 MI OC rides {S mt ,rr,r1l'* {100 �n _ '1 .11 .)p r ri- -t-r. e T i r (13G: �