FR 2798203 A1 20010309 FR 0008053 A 20000623 Procédé de téléchargement d'objets téléchargeables La présente invention concerne manière générale un appa reil électronique, et plus particulièrement, un procédé de télécharge ment d'objets téléchargeables utilisé pour télécharger des objets télé- chargeables dans des microprogrammes de l'appareil électronique. De plus en plus d'appareils électroniques commercialisés ont certaines sortes de microprogrammes ou de systèmes incorporés in tégrés dedans pour fournir des commandes préprogrammées pour commander le fonctionnement des appareils électroniques. Contraire ment à un appareil purement mécanique, qui fonctionne seulement sur des principes mécaniques selon les configurations physiques de ses organes, un appareil électronique comporte au moins un circuit électri- que/électronique commandant le fonctionnement de l'appareil électro nique en fonction de signaux électriques existant dans le circuit élec trique. Tandis que certains appareils électroniques peuvent ne nécessi ter aucune fonction de prise de décision fournie par leurs circuits élec triques respectifs pendant le fonctionnement de ces appareils, d'autres appareils électroniques ont besoin de certains circuits électriques/élec- troniques ayant des facultés de prise de décision et/ou des capacités à y stocker et/ou à en extraire des données électroniques pour diriger le fonctionnement de ces appareils électroniques. Les données électroni ques peuvent être sous forme de commandes préprogrammées, de pro grammes objets, ou de données objets fournis par une fabrication de ces appareils électroniques, ou bien il peut s'agir d'informations défi nies de manière personnalisée par un utilisateur et chargées dans les circuits électroniques de ces appareils, ou les deux. Comme remarqué précédemment, ces derniers appareils élec troniques, c'est-à-dire ceux contenant des données électroniques mé morisées, nécessitent un quelconque type de circuit de mémoire élec tronique intégré à l'appareil électronique pour stocker les données électroniques nécessaires. Certains appareils électroniques, tels que les ordinateurs universels, ont respectivement un grand circuit de mé moire, typiquement supérieur à 32 Mo (mégaoctets), pour donner capacité de stockage suffisante à l'ordinateur. Mais beaucoup d'autres appareils électroniques, tels que les imprimantes et autres unités péri phériques, ont souvent des circuits de mémoire électronique à capacité de stockage limitée, par exemple inférieure à 1 Mo, incorporés pour stocker leurs données électroniques. En général, la plupart des péri phériques sont relativement peu coûteux comparé à un ordinateur uni versel. En conséquence, la capacité mémoire d'un périphérique est souvent très limitée, car l'ajout de mémoire au périphérique pourrait accroître de manière inacceptable le coût de production de ce périphé rique. Etant donné que beaucoup de périphériques sont des appareils à bas prix, meme une petite hausse de coût dans la production n'est sou vent pas viable commercialement dans le marché très concurrentiel que l'on connaît aujourd'hui. En conséquence, les données électroni ques doivent être stockées dans ces périphériques de manière plus effi cace afin ne pas gaspiller leur espace mémoire. Ordinairement, un programme informatique est à l'origine écrit sous forme de codes source par son (ses) programmeur(s) d'étude. Les codes source à l'origine du programme à installer dans l'ordinateur ne sont pas propres à une machine et, du moins en théorie, ils peuvent être compilés et les résultats de la compilation peuvent être installés dans différents types d'ordinateurs universels pour exécuter les pro grammes. Ainsi, les codes source de la plupart des programmes infor matiques sont, dans un certain sens, "portables" vers n'importe quel ordinateur. Beaucoup de programmes informatiques sont également in teractifs, c'est-à-dire qu'un utilisateur d'ordinateur peut y accéder pour fournir des données d'entrée à faire traiter par les programmes et pour recevoir des données en sortie. En outre, un ordinateur est normale ment conçu pour une utilisation générale et a sa grande capacité m & moire pour mémoriser les programmes et/ou les données accessibles à l'utilisateur. Une unité périphérique, par contre, telle qu'une impri mante, comporte souvent un circuit mémoire spécial dédié au stockage de programmes et de données propres à l'appareil. Les program- mes/données propres à l'appareil sont en particulier installés dans le circuit mémoire spécial de l'unité périphérique pour des fonctionna- lités concernant directement le fonctionnement de ce périphérique. Ce circuit mémoire spécial de l'unité périphérique fonctionne ainsi comme une combinaison matériel-logiciel, et est propre à l'appareil. En consé quence, le circuit mémoire spécial mentionné ci-dessus, y compris tou tes les données mémorisées dedans ou qui vont l'être, d'une unité péri- phérique, est communément appelé nùcroprogran-ime par les personnes du métier. En d'autres termes, les données mémorisées dans le micro- programme de l'imprimante concernent le fonctionnement de l'impri mante. Ces données propres à l'appareil peuvent comporter des in structions de commande de l'imprimante, des données de polices, ou n'importe quelle image définie par l'utilisateur, etc., qu'elles soient pré-chargées par le fabricant ou mémorisées par l'utilisateur. Contrai rement à beaucoup de programmes informatiques qui ont été écrits pour l'ordinateur, les données propres à l'appareil stockées dans le mi- croprogramme d'une imprimante conventionnelle ne sont pas directe ment accessibles par l'utilisateur une fois que les données sont char gées dans l'imprimante. Typiquement, le microprogramme d'une imprimante conven tionnelle comprend une première section ou zone du microprogramme dédiée au stockage de codes d'instructions, une deuxième zone dédiée au stockage de polices pré-chargées, et une troisième zone dédiée au stockage des données définies par l'utilisateur. La première zone du microprogramme d'une imprimante est souvent elle-même divisée en plusieurs blocs pour stocker des codes d'instructions et des tables in ternes. Les blocs de codes d'instructions du microprogramme mémori sent des codes machine prévus pour commander tous les mouvements ou fonctions de l'imprimante, tels que lire des caractères, extraire des données d'un tampon d'image ou y stocker des données, ou faire tour ner une platine. Le bloc de tables du microprogramme génère des ta- bles internes pour faire correspondre des adresses mémoire de micro- programme d'une instruction avec un objet exécutable stocké dans le microprogramme, ou pour générer d'autres assortiments nécessaires pendant le fonctionnement. La deuxième zone du microprogramme est prévue pour mémoriser les polices pré-chargées de l'imprimante four nies par le fabricant, et la troisième zone est prévue pour mémoriser des données définies par l'utilisateur, telles que des caractères spé ciaux, des polices définies par l'utilisateur, ou des images définies par l'utilisateur. Comme mentionné plus haut, les imprimantes conventionnel les n'ont qu'un espace mémoire limité dans leur microprogramme. Ty- piquement, la première zone du microprogramme d'une imprimante a un espace mémoire d'environ quelques centaines de Ko (kilo-octets), par exemple 256 Ko. Sur cet espace mémoire, seule une partie, par exemple Ko, est dédiée au stockage des codes d'instructions. En conséquence, cette zone de code du microprogramme est très limitée en ce qui concerne ses possibilités d'augmentation de capacité ou pos sibilités d'extension. Les codes d'instructions fournis par fabricant définissent que peut faire l'imprimante en fonctionnement. Cepen dant, de nouvelles images ou fonctionnalités de l'imprimante sont constamment développées ou inventées, et l'utilisateur peut avoir en vie d'ajouter ces nouvelles fonctionnalités ou options à l'imprimante après la fabrication de l'imprimante. Par exemple, l'utilisateur peut avoir envie que son imprimante soit capable d'imprimer de nouveaux jeux de codes à barres, de nouvelles polices, ou de nouvelles images qui ne se trouvaient pas à l'origine dans le n-licroprogramme de l'impri mante au moment de l'achat de l'imprimante. Il peut donc etre souhai table pour un utilisateur de pouvoir réaliser une extension du micro- programme de l'imprimante pour y incorporer de nouvelles options. De plus, les fonctionnalités d'une imprimante conventionnelle sont normalement pré-installées par le fabricant. En conséquence, l'utilisateur de l'imprimante trouve souvent qu'il n'a pas besoin de cer taines des options fonctionnelles pré-installées, tandis que d'autres op tions voulues sont fréquemment non fournies. En raison de la limita tion de l'espace mémoire du microprogramme, installer des options supplémentaires dans l'imprimante nécessite souvent d'ajouter un nou vel espace mémoire, en particulier à la zone de code, du micropro- gramme. Augmenter la mémoire d'un ordinateur est une opération rela tivement franche et simple. Habituellement, elle consiste à ajouter des modules de mémoire sur la carte mère de l'ordinateur et/ou à modifier la configuration d'un jeu cavaliers sur la car-te mère. L'extension du microprogramme d'une imprimante conventionnelle implique nécessai rement l'extension de la zone de codes d'instructions et/ou l'ajout de tout objet fonctionnel nouveau à stocker dans le microprogramme. Ce n'est pas aussi franc l'augmentation de mémoire de l'ordinateur. Dans la plupart des cas, il ne reste pas assez d'espace mémoire dans le microprogramme, en particulier dans la zone de codes d'instructions, et les composants de mémoire de l'imprimante conventionnelle peuvent devoir être remplacés pour accueillir les fonctionnalités nouvellement ajoutées. Comme mentionné plus haut, beaucoup d'unités périphéri ques sont des appareils à bas prix. Par conséquent, le passage à une capacité supérieure des composants mémoire de l'imprimante conven tionnelle est, pour le moins, non rentable, voire impossible en raison des contraintes physiques de l'espace mémoire de la zone de code d'une imprimante conventionnelle. Il existe donc un besoin pour une manière plus rentable, et plus économe en espace, d'étendre le microprogramme ou ajouter de nouvelles fonctionnalités au microprogramme d'une unité périphérique sans les inconvénients sus-mentionnés, afin d'empêcher l'unité péri phérique de devenir obsolète après seulement une courte durée d'utili sation. Un objet de la présente invention est d'offrir un procédé per mettant de donner plus de fonctionnalités et/ou une meilleure capacité d'extension à un appareil électronique, tout en surmontant la contrain te de l'espace mémoire d'un microprogramme de l'appareil électronique qui est inhérente à toute unité périphérique conventionnelle. Cet objet est atteint en proposant un procédé à objet téléchargeable comportant des objets exécutables qui peuvent être sélectionnés par un utilisateur et sont prévus pour être téléchargés dans le microprogramme de l'ap- pareil électronique. Dans un mode de réalisation préféré, les objets téléchargea- bles peuvent être téléchargés dans une imprimante à partir d'un cédé- rom fournis par un fabricant ou par le biais d'Internet à partir d'un site désigné par le fabricant. Les objets téléchargés sont sélectionnables, autrement dit l'utilisateur peut choisir des options souhaitées à télé- charger de manière permanente dans le microprogramme de l'impri mante. Le microprogramme comporte une zone utilisateur pour mémo riser des données ou autres objets défini(e)s par l'utilisateur, et une zone de code pour mémoriser des codes d'instructions. Les objets choi sis sont ensuite téléchargés dans la zone utilisateur, plutôt que dans la zone de code du microprogramme, et sont exécutables n'importe où dans l'espace adresses du microprogramme. Dans un autre mode de ré alisation, les objets choisis peuvent être installés dans la zone de code et/ou la zone utilisateur si l'espace mémoire du rnicroprogramme est disponible. Les caractéristiques et avantages qui précèdent, ainsi que d'autres, de la présente invention, seront mieux compris à la lecture de la description détaillée suivante faite en référence au dessin d'accom pagnement. Dans la figure unique et dans la description écrite, les ré férences numériques indiquent les diverses caractéristiques de l'inven tion, les références identiques faisant référence à des caractéristiques identiques pour la figure comme pour la description écrite. La figure montre un espace illustratif de stockage en mémoire d'un microprogramme contenu dans une imprimante, selon la présente invention. La figure montre une configuration donnée à titre d'exemple du microprogramme l'imprimante. Typiquement, le micropro- gramme a un espace mémoire total d'environ 512 Ko, dans lequel envi ron 192 Ko sont généralement alloués à la zone de code. Le fabricant peut tout aussi bien doter l'imprimante d'un microprogramme ayant un espace mémoire d'environ 1 Mo (plus précisément 1024 Ko). Toute fois, toute cette quantité d'espace mémoire supplémentaire, c'est-à-dire les 512 Ko supplémentaires, de la mémoire du microprogramme, sont normalement dédiés à la zone utilisateur, plutôt qu'à la zone de code. En conséquence, l'espace mémoire de la zone de code dans le micro- programme reste souvent à environ 192 Ko, ce qui est tout à fait faible en comparaison de la taille de la plupart des programmes logiciels dis ponibles sur le marché. Après fabrication de l'imprimante, des codes d'instructions de base sont souvent pré-installés dans la zone de code de son micro- programme par le fabricant pour contrôler le fonctionnement de l'im primante. Généralement, environ 96 à 128 Ko des 192 Ko de la zone de code sont occupés par ces codes d'instructions de base. Ainsi, il ne reste pas beaucoup d'espace de la zone de code du microprogramme pour mémoriser des commandes de fonctionnalités ou d'images objets supplémentaires pour commander le fonctionnement de l'imprimante. Certaines fonctionnalités et images objets fournies par le fabricant peuvent également être pré-installées dans la zone utilisateur du mi- croprogramme. Etant donné que la zone de code du microprogramme est de taille relativement réduite, elle ne permet pas de stocker beau coup de données supplémentaires, telles que de nouvelles instructions pour imprimer nouveau jeu de codes à barres, dans la zone de code. D'un autre côté, il est souvent souhaitable de pouvoir donner à l'impri mante de nouvelles fonctionnalités sans avoir besoin d'ajouter de nou vel espace mémoire au microprogramme. De plus, les utilisateurs de l'imprimante peuvent souhaiter personnaliser les fonctionnalités et/ou images objets mémorisées dans le microprogramme pour diverses rai sons. La présente invention fournit ainsi une solution unique pour réa liser ces objectifs. La présente invention propose un procédé d'amélioration de l'augmentation de capacité et/ou de la capacité d'extension d'une im primante et aussi un procédé de stockage de fonctionnalités dans le microprogramme d'une manière plus efficace. Le procédé comprend le fait de fournir un groupe d'objets téléchargeables qui peuvent être choisis de manière personnalisée par l'utilisateur pour être installés dans le microprogramme de l'imprimante pour lui donner plus de fonc- tionnalités qu'une imprimante conventionnelle ayant un n-i-icroprogram- me avec des instr-uctions pré-installées et ne comportant pas ces objets téléchargeables. Dans un mode de réalisation, l'imprimante, selon la présente invention, est également pré-chargée avec les fonctionnalités fournies par le fabricant dans zone utilisateur et/ou dans sa zone de code du microprogramme. L'utilisateur peut ajouter ultérieurement des caractéristiques souhaitables supplémentaires dans l'imprimante en in stallant les objets téléchargeables choisis par l'utilisateur qui contien nent ces caractéristiques souhaitables dans le microprogramme. Dans un mode de réalisation préféré, les objets téléchargeables sont instal lés dans la zone utilisateur, plutôt que dans la zone de code d'instr-uc- tions, du microprogramme pour étendre les fonctionnalités de l'impri mante tout en surmontant les contraintes d'espace mémoire du micro- programme qui sont inhérentes à la plupart des unités périphériques conventionnelles. Ils peuvent aussi être installés dans la zone de code ou dans la mémoire vive (RAM), si l'espace mémoire de la zone de co de est suffisante dans le microprogramme. Dans un autre mode réalisation, l'imprimante ne possède pas de fonctionnalités d'impression pré-installées, sauf quelques codes d'instructions de base dans la zone de code, qui sont fournis par le fa bricant lorsque l'utilisateur reçoit l'imprimante. Au lieu de cela, les fonctionnalités sont fournies à l'utilisateur et peuvent être entièrement choisies par l'utilisateur. Par conséquent, l'utilisateur peut ne choisir que les fonctions qu'il/elle souhaite voir incluses dans l'imprimante pour économiser l'espace mémoire du microprogramme et, en même temps, il/elle peut personnaliser les fonctionnalités de l'imprimante pour obtenir la meilleure combinaison de fonctions souhaitable, adap tée à ses besoins particuliers. Dans le mode de réalisation préféré, plusieurs objets télé- chargeables sont stockés sur un ou plusieurs disques cédéroms ou dis quettes. Certains objets téléchargeables contiennent des codes d'objet exécutables qui sont prévus pour être aisément installés dans le micro- programme de l'imprimante, tandis que d'autres objets téléchargeables peuvent contenir de purs objets images, tels que des polices imprima bles. Chaque objet téléchargeable est indépendant, c'est-à-dire qu'il ne dépend d'aucun autre objet. Typiquement, les disques cédéroms et/ou disquettes sont inclus dans un carton d'expédition contenant l'impri mante à expédier en même temps à l'utilisateur ou à un acheteur de l'imprimante. Les disques cédéroms et/ou disquettes peuvent aussi être fournis par le fabricant à tout moment à la demande de l'utilisa- teur/acheteur. Dans un autre mode réalisation, un ou plusieurs fi chiers contenant les objets téléchargeables peuvent être téléchargés dans un ordinateur par le biais d'Internet à partir d'un site fourni ou désigné par le fabricant. L'utilisateur/acheteur de l'imprimante peut alors installer les objets téléchargeables dans le microprogramme de l'imprimante en installant de manière sélective le ou les fichier(s) télé- chargé(s) mémorisé(s) dans l'ordinateur. Avant d'installer les objets téléchargeables dans l'impriman te, l'imprimante doit être reliée à l'ordinateur par un câble d'impriman te via les ports parallèles, les ports série, ou autres parties formant in terface respectives des deux appareils, à savoir l'imprimante et l'ordi nateur. Tout câble d'imprimante disponible dans le commerce, ou mê me un câble d'imprimante fait soi-même, qui est adapté pour relier les ports parallèles, ports série, ou parties formant interface des appareils respectifs, peut être utilisé et n'a pas d'importance pour la présente in vention. Dans le mode de réalisation préféré, l'utilisateur peut utiliser tout ordinateur comportant un lecteur de cédéroms ou un lecteur de disquettes incorporé pour exécuter objet logiciel de préparation ou d'installation pré-enregistré sur le(s) disque(s) cédérom(s) ou sur la ou les disquette(s) fourni(s) par le fabricant. L'objet logiciel de prépara- tion/installation est un programme informatique qui est prévu pour être exécutable dans un ordinateur. Lorsque l'utilisateur exécute l'objet de préparation ou d'installation, celui-ci accède aux objets télécharge- ables, qui sont également stockés sur le(s) disque(s) cédérom(s) ou sur la ou les disquette(s), et affiche la liste des objets téléchargeables sur un moniteur, un écran à cristaux liquides (écran "LCD"), ou sur tout autre matériel d'affichage relié à l'ordinateur et adapté pour montrer la liste des objets téléchargeables. Par conséquent, l'utilisateur peut choi sir quelles options il ou elle veut installer dans le microprogramme de l'imprimante en sélectionnant ces options à l'écran. De même, l'utilisa teur peut télécharger un fichier préparation/installation, en même temps que les objets téléchargeables, dans une mémoire ou un disque dur de Fordinateur.à partir & Internet. Après avoir téléchargé le fichier de préparation/installation, qui contient l'objet de préparation exécuta ble l'utilisateur peut exécuter l'objet de préparation qui réside mainte nant dans la mémoire ou sur le disque dur de l'ordinateur. Par consé quent, l'utilisateur peut choisir les options fournies par les objets télé- chargeables qu'il ou elle souhaite installer dans le microprogramme l'imprimante. En référence à la figure unique, les objets téléchargeables peuvent être installés dans la zone de code ou dans la zone utilisateur du microprogramme. Comme mentionné précédemment, la zone de - de du microprogramme contient les codes d'instruction dirigeant le fonctionnement de l'imprimante et a normalement une taille d'environ Ko. Une imprimante conventionnelle comprend typiquement tous les codes d'instructions et/ou objets exécutables dans la zone de code de son microprogramme. En raison de la limitation d'espace physique de zone de code, la capacité d'extension du microprogramme d'une imprimante conventionnelle type est très limitée. La présente inven tion au contraire, offre une solution unique pour stocker les codes d'instructions, les objets exécutables, ou les objets images, soit dans la zone de code, soit dans la zone utilisateur du microprogramme, amé liorant ainsi de manière significative la capacité d'extension d'une im primante, comparé à l'imprimante conventionnelle. Comme remarqué précédemment, tous les programmes infor matiques disponibles dans le commerce sont à l'origine écrits sous for- codes source. Les codes source sont une compilation de nom breuses lignes d'instructions décidant quelles actions doivent être réa lisées par un ordinateur lorsque cet ordinateur exécute le programme question. Les codes source sont écrits dans un format parmi plu sieurs formats linguistiques spéciaux existants, qui sont appelés des langages de programmation, et qui est conventionnellement accepté par l'industrie informatique. Il existe plusieurs langages de program mation qui sont largement acceptés par l'industrie informatique, tels que le langage CIC++ ou le langage Basic. Dans le programme infor matique, les codes source contiennent souvent des instructions de prise de décision, qui vont amener l'ordinateur à exécuter certaines instruc tions prédéterminées si leurs conditions respectives sont satisfaites ou à exécuter d'autres instructions prédéterminées si ces conditions ne sont pas satisfaites. Quand le/les auteur(s) des codes source du pro gramme a/ont fini leur travail, le programme doit être compilé par un assembleur ou compilateur approprié, pour traduire les codes source en codes d'objets exécutables. Au cours de la compilation, un éditeur de liens de l'as s embleur/compil ateur attribue des adresses mémoire à chaque instruction des codes d'objets exécutables, indiquant à l'ordina teur où dans la mémoire de l'ordinateur stocker ces instructions des codes d'objets exécutables en vue de leur exécution. De plus, l'éditeur de liens relie ces instructions entre elles de sorte que le programme complet se retrouve connecté sous forme de morceau exécutable. Habi tuellement, lorsqu'il attribue des adresses aux instructions des codes source pendant la compilation, l'éditeur de liens attribue une adresse spécifique à chaque instruction. Par exemple, chaque instruction de prise de décision, telle qu'une instruction "go to" (aller à) des langa ges C ou Fortran, et une destination, telle que l'endroit désigné par l'instruction "go to", se verront attribuer respectivement leurs adresses spécifiques par l'as s embl eur/compilateur. Cette technique d'attribution d'adresses est appelée technique de saut absolu parce que l'instruction de prise de décision comme la destination seront stockées en leurs em- placements prédéterminés dans la mémoire de l'ordinateur. Plus préci sément, au cours de l'exécution des codes exécutables du programme, toutes les lignes de code seront stockées à des adresses respectives prédéterminées dans la mémoire de l'ordinateur. En raison de l'espace mémoire disponible restreint dans la zo ne de code du microprogramme, la zone de code ne mémorise normale ment que des instructions d'imprimante basiques, telles qu'imprimer une ligne, tracer un rectangle, imprimer du texte avec une police dési gnée par l'utilisateur, etc., pour diriger le fonctionnement de l'impri mante. La zone de l'utilisateur est souvent prévue pour mémoriser des options étendues, telles que le tracé d'un jeu de codes à barres com plexe ou d'un objet graphique qui normalement nécessite plus d'espace mémoire pour être mémorisé, des fonctions de l'imprimante. Cepen dant, toutes les options étendues stockées dans la zone utilisateur né cessiteront les serv.ices des instructions stockées dans la zone de code pour accomplir des tâches d'impression. Par exemple, lorsqu'une op tion étendue est conçue pour imprimer un jeu de codes à barres com plexe, l'option étendue inclut des instructions diverses pour appeler des instructions basiques dans la zone de code en vue de leur exécu tion pour accomplir l'impression du jeu de codes à barres. En consé quence, les instructions basiques et les instructions contenues dans les options étendues doivent connaître les adresses correspondantes des autres pendant l'exécution des options étendues. En raison des limites la technique classique de saut absolu, où des adresses spécifiques sont attribuées à toutes les instructions au cours de la compilation, de nouveaux objets exécutables doivent souvent être mémorisés dans la zone de code du microprogramme en vue de leur exécution. Autrement, . les objets exécutables nouvellement mémorisés sont stockés dans la zone utilisateur, les instructions contenues dans les nouveaux objets exécutables n'auront aucun moyen d'identifier les adresses des instruc tions basiques pré-mémorisées dans la zone de code et seront incapa bles d'appeler ces instructions basiques pour des prises en charge. Les objets téléchargeables selon la présente invention, eux, utilisent des techniques différentes qui permettent à des options étendues d'etre mé morisées dans la zone utilisateur pour surmonter les contraintes de l'espace mémoire restreint dans la zone de code du microprogramme. Les objets téléchargeables exécutables de la présente inven tion sont exécutables n'importe où dans le microprogramme, c' -à-di- re que les objets téléchargeables peuvent être positionnés et exécutés dans n'importe quelle partie de la zone utilisateur ou de la zone de co de du microprogramme. Pour rendre exécutables n'importe où les ob jets téléchargeables exécutables dans le microprogramme de l'impri mante, ou de n'importe quel autre périphérique, la présente invention adopte des techniques de saut relatif et/ou d'appel de routines dans la création de codes source des objets téléchargeables exécutables. Par conséquent, les instructions des objets téléchargeables exécutables n'ont pas besoin de se voir pré-attribuer des adresses spécifiques dans le microprogramme pour être exécutables selon la présente invention. Les codes source de tous les objets téléchargeables sont tra duits en codes objrts par le fabricant pour être stockés sur le(s) dis- que(s) cédérom(s), le(s) disquette(s), ou bien être accessibles sur un site Internet, prêts à être téléchargés par l'utilisateur. Lorsqu'il assem ble les codes source de chaque objet téléchargeable, l'assembleur gé- nère un fichier objet pour chaque objet téléchargeable. Chacun des fi chiers objets contient des codes d'objet exécutable ou des codes d'ob jet image de l'objet téléchargeable concerné. Ensuite, l'éditeur de liens relie un ou plusieurs fichiers objet et génère un ou plusieurs fichiers image exécutables prêts à être téléchargés dans n-iicroprogramme de l'imprimante. Ces fichiers image exécutables sont ensuite stockés sur le(s) cédérom(s), disquette(s), ou dans un moyen de stockage de don nées d'un site accessible aux utilisateurs pour être fournis aux utilisa- teurs pour être téléchargés. Comme mentionné plus haut, les codes source des objets télé- chargeables contiennent des instructions de saut relatif et/ou d'appels de routines relatifs. Ainsi, contrairement au processus de compilation classique, l'éditeur de liens va reconnaître les instructions de saut re latif et/ou d'appel de routine relatif contenues dans les fichiers objet des objets téléchargeables. Au cours de la génération de fichier(s) image exécutable(s), l'éditeur de liens va alors attribuer des adresses relatives à chaque instruction de prise de décision et l'instruction de destination voulue correspondante de chaque et téléchargeable. En outre, après que l'éditeur de liens a généré les fichiers image exécuta- bles, l'assembleur va générer en outre une zone d'instruction de mémo risation pour chaque fichier image exécutable. La zone d'instruction de mémorisation sera attachée au fichier image correspondant dans la par tie avant et indiquera la taille du fichier image respectif. Lors du télé- chargement des fichiers image, le n-licroprogramme va consulter les zones d'instruction de mémorisation et va reconnaître les adresses re latives parmi les instructions contenues dans les fichiers image. En conséquence, le microprogramme va allouer un espace mémoire propre pour mémoriser chaque fichier image et va attribuer en conséquence des adresses propres aux instructions de chaque fichier image. Par exemple, une instruction contenue dans l'objet téléchargeable mémori sé, dans la zone utilisateur peut faire appel à une autre partie de l'objet téléchargeable. Grâ.ce à la technique de saut relatif, l'instruction appe- lante dans l'objet téléchargeable peut être mémorisée n'importe où dans la zone utilisateur ou dans la zone de code tout en étant toujours apte à trouver une instruction de service voulue. Ceci est dû au fait que l'adresse de l'instruction appelante générée par l'éditeur de liens est en réalité une adresse relative par rapport à l'adresse de l'instruc tion de service voulue de l'objet téléchargeable ou par rapport à l'adresse de l'instruction basique mémorisée dans la zone de code. Une attribution d'adresses spécifiques à ces instructions ne se produira que pendant le téléchargement des fichiers image dans le microprogramme. A ce moment-là, toutes les instructions appelantes et leurs instructions de destination correspondantes connaîÎtront déjà les unes les autres leurs adresses relatives. Ainsi, l'instruction appelante de l'objet télé- chargeable saura où trouver Vinstruction de destination ou l'instruction basique en fonction des informations d'adresses relatives, quel que soit l'endroit où l'objet téléchargeable est mémorisé dans le microprogram- me. De manière similaire, une instruction appelante de l'objet té- léchargeable peut être mémorisée dans la zone de code du micropro gramme selon la présente invention. L'instruction appelante nécessite typiquement très peu d'espace mémoire pour être mémorisée, et est donc adaptée à une mémorisation dans la zone de code. Néanmoins, l'instruction appelante de l'objet téléchargeable peut appeler un sous- programme (ou routine) de l'objet téléchargeable stocké dans la zone utilisateur. Les sous-programmes des objets téléchargeables contien nent souvent des options étendues et nécessitent un espace mémoire beaucoup plus important pour être mémorisés que n'en nécessite une simple instruction appelante. Ainsi, la présente invention peut mémo riser des sous-programmes des objets téléchargeables dans la zone uti lisateur pour surmonter la contrainte de l'espace mémoire limité de la zone de code du microprogramme. En outre, les sous-programmes des objets téléchargeables sont adaptés pour être mémorisés n'importe où dans la zone utilisateur parce que les adresses de ces sous-programmes sont des adresses relatives par rapport à leurs instructions appelantes correspondantes dans la zone de code. En conséquence, la présente in vention étend les fonctionnalités de l'imprimante tout en surmontant la contrainte de l'espace mémoire limité de la zone de code du micropro- gramme en chargeant les sous-programmes des objets téléchargés dans la zone utilisateur. Tous les objets téléchargeables peuvent être mémorisés aléa- toirement dans le microprogramme, et l'ordre de mémorisation des ob jets téléchargeables dans le microprogramme n'est pas important parce que chaque objet téléchargeable est indépendant et est prévu pour être mémorisé, en vue de son exécution, n'importe où dans le micropro- gramme. Comme mentionné précédemment, le(s) cédérom(s) ou dis- quette(s) fournis par le fabricant ou les fichiers objets d'images télé- chargés à partir du site désigné contiennent généralement un objet de préparation/installation exécutable qui peut être exécuté par l'ordina teur connecté à l'imprimante. L'objet de préparation exécutable, une fois exécuté, va afficher une liste des objets téléchargeables sur un dispositif d'affichage relié à l'ordinateur. Ce dispositif d'affichage peut être un moniteur, un écran à cristaux liquides, ou tout autre dis positif approprié pour afficher des informations pour l'interaction sen sorielle avec l'utilisateur de l'ordinateur. Ainsi, l'utilisateur peut utili ser un dispositif de communication de données, par exemple un clavier ou une souris, de l'ordinateur pour choisir les fonctions désirées à té- lécharger dans le microprogramme en sélectionnant les objets qui pro posent ces fonctions parmi tous les objets téléchargeables. Une fois les objets désirés sélectionnés, l'objet de préparation exécutable peut de mander à l'utilisateur de confirmer sa sélection avant de lancer le télé- chargement des objets sélectionnés. Dans le mode de réalisation préféré, le cédérom ou la dis quette fourni(e) par le fabricant peut comporter des objets assistants contenant les fonctions nécessaires pendant l'installation d'autres ob jets téléchargeables sélectionnés par l'utilisateur pour être téléchargés dans le microprogramme du périphérique. Ou bien ces objets assistants peuvent être téléchargés à partir du site désigné par l'utilisateur. Dans un autre mode de réalisation encore, l'objet de préparation exécutable peut contenir les fonctionnalités fournies par les objets assistants. Ces objets assistants contiennent souvent les fonctions nécessaires avant l'installation des objets téléchargeables. Ces fonctions comprennent, entre autres, déterminer quelles fonctionnalités pré-installées se trou vent dans le microprogramme, combien reste-t-il d'espace mémoire dans le microprogramme, ou quelle est la configuration de l'impriman te, etc. Toutes les informations sus-mentionnées sont nécessaires à l'objet de préparation exécutable avant que puisse se produire l'instal lation de n'importe quelle fonctionnalité contenue dans les objets télé- chargeables choisis par l'utilisateur. Lorsqu'ils sont exécutés, ces ob jets assistants peuvent générer un ou plusieurs fichiers temporaires de profil du microprogramme destinés à être utilisés par l'objet de prépa ration pour référence pendant le téléchargement. Par conséquent, ces objets assistants fonctionnels peuvent être mémorisés dans le micro- programme, ou dans la mémoire de l'ordinateur, et sont exécutés avant l'installation de toutes les autres fonctionnalités dans le micropro- gramme. Après l'exécution de ces objets assistants, l'objet de prépara tion exécutable utilise les informations du/des fichier(s) de profil ob- tenu(s) lors de l'exécution de ces objets assistants pour installer dans le microprogramme les objets téléchargeables sélectionnés par l'utili sateur. L'utilisateur peut aussi choisir de télécharger l'objet dans l'im primante. Si l'imprimante a de l'espace, elle mémorise l'objet. Sinon, elle rejette l'objet. En consultant les fichiers temporaires de profil, l'objet de préparation pourrait allouer de manière plus efficace l'espa ce mémoire du microprogramme pour mémoriser ces objets télécharge- ables sélectionnés. Dans le mode de réalisation préféré, les objets as sistants fonctionnels et les fichiers temporaires de profil sont automa tiquement effacés du microprogramme après l'exécution complète de toute la procédure de téléchargement afin d'économiser l'espace mé moire du microprogramme. Il est bien entendu que la description qui précède n'a été don née qu'à titre purement illustratif et non limitatif et que des variantes ou des modifications peuvent y être apportées dans le cadre de la pré sente invention. En particulier, les objets téléchargeables ne doivent pas contenir nécessairement que des codes d'objets exécutables de fonctionnalités. Les objets téléchargeables peuvent aussi contenir des objets graphiques, des objets de police, ou tous autres objets conve nant pour être imprimés par l'imprimante, ou par un appareil de forma- tion d'images. De plus, le concept des objets téléchargeables peut aus si être appliqué à tout autre appareil électronique, pour utiliser de ce fait la mémoire de manière plus efficace. La taille du microprogramme d'un appareil électronique illustré ci-dessus peut également être modi- fiée en fonction des besoins particuliers de cet appareil électronique tout en restant dans le concept inventif de la présente invention. REVENDICATIONS 1. Procédé d'amélioration de la capacité d'extension d'un mi- croprogramme d'une unité périphérique, caractérisé en ce qu'il com prend les étapes consistant à : fournir une pluralité d'objets à un utilisateur de l'unité péri phérique; sélectionner des objets voulus parmi la pluralité d'objets en utilisant un ordinateur connecté à l'unité périphérique; et télécharger les objets sélectionnés dans le microprogramme de l'unité périphérique, les objets sélectionnés étant adaptés pour être mémorisés n'importe où dans le microprogramme de l'unité périphéri que. 2. Procédé selon la revendication 1, caractérisé en ce que la pluralité d'objets comprend un plusieurs objets exécutables, lesdits objets exécutables étant adaptés pour être mémorisés et exécutables n'importe où dans le niicroprogramme de l'unité périphérique. 3. Procédé selon la revendication 1, caractérisé en ce que la pluralité d'objets comprend un ou plusieurs objets images à télécharger dans l'unité périphérique. 4. Procédé selon la revendication 1, caractérisé en ce que l'étape consistant à fournir une pluralité d'objets comprend les étapes suivantes : créer un fichier objet chacun des objets de la pluralité d'objets; générer des fichiers objets images pour les fichiers objets; mémoriser les fichiers objets images sur au moins un support de mémorisation de données; et fournir le support de mémorisation de données à l'utilisateur. 5. Procédé selon la revendication 4, caractérisé en ce que le support de mémorisation de données est un cédérom, une disquette, un disque dur portable, ou tout autre support de données qui convient pour recevoir, mémoriser et transférer des données sous forme électro nique. 6. Procédé selon la revendication 4, caractérisé en ce qu'il comprend en outre, après l'étape de génération de fichiers objets ima ges, les étapes suivantes : générer une zone d'instruction de mémorisation pour chaque fichier objet image; et attacher cette zone d'instruction de mémorisation à chaque fi- chier objet image correspondant. 7. Procédé selon la revendication 1, caractérisé en ce que l'étape consistant à fournir une pluralité d'objets comprend les étapes suivantes : créer un fichier obj pour chacun des objets de la pluralité d'objets; générer des fichiers ets images pour les fichiers objets; mémoriser les fichiers objets images sur un support de mémo risation de données accessible l'utilisateur via un site sur Internet; réaliser une connexion de l'utilisateur au site via Internet; et télécharger les fichiers objets images par l'utilisateur dans un support de mémorisation de données de l'ordinateur via Internet. 8. Procédé selon la revendication 7, caractérisé en ce qu'il comprend en outre, après l'étape de génération de fichiers objets ima ges, les étapes suivantes : générer une zone d'instruction de mémorisation pour chaque fichier objet image; et attacher cette zone d'instruction de mémorisation à chaque fi- chier objet image correspondant. 9. Procédé selon revendication 1, caractérisé en ce que l'étape consistant à sélectionner des objets voulus comprend les étapes suivantes : faire exécuter un et exécutable de préparation contenu dans la pluralité d'objets l'ordinateur; afficher une liste de la pluralité d'objets sur un support d'affi chage connecté à l'ordinateur; sélectionner manuellement les objets voulus parmi la pluralité d'objets par l'utilisateur; et confirmer les objets voulus sélectionnés avant de télécharger ces objets sélectionnés. 10. Procédé selon la revendication 9, caractérisé en ce que le support d'affichage est un moniteur d'ordinateur, un écran cristaux liquides, ou tout autre appareil d'affichage qui convient pour afficher des informations électroniques pour l'interaction sensorielle avec Futi- lisateur. 1 . Procédé selon la revendication 9, caractérisé ce que l'étape consistant à sélectionner des objets voulus comprend en outre les étapes suivantes : contrôler la configuration du microprogramme de l'unité péri phérique exécutant l'objet de préparation; générer au moins un fichier de profil du microprogranune; mémoriser temporairement le fichier de profil pour servir de référence pendant le téléchargement; et effacer le fichier de profil temporaire après la fin du téléchar- gement des objets sélectionnés. 12. Procédé selon la revendication 1, caractérisé en ce que l'étape consistant à télécharger les objets sélectionnés comprend les étapes suivantes : allouer de l'espace mémoire du microprogramme pour chaque objet sélectionné; et transférer les objets sélectionnés respectivement dans l'espa ce mémoire alloué dans le microprogramme pour chaque objet sélec tionné. 13. Une pluralité d'objets logiciels exécutables adaptés pour être mémorisés dans l'espace mémoire d'un microprogramme d'une uni té périphérique, caractérisée en ce qu'elle comprend respectivement des codes d'objet comportant des instructions de saut relatif et des in structions de sous-programmes relatifs, ladite pluralité d'objets exécu tables étant fournie à un utilisateur de l'unité périphérique pour être sélectionnée de manière personnalisée par l'utilisateur et étant respec tivement adaptée pour être mémorisée dans une zone de code (0, 1, H), une zone utilisateur ou une mémoire vive pour diriger le fonctionne ment de l'unité périphérique. 14. Une pluralité d'objets logiciels exécutables adaptés pour être mémorisés n'importe où dans l'espace mémoire d'un micropro- gramme d'une unité périphérique, caractérisée en ce qu'elle comprend respectivement des codes d'objet comportant des instructions d'appel de sous-programmes relatifs, ladite pluralité d'objets exécutables étant fournie à un utilisateur de l'unité périphérique pour être sélectionnée de manière personnalisée par l'utilisateur et étant respectivement adap tée pour être mémorisée dans une zone de code (0, 1, H) et une zone utilisateur du microprogramme pour diriger le fonctionnement de l'uni- té périphérique.