Brevet FR2822561A1 — publié le 20020927

PROCÉDÉ D'ÉMULATION D'UN MICROPROCESSEUR ENFOUI La présente invention concerne le domaine des circuits comprenant un microprocesseur associé à d'autres fonctions, périphériques ou non. Il s'agit, par exemple, de microcontrôleurs ou autres circuits plus complexes comprenant un microprocesseur, des périphériques et/ou tout autre dispositif de traitement, par exemple, un autre microprocesseur, un circuit de traitement numérique du signal (DSP), etc. L'invention concerne plus particulièrement les systèmes bi-processeurs où l'un des processeurs doit fournir momentanément ses périphériques à un autre processeur. Il s'agit, par exemple, de l'émulation d'un microprocesseur enfoui, c'est-à-dire d'un processeur intégré dans un circuit dont il ne représente qu'une partie et ayant des entrées-sorties qui ne sont pas accessibles depuis l'extérieur du circuit intégré. Lors de l'émulation, les périphériques du processeur enfoui sont sous contrôle d'un microprocesseur externe reproduisant, physiquement ou virtuellement, le microprocesseur enfoui. On définit comme périphérique tout bloc dont le fonctionnement est contrôlé par le microprocesseur, comme des timers, les ports d'entrée/sortie, des mémoires, etc. L'invention sera décrite par la suite en relation avec un exemple d'application à l'émulation d'un microprocesseur enfoui. Toutefois, elle s'applique plus généralement à tout système ayant recours à deux processeurs et requérant une prise de contrôle d'un des processeurs sur des périphériques de l'autre processeur, ainsi qu'au test des fonctionnalités de périphériques d'un microprocesseur enfoui. L'émulation consiste à contrôler le déroulement d'un programme en modifiant le moins possible son environnement. Le plus souvent, les microprocesseurs enfouis doivent être émulés dans leurs conditions de fonctionnement sur une carte d'application. En d'autres termes, ils sont associés à d'autres circuits, périphériques ou non, constitués par exemple de circuits intégrés avec lesquels ils sont montés sur une plaquette de circuit imprimé. La présente invention s'applique plus particulièrement aux émulateurs pour lesquels le circuit à émuler reste connecté sur la carte d'application. Une première solution d'émulation connue consiste à remplacer le circuit intégrant le microprocesseur de la carte d'application par une sonde, connectée à une carte d'interface intermédiaire sur laquelle est monté un microprocesseur spécifique reproduisant les caractéristiques du microprocesseur enfoui. Ce microprocesseur spécifique, connu sous le nom de "bond-out chip", rend accessible, depuis des bornes d'entréesortie du circuit intégré, les connexions du bus interne du microprocesseur enfoui. Avec une telle solution, le programme exécuté est stocké dans une mémoire de l'émulateur au lieu d'être stocké dans une mémoire intégrée avec le microprocesseur enfoui. Le contrôle du bus d'accès à ces mémoires permet d'obtenir des fonctionnalités performantes d'émulation telles que l'enregistrement de la trace, l'analyse de performances ou encore l'analyse de la couverture de code. L'inconvénient majeur de cette solution est que toutes les fonctions du circuit remplacé doivent être implémentées dans l'émulateur. Cette solution doit donc être adaptée à chaque application du circuit. Un autre inconvénient d'une telle solution est qu'elle ne laisse pas le circuit intégré à émuler dans ses conditions réelles de fonction- nement. En particulier, le circuit testé ne correspond pas au circuit réel. Une deuxième solution connue, dérivée de la première, e consiste, pour réduire le nombre de bornes du circuit intégré contenant le microprocesseur à émuler, à utiliser des multiplexeurs pour partager ses bornes d'entrée-sortie. Un inconvénient de cette solution est que cela ne permet pas de tester le circuit dans des conditions réelles de fonctionnement. Comme la première solution, cette solution n'est pas versatile et doit être adaptée à chaque application du circuit. Une troisième solution, connue sous le nom BDM ou Nexus, consiste à laisser l'exécution du programme à la charge du microprocesseur enfoui et à surveiller son fonctionnement par l'intermédiaire d'une liaison vers un dispositif externe. Une telle solution d'émulation n'utilisant que des ressources internes au circuit, offre peu de fonctionnalités performantes d'émulation telles que celles inventoriées pour la première solution. La présente invention vise à proposer une nouvelle solution à l'émulation d'un microprocesseur enfoui ou au test fonctionnel de ses périphériques. D'une part, elle vise à permettre la mise au point du programme avec le circuit dans son application, avec toute la flexibilité souhaitée. D'autre part, elle vise à permettre le test des périphériques dans le circuit, indépendamment du coeur. L'invention vise également à différencier les périphériques du coeur du microprocesseur enfoui, pour que seul le rôle du microprocesseur, et de tout ou partie des mémoires, soit joué par l'extérieur. L'invention vise également à permettre l'émulation alors que le microprocesseur enfoui est dans son environnement applicatif, c'est-à-dire que le circuit intégré le comportant est connecté avec d'autres circuits, périphériques ou non, sur une carte d'application. L'invention vise également à minimiser le nombre de bornes du circuit intégrant le microprocesseur enfoui, en permettant une communication de type série entre le circuit et l'émulateur. On entend par liaison série, une liaison sur un nombre réduit de fils par rapport au nombre de bits véhiculés, quelle que soit l'importance de la réduction. Plus généralement, la présente invention vise à proposer un procédé et un système permettant à un microprocesseur, en place dans son environnement fonctionnel, de donner accès à son bus de communication avec ses périphériques à un autre processeur physique ou virtuel. Pour atteindre ces objets, la présente invention prévoit un procédé d'émulation ou de test fonctionnel d'un premier microprocesseur dans son environnement fonctionnel comprenant un ou plusieurs périphériques et au moins un bus interne de communication entre ce premier microprocesseur et ses périphériques, à partir d'un deuxième microprocesseur, ce procédé consistant : à désactiver le premier microprocesseur ; à utiliser le ou les bus de communication pour communiquer entre les deux microprocesseurs et le ou les périphériques ; et à activer le deuxième microprocesseur. Selon un mode de réalisation de la présente invention, le premier microprocesseur communique avec le deuxième microprocesseur par une liaison série. Selon un mode de réalisation de la présente invention, le premier microprocesseur est implanté sur une carte d'application. Selon un mode de réalisation de la présente invention, des interruptions émanant des périphériques, lorsqu'elles existent, sont traitées par le deuxième microprocesseur. Selon un mode de réalisation de la présente invention, le deuxième microprocesseur est un microprocesseur physique. Selon un mode de réalisation de la présente invention, le deuxième microprocesseur est réalisé par un modèle de simu- lation. La présente invention prévoit également un circuit intégrant un premier microprocesseur, des périphériques, au moins un premier bus de communication entre ce premier microprocesseur et ses périphériques, et des moyens pour désactiver un coeur du premier microprocesseur et pour rendre accessible le premier bus depuis l'extérieur du circuit. Selon un mode de réalisation de la présente invention, le coeur du premier microprocesseur intègre au moins un premier multiplexeur pour commander le ou les premiers bus sélectionnant soit un deuxième bus provenant de l'intérieur du coeur, soit un troisième bus provenant d'un circuit d'interface avec l'extérieur du circuit. Selon un mode de réalisation de la présente invention, le circuit comporte au moins un aiguilleur de distribution de l'état des registres d'interruptions vers le coeur du premier microprocesseur ou le circuit d'interface, et un deuxième multiplexeur de sélection des signaux de contrôle des interruptions entre le coeur du premier microprocesseur et le circuit d'interface. Selon un mode de réalisation de la présente invention, le circuit comporte une borne d'application d'un signal de sélection entre un mode de fonctionnement normal et un mode d'émulation. Selon un mode de réalisation de la présente invention, le premier bus est un bus de registres de fonctions spéciales. La présente invention prévoit en outre un émulateur d'un premier microprocesseur, comportant un coeur de microprocesseur fonctionnellement équivalent à celui du premier microprocesseur et des moyens pour utiliser les périphériques et bus du premier microprocesseur dans une phase d'émulation. En comparant certaines caractéristiques de l'invention par rapport aux trois solutions de l'art antérieur citées plus haut, on peut considérer que : le circuit à émuler reste en place lors de l'émulation dans la troisième solution connue, ainsi que dans l'invention ; le circuit que l'on utilise lors de l'émulation est le même que celui de l'application finale dans la troisième solution connue, ainsi que dans l'invention ; et les mémoires et fonctions d'émulation sont hors du circuit dans les première et deuxième solutions connues ainsi que potentiellement dans l'invention, ce qui confère une grande flexibilité à l'émulateur. L'invention est la seule parmi les solutions décrites à regrouper l'ensemble des caractéristiques et avantages ci-dessus décrits, ainsi que d'autres. Ces objets, caractéristiques et avantages, ainsi que d'autres de la présente invention seront exposés en détail dans la description suivante de modes de réalisation particuliers faite à titre non-limitatif en relation avec les figures jointes parmi lesquelles : la figure 1 représente, de façon très schématique et sous forme de blocs, un mode de réalisation selon l'invention d'un circuit intégrant un microprocesseur enfoui, monté sur une carte d'application et associé à un émulateur ; la figure 2 représente, de façon plus détaillée, un mode de réalisation d'un émulateur selon l'invention ; la figure 3 représente, de façon plus détaillée, un mode de réalisation selon l'invention d'un circuit intégrant un microprocesseur enfoui, monté sur une carte d'application 'et la figure 4 représente, partiellement et de façon très schématique, les éléments de deux microprocesseurs qui participent à la mise en oeuvre d'un mode de réalisation de la présente invention. Les mêmes éléments ont été désignés par les mêmes références aux différentes figures. Pour des raisons de clarté, seuls les éléments du système et les étapes de procédé qui sont nécessaires à la compréhension de l'invention ont été représentés aux figures et seront décrits par la suite. En particulier, les détails constitutifs des circuits périphériques n'ont pas été détaillés et ne font pas l'objet de la présente invention. De même, les structures internes des microprocesseurs n'ont été illustrées que pour les éléments explicites pour la mise en oeuvre de l'invention. En outre, les étapes d'émulation et de test fonctionnel proprement dites sont classiques et ne font pas l'objet de l'invention. L'invention se base sur le fait que les périphériques du microprocesseur enfoui, côté carte dite d'application, communiquent avec le coeur de ce microprocesseur par l'intermédiaire d'au moins un bus. Pour cette raison, le coeur du processeur côté carte d'application est, selon l'invention, modifié pour contenir certaines logiques d'émulation. Ceci pour permettre à un autre microprocesseur de communiquer avec ce ou ces bus d'accès aux périphériques du microprocesseur enfoui, et le cas échéant avec son contrôleur d'interruptions, à travers une interface. Côté émulateur, le coeur du microprocesseur enfoui est reproduit, physiquement ou virtuellement. Quand on choisit le mode d'émulation, l'émulateur est connecté à la carte d'application au moyen d'une interface série ou parallèle. Le microprocesseur à émuler du circuit intégré est fonctionnellement désactivé. Toutes les instructions sont traitées par le coeur de processeur côté émulateur, la communication entre l'émulateur et la carte d'application se limite aux accès aux périphériques. Les mémoires (programme et de données) qui sont utilisées lors de l'émulation sont, de préférence, déportées à l'extérieur du circuit intégré, c'est-à-dire dans l'émulateur. Une logique permettant de déporter ces mémoires est donc présente dans le circuit côté carte d'application. En variante, l'émulateur exploite tout ou partie des mémoires intégrées avec le microprocesseur enfoui ou présentes sur la carte d'application. Une caractéristique de l'invention est que le microprocesseur enfoui est dans son environnement fonctionnel. Au sens de la présente invention, cela signifie que le microprocesseur enfoui est monté sur la carte d'application. Par extension, le microprocesseur peut être monté sur une carte d'essai reproduisant les périphériques de l'application intégrés ou non avec le microprocesseur, ou être intégré avec tous ses périphériques (cas d'une carte à puce, par exemple). L'invention sera décrite par la suite en relation avec un microprocesseur enfoui monté sur une carte d'application. Toutefois, elle s'applique plus généralement à l'émulation d'un microprocesseur dans son environnement fonctionnel. La figure 1 représente, de façon très schématique et sous forme de blocs, un mode de réalisation d'un système d'émulation d'un circuit 3 intégrant un microprocesseur enfoui et divers périphériques selon l'invention. L'émulateur 1 est symbolisé par un bloc comprenant un microprocesseur 10 (, uP2) et des circuits annexes 11 (OIC). Le microprocesseur 10 comporte, de façon classique, un coeur 101 (PC2) et une interface 102 (EMU) reliant un bus 103 interne au microprocesseur 10 à une liaison 2 entre 1'émulateur et le circuit à émuler. L'émulateur a été représenté de façon très simplifiée. Parmi les circuits 11, on trouve généralement des mémoires, et autres dispositifs de commande et d'exploitation. Le circuit 3 est représenté monté sur une plaquette ou carte 5 de circuit imprimé correspondant à la carte d'application, c'est-à-dire dans son environnant fonctionnel. Le circuit intégré 3 est donc associé à des périphériques 51 (BLP) sur la carte d'application. Il peut s'agir, par exemple, de mémoires, d'autres microprocesseurs, de circuits de mesure, etc. En variante, la carte d'application est une carte d'essai (prototype). Le circuit 3 comprend, de façon classique, un microprocesseur enfoui dont seul le coeur 31 (jUPC1) a été représenté en figure 1, et divers périphériques 32 intégrés (ICLP). Parmi ces périphériques, on trouve des mémoires, des circuits d'entréesortie, etc. Selon l'invention, le circuit 3 comprend également un circuit 33 d'interface (EMU) reliant un bus 36, interne au microprocesseur enfoui, à la liaison 2. Le bus 36 communique directement avec le coeur 31 du microprocesseur enfoui. Une caractéristique de la présente invention est que, de préférence, seul le coeur du microprocesseur enfoui et, le cas échéant tout ou partie des mémoires qui lui sont associées, sont émulés par l'émulateur 1. Le reste des constituants du circuit intégré (dont les périphériques qu'il intègre) ainsi que les périphériques de la carte d'application ne sont pas émulés et restent donc en situation réelle de fonctionnement. Au sens de l'invention, on entend par émuler, le fait de déporter un élément à l'extérieur de la carte d'application tout en maintenant à cet élément un fonctionnement identique. En figure 1, le circuit 3 n'a pas été détaillé. On se référera à la description de la figure 3 pour plus de détails d'un exemple particulier. La figure 2 représente un exemple d'émulateur 1 selon l'invention. Tous les constituants de cet émulateur n'ont pas été représentés et son microprocesseur a été symbolisé uniquement par son coeur 101. Parmi les autres circuits (11, figure 1) symbolisés sous forme de blocs, l'émulateur comporte généralement une mémoire d'émulation de type mémoire vive (RAEM, 112) et des circuits logiques 113,114 et 115. Par exemple, un circuit 113 (TML, Trace Module Logic) permet à l'émulateur d'afficher en temps réel ce qui se passe dans le microprocesseur enfoui (mode TRACE), un circuit 114 (CCP, Code Coverage, Profiler) analyse le taux de couverture du code programme et un circuit 115 (SEF, Specific Emulation Functions) contient d'autres fonctions spécifiques à l'émulation. L'émulateur 1 communique avec un système de commande (par exemple, un micro-ordinateur PC) par un bus 12 relié, côté émulateur 1, à un contrôleur local (LOC-CONT) 13. L'émulateur 1 inclut un circuit 102 d'interface (IF), de même que la carte d'application 5 inclut un circuit d'interface 33. La figure 3 détaille le côté carte d'application. La liaison 2 connecte les circuits d'interface 33 et 102 selon l'invention. En figure 3, le circuit 3 (jus) a été représenté de façon plus détaillée qu'en figure 1. On y retrouve les circuits périphériques (ICLP) 32 intégrés. Le coeur 31 (PC1) du microprocesseur enfoui a été représenté inclus dans un bloc 34 symbolisant ce microprocesseur (gPl). Le bloc 34 comporte des circuits d'entrée-sortie 341 (I/O) ainsi que, si besoin, des circuits périphériques 342 (FLP). Du point de vue de l'émulation, les périphériques 342 sont traités comme les périphériques 32 et 51. Ainsi, l'invention permet de ne pas faire de distinction entre les différents périphériques accessibles par le bus, ce qui respecte les conditions réelles de fonctionnement. A l'intérieur du coeur 31, on s'est contenté de représenter un contrôleur d'interruptions 311 (INTER CTRS) et un circuit 312 de gestion du bus de communication entre le coeur 31 et les périphériques. Par exemple, il s'agit du bus de registres de fonctions spéciales (SFR CTRL) d'un microprocesseur de type 8051. Dans ce mode de réalisation de l'invention, le bus communique avec le contrôleur 311 et, à l'extérieur du coeur, avec le circuit d'interface 33. Le bus 36 relie le circuit 312 aux différents périphériques 32 et 342 de façon bidirectionnelle. Un bloc 35 illustrant une mémoire programme et/ou de données (PG/D MEM) a été représenté à cheval sur les lignes séparatrices du microprocesseur 34 et du circuit 3. Ceci pour faire ressortir que cette mémoire peut constituer indifféremment un périphérique du niveau de la carte 5, un périphérique du niveau du circuit 3, ou encore un périphérique du niveau du microprocesseur 34. Le microprocesseur à émuler est utilisé dans son environnement en exploitant les périphériques 51 présents sur la carte d'application 5 et les périphériques 32 et 342 intégrés. Dans l'exemple représenté de mise en oeuvre de l'inven- tion, le coeur du microprocesseur enfoui contient toute la logique nécessaire à l'exécution des instructions. Le coeur 31 peut également contenir le contrôleur d'interruptions capable de gérer des registres et des interruptions spécifiques à la mise en oeuvre de l'invention. Pour un fonctionnement en émulation, le coeur 101 de l'émulateur exécute le programme, en utilisant de préférence la mémoire programme (111) et la mémoire de données (112) de l'émulateur. Il communique avec la carte d'application 5 au moyen de l'interface d'émulation dédiée. Les périphériques (y compris les ports d'entrée-sortie 341) sont en fonctionnement normal et sous contrôle du microprocesseur 101 de l'émulateur. Les interruptions sont gérées par le contrôleur d'interruptions 311 de la carte d'application, puis envoyées vers le coeur de microprocesseur 101 côté émulateur. Certaines interruptions peuvent, par exception, être gérées directement par l'émulateur. Il s'agira, par exemple, des interruptions logicielles. Un avantage de l'invention est que seul le coeur du microprocesseur enfoui et, si besoin tout ou partie des mémoires auxquelles il est associé, sont remplacés par l'émulateur. Tous ses périphériques, qu'ils soient intégrés ou présents sur la carte d'application, sont actifs pendant l'émulation (ou pendant leur test fonctionnel). Les périphériques restent dans l'environnement fonctionnel, et n'ont pas besoin d'être modélisés dans l'émulateur. Parmi les autres avantages de l'invention, on notera : une possibilité de test en condition réelle de fonctionnement en vue du diagnostic in-situ ; une facilité de mise à jour de l'émulateur si celui-ci est réalisé sous forme programmable (matérielle ou logicielle). Chaque nouvelle mise à jour du coeur de processeur peut être immédiatement chargée dans celui de l'émulateur et la mise à jour est effectuée sans changer physiquement aucun composant. Cette différence est importante par rapport aux systèmes d'émulation dans lesquels toutes les fonctions d'émulation sont exécutées par le processeur enfoui ; l'utilisation d'un même émulateur pour différents circuits intégrés contenant le même microprocesseur enfoui, même si d'autres circuits ou processeurs sont intégrés avec ou sont montés sur la carte d'application ; et l'économie d'une réalisation complexe de périphériques côté émulateur. La mise en oeuvre de l'invention requiert quelques bornes supplémentaires sur le circuit intégrant le microprocesseur enfoui. Selon un mode de réalisation préféré de l'invention, la liaison entre l'émulateur et la carte d'application est une liaison de type série. La mise en série est effectuée par les circuits d'interface 102 et 33. Un avantage d'une liaison série est que l'on économise des bornes sur le circuit intégré. L'invention requiert, outre un accès au bus de données, quelques bits de commande (par exemple, un signal d'interruption, un signal de validation, un signal de commande de lecture-écriture et un signal d'horloge). Par exemple, cinq bornes suffisent pour une interface série de type JTAG, voir moins pour une interface série élémentaire comprenant un signal de données bidirectionnel et un signal d'horloge. De plus, ces bornes peuvent être déjà disponibles dans le circuit intégré et être rendues accessibles par multiplexage. Une différence fonctionnelle entre une interface série et une interface parallèle est qu'un fonctionnement en temps réel n'est pas toujours permis au moyen d'une interface série. Toutefois, dans la plupart des applications, les accès aux périphériques interviennent après l'initialisation pour programmer les registres de commande et à la suite d'interruptions. Par la suite, le nombre d'accès à ces périphériques est relativement faible et est le plus souvent acceptable par un utilisateur n'ayant pas d'accès en temps réel. Toutefois, dans des applications nécessitant un grand nombre d'interruptions, on pourra augmenter le débit de transfert de plusieurs façons, par exemple, en multipliant les signaux de données ou en effectuant des transferts à haute fréquence de manière asynchrone par rapport au microprocesseur, tout en conservant, de préférence, l'objectif de minimiser le nombre de bornes. La figure 4 illustre un exemple de modification structurelle d'un microprocesseur enfoui et d'un microprocesseur d'émulateur pour la mise en oeuvre de l'invention. Dans l'exemple de la figure 4, le circuit d'interface propre à l'invention est symbolisé par un bloc 63 (I/F M) constituant un circuit maître en mode d'émulation. Le circuit 63 reçoit le bus 61 issu de bornes 62 du coeur 101 et des signaux 64 provenant également du coeur 101 et servant au contrôle du traitement des interruptions, notamment pour initialiser des lectures et des écritures dans le contrôleur d'interruptions du microprocesseur sur la carte d'application. Le circuit 63 effectue ces lectures et écritures et délivre, à destination du coeur 101, sur une liaison 65, le résultat de ces opérations. Côté carte d'application (AB), on a représenté en figure 4 uniquement le microprocesseur 34 (Pl) et les constituants internes ajoutés par l'invention. La structure du coeur du microprocesseur 31 est similaire à celle du microprocesseur 101. Un multiplexeur 70, sélectionnant le contrôle du bus d'accès aux périphériques, est commandé par un signal indicateur du mode de fonctionnement MNE entre le mode normal et le mode d'émulation. Une première entrée du multiplexeur 70, dédiée au mode normal, reçoit les signaux classiques du bus 71 du coeur de microprocesseur pour les délivrer sur des bornes 72 par un bus interne 71. En sortie des bornes 72, le bus 71 se poursuit, sous la forme du bus 36, jusqu'à des bornes 80 du microprocesseur 34 à destination des registres externes et, à l'intérieur du microprocesseur 34, à destination des périphériques intégrés comme, par exemple, des séquenceurs et les ports d'entrée-sortie. Une deuxième entrée du multiplexeur 70 est reliée à des bornes 73 d'entrée du coeur 31 connectées à un circuit 74 d'interface selon l'invention. Ce circuit, symbolisé par un bloc 74 (I/F S), constitue un circuit d'interface esclave en mode d'émulation. Une sortie 75 du coeur 31 véhiculant les signaux de contrôle d'inter- ruptions est, selon l'invention, reliée à une première entrée d'un multiplexeur 76. Une deuxième entrée du multiplexeur 76 reçoit des signaux équivalents depuis l'interface 74 pour le mode émulation. Le multiplexeur 76 est commandé par le signal MNE. De façon similaire, les signaux provenant du contrôleur d'interruptions 311 indiquant l'état des interruptions (registres de statuts) traversent un aiguilleur 77 de distribution de l'état des registres d'interruptions. Une première sortie de l'aiguilleur 77 est reliée au coeur 31 et une deuxième sortie envoie les signaux vers l'interface 74, qui les mettra en forme avant envoi vers l'émulateur. L'aiguilleur 77 est également commandé par le signal MNE. Le reste des constituants des microprocesseurs est classique. De plus, la réalisation pratique nécessaire à la mise en oeuvre de l'invention se déduit des indications fonctionnelles décrites ci-dessus selon les fonctions intégrées dans le microprocesseur enfoui. En particulier, bien que l'on n'ait pas toujours fait la distinction entre les liaisons multifilaires (bus) et unifilaires, cette distinction est à la portée de l'homme du métier à partir des indications fonctionnelles données sur ces liaisons. Par ailleurs, différents séquencements sont bien entendu possibles et on pourra être amené à modifier le nombre et le rôle des multiplexers de sélection et aiguilleurs entre les modes de fonctionnement normal et d'émulation. Bien entendu, l'invention est susceptible de diverses variantes et modifications qui apparaîtront à l'homme de l'art. En particulier, bien que l'émulateur ait été décrit en relation avec un exemple matériel, toutes les fonctions d'émulation pourront être regroupées de façon logicielle, le coeur de microprocesseur reproduit étant alors un coeur virtuel (un modèle de simulation). De plus, le coeur de microprocesseur enfoui doit pouvoir être désactivé et doit donc comprendre des signaux et/ou instructions nécessaires à cette désactivation. Par exemple, on force un signal spécifique ou un signal de commande de réinitia- lisation, l'exécution du programme interne au microprocesseur étant alors autorisée à partir du moment où le mode d'émulation n'est pas sélectionné. Le signal spécifique correspond, par exemple, au signal MNE alors accessible depuis une borne du circuit intégrant le microprocesseur enfoui. En outre, bien que l'on ait fait référence dans la description qui précède à un bus interne 36, il pourra s'agir de plusieurs bus. En se référant à la figure 2, cela revient à dire que le bus 36 est en fait constitué de deux bus (ou plus) reliant le coeur aux périphériques 342,32 ou 51. Par exemple, dans le cas d'un microprocesseur de type 8051, on peut donner accès au bus SFR ainsi qu'à un bus mémoire. Enfin, dans certains cas, une partie des périphériques pourra être déportée du côté de l'émulateur, par exemple, pour respecter un besoin de fonctionnement en temps réel. REVENDICATIONS 1. Procédé d'émulation ou de test fonctionnel d'un pre- mier microprocesseur (34) dans son environnement fonctionnel comprenant un ou plusieurs périphériques (32,342) et au moins un bus interne (36) de communication entre ce premier microprocesseur et ses périphériques, à partir d'un deuxième microprocesseur (10), caractérisé en ce qu'il consiste : à désactiver le premier microprocesseur ; à utiliser le ou les bus de communication (36) pour communiquer entre les deux microprocesseurs et le ou les périphériques ; et à activer le deuxième microprocesseur. 2. Procédé selon la revendication 1, caractérisé en ce que le premier microprocesseur (34) communique avec le deuxième microprocesseur (10) par une liaison série (2). 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que le premier microprocesseur (34) est implanté sur une carte d'application (5). 4. Procédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que des interruptions émanant des périphériques (32,342, 51,52), lorsqu'elles existent, sont traitées par le deuxième microprocesseur (10). 5. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que le deuxième microprocesseur (10) est un microprocesseur physique. 6. Procédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce que le deuxième microprocesseur (10) est réalisé par un modèle de simulation. 7. Circuit (3) intégrant un premier microprocesseur (34), des périphériques (32,342) et au moins un premier bus (36) de communication entre ce premier microprocesseur et ses périphériques, caractérisé en ce qu'il comporte en outre des moyens pour désactiver un coeur (31) du premier microprocesseur et pour rendre accessible le premier bus depuis l'extérieur du circuit. 8. Circuit selon la revendication 7, caractérisé en ce que le coeur (31) du premier microprocesseur (34) intègre au moins un premier multiplexeur (70) pour commander le ou les premiers bus (36), sélectionnant soit un deuxième bus provenant de l'intérieur du coeur, soit un troisième bus provenant d'un circuit d'interface (74) avec l'extérieur du circuit. 9. Circuit selon la revendication 8, caractérisé en ce qu'il comporte au moins un aiguilleur (77) de distribution de l'état des registres d'interruptions vers le coeur (31) du premier microprocesseur ou le circuit d'interface (74), et un deuxième multiplexeur (76) de sélection des signaux de contrôle des interruptions entre le coeur du premier microprocesseur et le circuit d'interface. 10. Circuit selon l'une quelconque des revendications 7 à 9, caractérisé en ce qu'il comporte une borne d'application d'un signal de sélection (MNE) entre un mode de fonctionnement normal et un mode d'émulation. 11. Circuit selon l'une quelconque des revendications 7 à 10, caractérisé en ce que le premier bus (36) est un bus de registres de fonctions spéciales (SFR). 12. Emulateur d'un premier microprocesseur (34), caractérisé en ce qu'il comporte un coeur (101) de microprocesseur fonctionnellement équivalent à celui du premier microprocesseur et des moyens pour utiliser les périphériques et bus du premier microprocesseur dans une phase d'émulation.