FR2966263A1 - Procede de controle d'un circuit integre, circuit integre et calculateur comportant un circuit integre - Google Patents

Procede de controle d'un circuit integre, circuit integre et calculateur comportant un circuit integre Download PDF

Info

Publication number
FR2966263A1
FR2966263A1 FR1004078A FR1004078A FR2966263A1 FR 2966263 A1 FR2966263 A1 FR 2966263A1 FR 1004078 A FR1004078 A FR 1004078A FR 1004078 A FR1004078 A FR 1004078A FR 2966263 A1 FR2966263 A1 FR 2966263A1
Authority
FR
France
Prior art keywords
integrated circuit
test
module
bus
activation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
FR1004078A
Other languages
English (en)
Other versions
FR2966263B1 (fr
Inventor
Bertrand Danet
Fulchic Stephane Laborie
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vitesco Technologies GmbH
Original Assignee
Continental Automotive GmbH
Continental Automotive France SAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Continental Automotive GmbH, Continental Automotive France SAS filed Critical Continental Automotive GmbH
Priority to FR1004078A priority Critical patent/FR2966263B1/fr
Priority to US13/876,628 priority patent/US9703556B2/en
Priority to PCT/EP2011/004169 priority patent/WO2012052080A1/fr
Priority to CN201180050111.8A priority patent/CN103168290B/zh
Publication of FR2966263A1 publication Critical patent/FR2966263A1/fr
Application granted granted Critical
Publication of FR2966263B1 publication Critical patent/FR2966263B1/fr
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/22Microcontrol or microprogram arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4406Loading of operating system
    • G06F9/441Multiboot arrangements, i.e. selecting an operating system to be loaded

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Tests Of Electronic Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

La présente invention concerne un procédé (50) de contrôle d'un circuit intégré (20) comportant un microprocesseur, dans lequel le circuit intégré (20) est configuré pour exécuter par défaut un programme général, ledit circuit intégré étant contrôlé par activation d'un mode de fonctionnement du circuit intégré, dit « mode bootstrap », dans lequel ledit circuit intégré (20) exécute un programme de chargement d'un programme de spécifique à exécuter. Le procédé (50) comporte : i) une étape (51) d'envoi d'au moins un message d'activation du mode bootstrap à un module (200) de test du circuit intégré (20) par l'intermédiaire d'un bus (310) de test, ii) une étape (52) d'activation du mode bootstrap du circuit intégré (20), exécutée par le module (200) de test du circuit intégré (20), et iii) une étape (53) de chargement du programme spécifique par l'intermédiaire d'un bus (320) de communication différent du bus (310) de test. La présente invention concerne également un circuit intégré (20) et un calculateur (30) embarquant un tel circuit intégré (20).

Description

La présente invention appartient au domaine des circuits électroniques, et concerne plus particulièrement le contrôle de circuits intégrés à microprocesseur. Un microcontrôleur est un exemple de circuit intégré programmable comportant, outre un ou plusieurs microprocesseurs, des mémoires (flash, ROM, EEPROM, RAM, etc.), des périphériques d'interface, etc. Au démarrage, un microcontrôleur exécute un programme d'amorçage, constitué d'instructions de code aptes à être exécutées par un microprocesseur. Un tel programme de d'amorçage est mémorisé dans un mémoire non volatile, par exemple une mémoire ROM (acronyme anglais pour « Read Only Memory »), et permet de lancer par défaut l'exécution d'un programme général plus complexe adapté à réaliser les différentes fonctions prévues du microcontrôleur. En particulier dans les systèmes embarqués, le microcontrôleur peut également être configuré pour exécuter un programme de chargement d'un programme spécifique. Le programme spécifique permet notamment de modifier le programme général en modifiant le contenu d'une mémoire non-volatile dans laquelle est mémorisé tout ou partie dudit programme général. Le mode dans lequel ledit microcontrôleur exécute le programme de chargement (connu sous le nom de « bootstrap loader » dans la littérature anglo-saxonne) est ci-après désigné par « mode bootstrap ».
L'activation du mode bootstrap se fait par polarisation de ports (broches, pattes, etc.) du microcontrôleur, c'est-à-dire en appliquant des signaux prédéterminés sur lesdits ports, qui seront interprétés par le microcontrôleur comme une commande d'activation du mode bootstrap. Ces ports sont le plus souvent dédiés à l'activation du mode bootstrap.
Si le mode bootstrap est activé fréquemment en phase d'intégration / validation du microcontrôleur, ce n'est plus le cas lorsque ledit microcontrôleur est inclus dans un produit fini, par exemple un calculateur de véhicule automobile. Le mode bootstrap n'est alors activé qu'en cas de panne et de retour du calculateur chez le fabricant pour analyse de panne.
On comprend donc que, en dédiant certains ports à l'activation du mode bootstrap, on obtient une utilisation peu efficace des ports du microcontrôleur, ce qui est d'autant plus pénalisant que le nombre de ports d'un microcontrôleur est généralement limité. II est connu de prévoir des ports partagés mis en oeuvre à la fois pour l'activation 35 du mode bootstrap et pour des entrées / sorties du microcontrôleur. Le problème d'une telle approche réside dans le fait qu'il est très complexe en pratique de faire cohabiter sur un même port à la fois l'activation du mode bootstrap et des entrées / sorties du microcontrôleur. D'une part, les signaux pouvant être reçus sur de tels ports peuvent avoir des caractéristiques (tension, fréquence d'horloge, etc.) très différentes suivant qu'il s'agisse de signaux d'activation du mode bootstrap ou de signaux d'entrées / sorties, de sorte que le traitement par le microcontrôleur de ces signaux s'avère complexe et nécessite un grand nombre de circuits logiques. D'autre part, la cohabitation avec des équipements, qui accèdent à ces ports en tant qu'entrées / sorties du microcontrôleur, pose le problème de l'isolation électrique de ces équipements, ainsi que celui d'éviter que des signaux appliqués par ces équipements sur ces ports soient interprétés par erreur comme une activation du mode bootstrap. En effet, dans le cas d'un véhicule automobile, une activation par erreur du mode bootstrap pourrait faire perdre le contrôle dudit véhicule automobile à ses passagers.
La présente invention a pour objectif notamment de réduire le nombre de ports nécessaires à l'activation du mode bootstrap, tout en limitant les modifications à apporter aux circuits intégrés existants. Selon un premier aspect, la présente invention concerne un procédé de contrôle d'un circuit intégré comportant un microprocesseur. Le circuit intégré est configuré pour exécuter par défaut un programme général. Par « contrôle du circuit intégré » on entend une activation du mode bootstrap et un chargement d'un programme spécifique à exécuter. Le procédé de contrôle comporte : - une étape d'envoi d'au moins un message d'activation du mode bootstrap à un module de test du circuit intégré par l'intermédiaire d'un bus de test, - une étape d'activation du mode bootstrap du circuit intégré, exécutée par le module de test du circuit intégré, - une étape de chargement du programme spécifique par l'intermédiaire d'un bus de communication différent du bus de test. Suivant des modes particuliers de mise en oeuvre, le procédé comporte l'une ou 30 plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles : - le circuit intégré étant adapté à charger le programme spécifique par l'intermédiaire de plusieurs bus de communication, l'au moins un message comporte un identifiant du bus de communication à utiliser au cours de 35 l'étape de chargement, - l'activation du mode bootstrap est exécutée par une fonction non verrouillable du module de test, une fonction verrouillable étant une fonction dont l'exécution peut être bloquée par configuration du module de test, - le procédé comporte une étape d'authentification préalable à tout échange de données avec le module de test, - le module de test est un module JTAG. Selon un second aspect, la présente invention concerne un circuit intégré comportant un microprocesseur. Le circuit intégré est configuré pour exécuter par défaut un programme général et pour charger un programme spécifique à exécuter lorsqu'il est dans un mode bootstrap. Le circuit intégré comporte un module de test adapté à activer le mode bootstrap lorsqu'il reçoit au moins un message d'activation dudit mode bootstrap sur un bus de test. Le circuit intégré est configuré pour charger le programme de configuration par l'intermédiaire d'un bus de communication différent du bus de test. Suivant des modes particuliers de réalisation, le circuit intégré comporte l'une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles : - le module de test est un module JTAG, - l'au moins un message d'activation comporte une instruction de contrôle JTAG spécifique.
Selon un troisième aspect, la présente invention concerne un calculateur comportant au moins un circuit intégré selon un mode quelconque de réalisation de l'invention, et comporte une unité d'adaptation entre le bus de test et un bus d'activation. De préférence, le bus d'adaptation comporte moins de pistes que le bus de test. L'invention sera mieux comprise à la lecture de la description suivante, donnée à 25 titre d'exemple nullement limitatif, et faite en se référant aux figures qui représentent : - Figure 1 : une représentation schématique d'un exemple de réalisation intégrant un module JTAG selon l'invention, - Figure 2a : une représentation schématique d'un circuit intégré programmable selon l'art antérieur, 30 - Figure 2b : une représentation schématique d'un circuit intégré programmable selon l'invention, - Figure 3 : un diagramme illustrant les principales étapes d'un procédé de contrôle d'un circuit intégré selon l'invention, - Figure 4 : une représentation schématique d'un mode préféré de réalisation 35 d'un calculateur selon l'invention.
La présente invention concerne un procédé 50 de contrôle d'un circuit intégré programmable, ainsi qu'un circuit intégré 20 programmable et un calculateur 30, comportant ce circuit intégré programmable. Par « circuit intégré programmable », on entend un circuit intégré, comportant un ou plusieurs microprocesseurs, qui, lorsque son mode bootstrap est activé, exécute un programme de chargement (« bootstrap loader ») d'un programme spécifique, différent du programme général. Au sens de l'invention, le contrôle d'un circuit intégré correspond à l'ensemble des opérations à effectuer pour qu'un circuit intégré exécute un programme spécifique (à charger en mémoire) au lieu du programme général.
Le programme spécifique peut être mis en oeuvre pour effectuer diverses tâches, y compris modifier tout ou partie du programme général par modification d'une mémoire non-volatile dans laquelle est mémorisé l'ensemble de codes d'instructions constituant ledit programme général. Le programme spécifique peut également être mis en ceuvre pour modifier un programme de configuration d'un circuit logique programmable (FPGA, PLD, EPLD, etc.) qui peut être externe au circuit intégré programmable. L'invention trouve une application particulièrement avantageuse, bien que nullement limitative, dans les circuits intégrés distribués à grande échelle (calculateurs de véhicules automobiles, terminaux de télécommunications mobiles, etc.) pour lesquels les contraintes de coût, de robustesse et d'optimisation des ressources (en particulier des ports) sont très importantes. Selon l'invention, l'activation du mode bootstrap d'un circuit intégré 20 s'effectue en mettant en ceuvre un module 200 de test du circuit intégré 20. La plupart des circuits intégrés sont de nos jours dotés d'au moins un module de test pour vérifier le fonctionnement desdits circuits intégrés au cours de l'intégration / validation desdits circuits intégrés. Les modules de test sont généralement conservés dans le circuit intégré après validation. D'une part, cela permet d'éviter l'introduction de modifications au circuit intégré après l'avoir validé et, d'autre part, cela permet de conserver la possibilité de tester le circuit intégré en cas de panne et de retour chez le fabricant pour analyse.
De nombreux exemples de tels modules de test existent. On peut citer à titre d'exemples les modules de test suivants : JTAG, BDM, BSC, OCDS, DAP, NEXUS, etc. Dans un mode préféré de réalisation du circuit intégré 20 et de mise en oeuvre du procédé 50 de contrôle, le module 200 de test est un module JTAG (de l'anglais « Joint Test Action Group ») c'est-à-dire un module compatible avec la norme IEEE 1149 « Standard Test Access Port and Boundary Scan Architecture », décrite notamment dans la spécification IEEE Std. 1149.1-1990.
Dans la suite de la description, on se place de manière non limitative dans le cas où le module 200 de test est un module 200 JTAG. Rien n'exclut, suivant d'autres exemples non détaillés, de considérer d'autres types de modules de test. La figure 1 représente schématiquement un exemple non limitatif de réalisation 5 d'un module 200 JTAG modifié selon l'invention. De manière connue, un circuit intégré comportant un module JTAG est muni de plusieurs ports dédiés au test et couplés au module JTAG. En pratique, les circuits intégrés se présentent sous la forme d'une puce électronique montée dans un boîtier. La puce électronique est en outre couplée 10 électriquement à des broches ou pattes (« pins » dans la littérature anglo-saxonne) agencées à l'extérieur dudit boîtier. Dans le contexte de l'invention, on entend par « port » une broche ou une patte, ou tout autre type de contact électrique adapté. Dans le cas d'un module 200 JTAG, le circuit intégré 20 comporte généralement 4 à 5 ports dédiés aux fonctions de test, reliés à un bus 310 de test. Les 15 ports associés à un module 200 JTAG sont les suivants : - TDI (« Test Data Input ») : entrée des données, - TDO (« Test Data Output ») : sortie des données, - TMS (« Test Mode Select ») : sélection du mode de test, - TCK (« Test CIocK ») : horloge, 20 - TRST (« Test ReSeT », optionnel) : réinitialisation. Le rôle et le mode d'utilisation de chacun de ces ports est considéré comme connu de l'homme de l'art, et est en outre détaillé dans la spécification IEEE Std. 1149.1-1990. A des fins de lisibilité des figures, seuls les ports TDI, TDO et TMS y sont représentés. 25 Tel que représenté sur la figure 1, un module 200 JTAG comporte notamment un machine à états 201, c'est-à-dire un circuit logique synchrone adapté à contrôler le fonctionnement dudit module JTAG. Le port d'entrée TDI est couplé à un circuit démultiplexeur 202, qui sépare les signaux reçus sur le port TDI. Une instruction de contrôle est transmise à un registre 30 d'instruction 203, et des données sont transmises à un autre circuit démultiplexeur 204. Les données sont routées vers des registres de données associés à la valeur de l'instruction de contrôle dans le registre d'instruction 203. Par exemple, la norme IEEE 1149 prévoit des registres de données 205 et 206 connus sous les noms respectivement de « BYPASS » (associé à l'instruction de contrôle 35 « BYPASS ») et « IDCODE » (associé à l'instruction de contrôle « IDCODE »), considérés comme connus de l'homme de l'art.
La norme IEEE 1149 prévoit également des registres de données associés à des fonctions de test, comme par exemple une fonction 207 connue sous le nom de « boundary scan », également considérée comme connue de l'homme de l'art. La norme IEEE 1149 prévoit également la possibilité, pour chaque constructeur, de définir ses propres instructions de contrôle et les fonctions de test associées. Selon l'invention, le module 200 JTAG comporte une nouvelle fonction 208 de test pour l'activation du mode bootstrap du circuit intégré 20. Dans l'exemple représenté, et de manière conventionnelle, les sorties des différentes fonctions de test et registres sont alors multiplexées au moyen d'un circuit multiplexeur 209, elles-mêmes multiplexées avec l'instruction de contrôle au moyen d'un autre circuit multiplexeur 210. La sortie du circuit multiplexeur 210 est par exemple reliée au port de sortie TDO. La figure 2a représente schématiquement un circuit intégré 10 selon l'art antérieur. Le circuit intégré 10 comporte des ports, désignés par P0, P1 et P2, dédiés à l'activation du mode bootstrap. Les ports P0, P1, P2 constituent, dans l'art antérieur, une interface d'activation du mode bootstrap. Le circuit intégré 10 comporte un module 120 d'activation du mode bootstrap, couplé aux ports P0, P1, P2. Il comporte également un module 100 de test, un module JTAG dans l'exemple représenté, couplé aux ports TDI, TDO et TMS (qui constituent une interface de test du circuit intégré 10). La figure 2b représente schématiquement le circuit intégré 20 intégrant un module 200 JTAG modifié selon l'invention, tel qu'illustré par la figure 1. Le circuit intégré 20 comporte un module 220 d'activation du mode bootstrap dudit circuit intégré, couplé au module 200 JTAG et commandé par la fonction 208 d'activation dudit module 200 JTAG. Le module 220 d'activation du mode bootstrap remplit sensiblement les mêmes fonctions que le module 120 d'activation du mode bootstrap selon l'art antérieur. Tel qu'illustré sur la figure 213, les ports P0, P1 et P2 sont disponibles pour ajouter d'autres fonctionnalités au circuit intégré 20, l'interface d'activation du mode bootstrap étant à présent l'interface de test (ports TDI, TDO, TMS, etc.) du circuit intégré 20. Le circuit intégré 20 est en outre configuré pour, lorsque le mode bootstrap a été activé par la fonction 208 d'activation ajoutée au module 200 JTAG, charger le programme spécifique par l'intermédiaire d'un bus 320 de communication différent du bus 310 de test. De la sorte, le module 200 JTAG n'est utilisé que pour l'activation du mode bootstrap et pas pour le chargement du programme spécifique.
Le bus 320 de communication peut être de tout type adapté au chargement d'un programme spécifique, et dépend des types de bus de communication supportés par le circuit intégré 20. On peut citer, à titre d'exemples, les bus de communication de type série synchrone / asynchrone, CAN (« Controller-Ares Network »), FlexRay, Ethernet, etc.
La mise en ceuvre d'un bus 320 de communication différent du bus 310 de test présente l'avantage de limiter les modifications à apporter aux modules JTAG existants, dans la mesure où le module 200 JTAG n'est pas mis en ceuvre pour charger le programme spécifique. En outre, cela permet également de limiter les modifications à apporter aux modules d'activation du mode bootstrap existants, dans la mesure où le chargement du programme spécifique peut continuer à se faire par l'intermédiaire du même bus de communication qu'auparavant. Seule l'activation du mode bootstrap est faite via l'interface de test (ports TDI, TDO, TMS, etc.) afin de libérer les ports P0, P1 et P3. La figure 3 représente schématiquement les principales étapes d'un procédé 50 15 de contrôle d'un circuit intégré 20 selon l'invention, lesquelles sont : - une étape 51 d'envoi d'au moins un message d'activation du mode bootstrap au module 200 JTAG du circuit intégré 20 par l'intermédiaire du bus 310 de test, - une étape 52 d'activation, par la fonction 208 d'activation du module 200 20 JTAG, du mode bootstrap du circuit intégré 20, - une étape 53 de chargement du programme spécifique par l'intermédiaire d'un bus 320 de communication différent du bus 310 de test. L'au moins un message d'activation du mode bootstrap comprend notamment une instruction de contrôle prédéterminée, associée à la fonction 208 d'activation du 25 mode bootstrap, introduite dans le module 200 JTAG. De préférence, le programme de chargement, exécuté lorsque le circuit intégré 20 est en mode bootstrap, est adapté à charger le programme spécifique par l'intermédiaire du plusieurs bus 320 de communication différents (série synchrone / asynchrone, CAN, FlexRay, Ethernet, etc.). Dans ce cas, l'au moins un 30 message comporte un identifiant du bus 320 de communication à utiliser, parmi tous les bus de communication disponibles, au cours de l'étape 53 de chargement du programme spécifique, et la fonction 208 active le mode bootstrap pour un chargement via le bus 320 de communication sélectionné. De préférence, la fonction 208 d'activation, introduite dans le module 200 JTAG, 35 est une fonction non verrouillable. Il est connu de prévoir que certaines fonctions de test d'un module 200 JTAG seront verrouillées une fois le circuit intégré monté dans le produit final (par exemple un calculateur de véhicule automobile). Par « fonction de test verrouillée », on entend que le module 200 JTAG est configuré, dans le circuit intégré 20 du produit final, de sorte à ne plus pouvoir exécuter ladite fonction de test verrouillée. Les mécanismes de verrouillage de fonctions de test d'un module JTAG sont considérés comme connus de l'homme de l'art. En cas de panne du circuit intégré 20 dans le produit final, il peut s'avérer nécessaire d'avoir à reprogrammer ledit circuit intégré, de sorte que la fonction 208 d'activation du mode bootstrap doit pouvoir être exécutée y compris dans le produit final. On comprend donc qu'il est avantageux d'avoir une fonction 208 d'activation non 10 verrouillable. La figure 4 représente un exemple de réalisation d'un calculateur 30 comportant une pluralité de circuits intégrés 20 montés sur un circuit imprimé 300. Les circuits intégrés 20 sont reliés au bus 310 de test, et comportent chacun un module 200 JTAG modifié selon l'invention. En outre, lesdits circuits intégrés 20 sont 15 reliés à au moins un bus 320 de communication. De préférence, l'au moins un message, transmis au cours de l'étape 51 d'envoi du procédé 50 de contrôle, comporte un identifiant du circuit intégré 20 dont le mode bootstrap doit être activé. On comprend donc qu'il est possible d'activer séparément le mode bootstrap de chaque circuit intégré 20 comportant un module 200 JTAG modifié, 20 par l'intermédiaire du même bus 310 de test. Le chargement du programme spécifique pour un circuit intégré s'effectue par l'intermédiaire d'un bus 320 de communication différent du bus 310 de test. Dans un mode préféré de réalisation, le calculateur 30 comporte une unité d'adaptation 40 reliée au bus 310 de test. Ce mode préféré de réalisation est illustré par la 25 figure 4 dans le cas d'un calculateur 30 comportant trois circuits intégrés 20 selon l'invention, mais on comprend que ce mode de réalisation est applicable à un nombre quelconque de tels circuits intégrés 20. L'unité d'adaptation 40 est par exemple un microcontrôleur et / ou un circuit logique programmable. L'unité d'adaptation 40 est configurée pour effectuer une 30 adaptation entre, d'une part, le bus 310 de test et, d'autre part, un bus 330 d'activation comportant moins de pistes que le bus 310 de test. Le bus 310 de test, pour un module 200 JTAG, comporte généralement 4 à 5 pistes, reliées respectivement aux ports TDI, TDO, TMS, TCK, et TRST. Le bus 330 d'activation est relié à connecteur 340. Le bus 330 d'activation est de 35 préférence un bus de communication comportant une seule piste, tel que par exemple un bus série asynchrone, de sorte que le connecteur 340 peut ne comporter qu'un seul port.
Le bus 320 de communication est relié à un connecteur 350 qui est, dans l'exemple représenté, distinct du connecteur 340. Rien n'exclut, suivant d'autres exemples non représentés, d'avoir un même connecteur pour le bus 310 de test et le bus 320 de communication.
L'unité d'adaptation 40 est configurée pour échanger des données, sur le bus 310 de test, avec le module 200 JTAG de chaque circuit intégré 20 en mettant en oeuvre le protocole de communication JTAG, défini par exemple par la spécification IEEE Std. 1149.1-1990. L'unité d'adaptation 40 est configurée, en outre, pour échanger des données avec un équipement (non représenté sur les figures) relié au connecteur 340, en mettant en oeuvre un protocole de communication différent du protocole de communication JTAG. L'unité d'adaptation 40 réalise donc une adaptation à la fois matérielle et fonctionnelle entre le bus 330 d'activation et le bus 310 de test. En effet, l'unité d'adaptation 40 assure notamment la conversion entre, d'une part, des signaux mis en forme conformément au protocole de communication utilisé sur le bus 330 d'activation et d'autre part, des signaux mis en forme conformément au protocole de communication JTAG. Un tel calculateur 30, intégrant une unité d'adaptation 40, présente l'avantage de permettre l'activation du mode bootstrap par l'intermédiaire d'un bus 330 d'activation 20' comportant moins de pistes que le bus 310 de test. Cette réduction du nombre de pistes s'accompagne d'une réduction du nombre de ports (ou contacts électriques) du connecteur 340. Dans le cas notamment d'un calculateur de véhicule automobile, le calculateur 30 comporte généralement un boîtier fermé étanche, non représenté sur les 25 figures, à l'intérieur duquel est agencé le circuit imprimé 300. Le boîtier du calculateur 30 comporte également des moyens de connexion externes, qui sont reliés à des connecteurs du circuit imprimé 300. Le nombre de ports (contacts électriques) des moyens de connexion externes est un facteur important car, dans le cas d'un calculateur 30 de véhicule automobile, 30 lesdits moyens de connexion doivent pouvoir supporter des contraintes importantes, notamment de température et d'humidité. L'ajout d'un port sur ces moyens de connexion externes s'accompagne d'une augmentation non négligeable du coût de fabrication. On comprend donc que le nombre de ports doit être réduit au maximum. On comprend que, selon l'invention, l'utilisation du module 200 JTAG pour 35 activer le mode bootstrap d'un circuit intégré 20 permet de libérer des ports de ce circuit intégré 20. Toutefois, dans le cas d'un calculateur 30 comportant un boîtier fermé étanche, il faudrait alors ajouter 4 à 5 ports aux moyens de connexion externes, reliés respectivement aux ports TDI, TDO, TMS, TCK, et TRST. Du fait de l'unité d'adaptation 40, le nombre de ports des moyens de connexion externes, pour activer le mode bootstrap depuis l'extérieur du boîtier fermé du calculateur 30, peut être réduit à un. Il est à noter que les moyens de connexion externes sont reliés à au moins un bus 320 de communication du calculateur 30 pour le chargement du programme spécifique. Dans le cas du calculateur 30 de la figure 4, les moyens de connexion externes sont par exemple reliés au connecteur 340 et au connecteur 350. Dans un mode particulier de réalisation, le protocole de communication utilisé sur le bus 330 d'activation est un protocole sécurisé, nécessitant une authentification préalable avant tout échange de données avec le module 200 JTAG. L'authentification peut mettre en oeuvre tout type d'algorithme d'authentification connu de l'homme de l'art. Le cas échéant, le procédé 50 de contrôle comporte une étape, préalable à tout échange de données avec le module 200 JTAG, d'authentification de l'émetteur de messages reçus par l'unité d'adaptation 40.
De préférence, les données échangées sur le bus 330 d'activation, sont encryptées une fois l'authentification réussie. L'encryption peut mettre en oeuvre tout type d'algorithme d'encryption connu de l'homme de l'art. L'authentification et, le cas échéant, l'encryption, permettent d'empêcher un accès au module 200 JTAG à une personne non autorisée. En outre, cela permet de limiter les risques d'activation par erreur du mode bootstrap d'un circuit intégré 20 relié à l'unité d'adaptation 40 par l'intermédiaire du bus 310 de test.

Claims (10)

  1. REVENDICATIONS1. Procédé (50) de contrôle d'un circuit intégré (20) comportant un microprocesseur, dans lequel le circuit intégré (20) est configuré pour exécuter par défaut un programme général, ledit circuit intégré étant contrôlé par activation d'un mode particulier de fonctionnement du circuit intégré, dit « mode bootstrap », et chargement d'un programme spécifique à exécuter, caractérisé en ce que le procédé (50) comporte : - une étape (51) d'envoi d'au moins un message d'activation du mode bootstrap à un module (200) de test du circuit intégré (20) par l'intermédiaire d'un bus (310) de test, - une étape (52) d'activation du mode bootstrap du circuit intégré (20), 10 exécutée par le module (200) de test du circuit intégré (20), - une étape (53) de chargement du programme spécifique par l'intermédiaire d'un bus (320) de communication différent du bus (310) de test.
  2. 2. Procédé (50) selon la revendication 1, caractérisé en ce que, le circuit intégré (20) étant adapté à charger le programme spécifique par l'intermédiaire de 15 plusieurs bus de communication, l'au moins un message comporte un identifiant du bus (320) de communication à utiliser au cours de l'étape (53) de chargement du programme spécifique.
  3. 3. Procédé (50) selon l'une des revendications 1 à 2, caractérisé en ce que l'activation du mode bootstrap est exécutée par une fonction (208) non verrouillable du 20 module (200) de test, une fonction verrouillable étant une fonction dont l'exécution peut être bloquée par configuration du module (200) de test.
  4. 4. Procédé (50) selon l'une des revendications précédentes, caractérisé en ce qu'il comporte une étape d'authentification préalable à tout échange de données avec le module (200) de test. 25
  5. 5. Procédé (50) selon l'une des revendications précédentes, caractérisé en ce que le module (200) de test est un module JTAG.
  6. 6. Circuit intégré (20) comportant un microprocesseur, ledit circuit intégré étant configuré pour exécuter par défaut un programme général et pour charger un programme spécifique à exécuter lorsqu'il est dans un mode de fonctionnement, dit « mode 30 bootstrap », caractérisé en ce que : - le circuit intégré (20) comporte un module (200) de test adapté à activer le mode bootstrap lorsqu'il reçoit au moins un message d'activation dudit mode bootstrap sur un bus (310) de test, - le circuit intégré (20) est configuré pour charger le programme de 35 configuration par l'intermédiaire d'un bus (320) de communication différent du bus (310) de test.
  7. 7. Circuit intégré (20) selon la revendication 6, caractérisé en ce que le module (200) de test est un module JTAG.
  8. 8. Circuit intégré (20) selon la revendication 7, caractérisé en ce que l'au moins un message d'activation comporte une instruction de contrôle JTAG spécifique.
  9. 9. Calculateur (30) comportant au moins un circuit intégré (20) conforme à l'une des revendications 6 à 8, caractérisé en ce que qu'il comporte une unité d'adaptation (40) entre le bus (310) de test et un bus (330) d'activation.
  10. 10. Calculateur (30) selon la revendication 9, caractérisé en ce que le bus (330) d'adaptation comporte moins de pistes que le bus (310) de test.
FR1004078A 2010-10-18 2010-10-18 Procede de controle d'un circuit integre, circuit integre et calculateur comportant un circuit integre Active FR2966263B1 (fr)

Priority Applications (4)

Application Number Priority Date Filing Date Title
FR1004078A FR2966263B1 (fr) 2010-10-18 2010-10-18 Procede de controle d'un circuit integre, circuit integre et calculateur comportant un circuit integre
US13/876,628 US9703556B2 (en) 2010-10-18 2011-08-18 Method for controlling an integrated circuit, integrated circuit and computer including an integrated circuit
PCT/EP2011/004169 WO2012052080A1 (fr) 2010-10-18 2011-08-18 Procede de controle d'un circuit integre
CN201180050111.8A CN103168290B (zh) 2010-10-18 2011-08-18 用于控制集成电路的方法、集成电路和包括集成电路的计算机

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
FR1004078A FR2966263B1 (fr) 2010-10-18 2010-10-18 Procede de controle d'un circuit integre, circuit integre et calculateur comportant un circuit integre

Publications (2)

Publication Number Publication Date
FR2966263A1 true FR2966263A1 (fr) 2012-04-20
FR2966263B1 FR2966263B1 (fr) 2013-04-05

Family

ID=43592713

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1004078A Active FR2966263B1 (fr) 2010-10-18 2010-10-18 Procede de controle d'un circuit integre, circuit integre et calculateur comportant un circuit integre

Country Status (4)

Country Link
US (1) US9703556B2 (fr)
CN (1) CN103168290B (fr)
FR (1) FR2966263B1 (fr)
WO (1) WO2012052080A1 (fr)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016064933A1 (fr) * 2014-10-20 2016-04-28 Bedrock Automation Platforms Inc. Module inviolable pour système de commande industriel
US9810739B2 (en) * 2015-10-27 2017-11-07 Andes Technology Corporation Electronic system, system diagnostic circuit and operation method thereof

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0884598A1 (fr) * 1997-06-13 1998-12-16 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. Circuit intégré avec interface de test sériel et logique pour charger un registre fonctionnel utilisant cette interface
WO2001029677A2 (fr) * 1999-10-15 2001-04-26 Sun Microsystems, Inc. Procede et appareil permettant d'acceder aux registres de commande et d'etat d'un dispositif dans un systeme informatique
WO2008049060A2 (fr) * 2006-10-18 2008-04-24 Toby Klusmeyer Système, procédé et dispositif pour mettre à jour un équipement électronique programmable à partir d'un service de déploiement via l'internet ou un support de communications
US20090172383A1 (en) * 2007-12-31 2009-07-02 Icera Inc. Booting an integrated circuit
US20100011202A1 (en) * 2008-07-08 2010-01-14 Texas Instruments Incorporated Multi-stage boot pin sampling
US20100070749A1 (en) * 2008-09-15 2010-03-18 Mstar Semiconductor, Inc. Embedded Electronic Device and Booting Method Thereof

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1205788A (zh) * 1995-12-21 1999-01-20 艾利森电话股份有限公司 用于设置集成电路的操作模式的方法和集成电路
JP3289775B2 (ja) 1998-02-27 2002-06-10 日本電気株式会社 Lsi、該lsiを備えた電子機器の制御回路および該制御回路の制御方法
FR2862397A1 (fr) * 2003-11-13 2005-05-20 St Microelectronics Sa Demarrage securise d'un appareil electronique a architecture smp
JP4537940B2 (ja) * 2005-11-21 2010-09-08 株式会社ソニー・コンピュータエンタテインメント 情報処理装置、及びプログラム実行制御方法
US7552028B2 (en) * 2006-12-01 2009-06-23 Advantest Corporation Recording medium, test apparatus and diagnostic method
CN101488091A (zh) 2008-03-07 2009-07-22 中兴通讯股份有限公司 一种嵌入式系统中固化程序的方法
US20100299510A1 (en) * 2009-05-19 2010-11-25 Chip Ueltschey Bluetooth pre-boot authentication in bios

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0884598A1 (fr) * 1997-06-13 1998-12-16 BULL HN INFORMATION SYSTEMS ITALIA S.p.A. Circuit intégré avec interface de test sériel et logique pour charger un registre fonctionnel utilisant cette interface
WO2001029677A2 (fr) * 1999-10-15 2001-04-26 Sun Microsystems, Inc. Procede et appareil permettant d'acceder aux registres de commande et d'etat d'un dispositif dans un systeme informatique
WO2008049060A2 (fr) * 2006-10-18 2008-04-24 Toby Klusmeyer Système, procédé et dispositif pour mettre à jour un équipement électronique programmable à partir d'un service de déploiement via l'internet ou un support de communications
US20090172383A1 (en) * 2007-12-31 2009-07-02 Icera Inc. Booting an integrated circuit
US20100011202A1 (en) * 2008-07-08 2010-01-14 Texas Instruments Incorporated Multi-stage boot pin sampling
US20100070749A1 (en) * 2008-09-15 2010-03-18 Mstar Semiconductor, Inc. Embedded Electronic Device and Booting Method Thereof

Also Published As

Publication number Publication date
CN103168290B (zh) 2016-06-29
CN103168290A (zh) 2013-06-19
WO2012052080A1 (fr) 2012-04-26
US20130238274A1 (en) 2013-09-12
US9703556B2 (en) 2017-07-11
FR2966263B1 (fr) 2013-04-05

Similar Documents

Publication Publication Date Title
EP2280364B1 (fr) Détecteur d'injection de fautes dans un circuit intégré
FR2937437A1 (fr) Procede de fonctionnement d'un equipement embarque, equipement associe et aeronef comprenant un tel equipement
EP3317819A1 (fr) Entité électronique et procédé mis en oeuvre dans une telle entité électronique
EP2466712B1 (fr) Procédé et dispositif de surveillance d'un dispositif équipé d'un microprocesseur
EP0490738B1 (fr) Circuit intégré avec contrÔleur de test périphérique
EP1324175B1 (fr) Module de securisation de donnees par chiffrement/dechiffrement et/ou signature/verification de signature
EP2077515A1 (fr) Dispositif, systèmes et procédé de démarrage sécurisé d'une installation informatique
FR2867635A1 (fr) Procede de traitement de donnees securise, base notamment sur un algorithme cryptographique
FR2966263A1 (fr) Procede de controle d'un circuit integre, circuit integre et calculateur comportant un circuit integre
FR3103584A1 (fr) Procédé de gestion du débogage d’un système sur puce formant par exemple un microcontrôleur, et système sur puce correspondant
EP2963579B1 (fr) Procédé de gestion de l'installation d'une application sur un dispositif électronique
EP1688753B1 (fr) Sécurisation du mode de test d'un circuit intégré
FR2897439A1 (fr) Circuit elelctronique comprenant un mode de test securise par l'utilisation d'un identifiant, et procede associe
EP0469507A1 (fr) Circuit intégré comprenant une cellule standard, une cellule d'application et une cellule de test
WO2002093332A1 (fr) Procede de protection d'un circuit logique contre des attaques exterieures, et unite logique comprenant un circuit logique a proteger contre des attaques exterieures
EP3809303B1 (fr) Procédé d'authentification d'un circuit sur puce et système sur puce associé
EP1877811B1 (fr) Circuit integre comportant un mode de test securise par detection de l etat chaine des cellules configurables du circuit integre
FR2938949A1 (fr) Circuit electronique de securisation des echanges de donnees entre un poste informatique et un reseau.
EP3667530B1 (fr) Accès sécurise à des données chiffrées d'un terminal utilisateur
EP1560032A1 (fr) Procédé de sécurisation du mode de test d'un circuit intégré par détection d'intrusion
FR2885461A1 (fr) Dispositif formant porte logique adaptee pour minimisee les differences de comportement electrique ou electromagnetique dans un circuit integre manipulant un secret
FR2830146A1 (fr) Procede de mise en oeuvre, dans un composant electronique, d'un algorithme de cryptographie et composant correspondant
WO2024105327A1 (fr) Procede et dispositif de controle d'au moins un dispositif embarque dans un aeronef
FR2857535A1 (fr) Procede et systeme pour brouiller le contenu d'une cellule dans un circuit integre.
EP1818677B1 (fr) Circuit électronique comprenant un mode de test sécurisé par rupture d'une chaîne de test

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 6

PLFP Fee payment

Year of fee payment: 7

PLFP Fee payment

Year of fee payment: 8

PLFP Fee payment

Year of fee payment: 9

PLFP Fee payment

Year of fee payment: 10

PLFP Fee payment

Year of fee payment: 11

TP Transmission of property

Owner name: VITESCO TECHNOLOGIES, DE

Effective date: 20210309

PLFP Fee payment

Year of fee payment: 12

CA Change of address

Effective date: 20220103

PLFP Fee payment

Year of fee payment: 13

PLFP Fee payment

Year of fee payment: 14