Brevet FR2926147A1 — publié le 20090710

"CALCULATEUR EMBARQUE ET PROCEDE DE CONFIGURATION DE CALCULATEUR EMBARQUE". L'invention concerne un calculateur embarqué et un procédé de configuration d'un calculateur embarqué, le calculateur embarqué comprenant une mémoire accessible uniquement en lecture qui héberge un logiciel applicatif et une mémoire permanente pour conserver des données lisibles et inscriptibles par le logiciel applicatif. L'électronique est omniprésente dans les véhicules modernes, notamment les véhicules automobiles. En l'espace de quelques années, de nombreux calculateurs sont apparus, contribuant notamment à renforcer le confort et la sécurité du véhicule et de ses occupants. Ces calculateurs, souvent appelées UCE, acronyme de l'expression � unités de contrôle électronique �, offrent une multitude de nouvelles fonctions logicielles susceptibles d'évoluer tout au long de la vie du véhicule. Selon la technologie de composant choisie lors du développement, les calculateurs ne présentent pas tous les mêmes possibilités de mise à jour ou de configuration de leur logiciel. Le document FR2805362 divulgue un système de configuration d'un calculateur embarqué à bord d'un véhicule automobile. Une ou plusieurs calibrations étant stockées dans le calculateur, une opération de télé codage prévoit un chargement de quelques octets qui permettent de sélectionner une calibration parmi celles supportées par le logiciel présent dans le calculateur. Afin de s'assurer que la calibration télé codée correspond bien à la configuration du véhicule monté, un contrôle de cohérence est effectué par le calculateur au moment de la prise en compte de la requête de télé codage. Pour des calculateurs présentant peu de diversité, il est possible de stocker dans le logiciel applicatif la liste exhaustive de toutes les combinaisons de télé codage supportées par le logiciel. On nomme � vie série �, la phase qui, après le lancement d'un véhicule, en accompagne l'évolution pendant toute sa vie commerciale. De nouvelles configurations peuvent naître au cours de la vie série d'un véhicule sans que celles-ci soient nécessairement prévues au moment de la conception ou de la mise au point du calculateur. La liste des combinaisons de télé codage, exhaustive en début de vie série, n'est plus forcément exhaustive à tout moment de la vie série. Créer un nouveau calculateur, en ce qui concerne sa nature matérielle ou logicielle, à chaque naissance d'un modèle original engendre des coûts non seulement de conception mais aussi de maintenance et de gestion des stocks qui sont un frein à la créativité des constructeurs automobiles. De façon à fournir la souplesse utile à la fabrication d'une grande variété de véhicules, notamment de véhicules automobiles, un objet de l'invention est un procédé comprenant : - une première étape dans laquelle on stocke dans une première zone de mémoire permanente réinscriptible, un fichier contenant au moins deux calibrations du logiciel applicatif, et une structure de données comprenant des pointeurs, chacun associé à une calibration contenue dans le fichier ; -une deuxième étape dans laquelle on écrit dans une deuxième zone de la mémoire permanente, une collection ordonnée d'au moins un indexe de façon à sélectionner un pointeur dans la structure de données vers l'une des calibrations contenues dans la première zone de la mémoire permanente. Selon différentes alternatives préférées de mise en oeuvre, la structure de données comprend un ensemble des indexes d'aiguillage possible vers lesdits pointeurs, la deuxième étape est conditionnée par une troisième étape qui teste si la collection ordonnée concorde avec la structure de donnée et/ou la deuxième étape est activée à condition que la première zone soit confirmée. Un autre objet de l'invention est un calculateur embarqué comprenant une mémoire accessible uniquement en lecture qui héberge un logiciel applicatif et une mémoire permanente pour conserver des données lisibles et inscriptibles par le logiciel applicatif. Le calculateur est remarquable en ce qu'il est agencé pour mémoriser : - dans une première zone de la mémoire permanente, un fichier contenant au moins deux calibrations du logiciel applicatif, et une structure de données comprenant des pointeurs, chacun associé à une calibration contenue dans le fichier ; - dans une deuxième zone de la mémoire permanente, une collection ordonnée d'au moins un indexe d'aiguillage qui sélectionne un pointeur dans la structure de données vers l'une des calibrations contenues dans la première zone de la mémoire permanente. Selon différentes alternatives préférées de mise en oeuvre, la structure de données comprend un ensemble des indexes d'aiguillage possible vers lesdits pointeurs, le calculateur comprend des moyens pour contrôler que la collection ordonnée concorde avec la structure de donnée, comprend un système d'entrée sortie agencé pour recevoir une requête de téléchargement contenant le fichier de façon à en confirmer une présence dans la première zone et/ou pour recevoir une requête de télé codage contenant la collection ordonnée de façon à en confirmer une présence dans la deuxième zone. D'autres caractéristiques et avantages de l'invention ressortiront plus clairement de la description qui en est faite ci-après, à titre indicatif et nullement limitatif, en référence aux dessins annexés, dans lesquels : - la figure 1 représente schématiquement un calculateur embarqué et des accessoires de configuration du calculateur ; - la figure 2 montre une table de correspondance qui permet d'indiquer une calibration à prendre en compte - la figure 3 montre des nomenclatures permettant 5 de déterminer des paramètres de calibration ; - la figure 4 montre un fichier contenant plusieurs calibrations possibles ; - les figures 5 à 7 montrent différentes formes de fichiers de calibration conformes à l'invention ; 10 - les figures 8 à 10 montrent des étapes de procédé conforme à l'invention. En référence à la figure 1, un calculateur embarqué comprend une mémoire 10 accessible uniquement en lecture, une mémoire permanente 20, un système d'entrée sortie 32 15 et un bus 31 agencé pour accéder en lecture à la mémoire 10, en lecture écriture à la mémoire 20 et pour communiquer avec le système d'entrée sortie 32. La mémoire 10 est de type ROM, ce type de mémoire est généralement directement programmé par le fondeur de 20 silicium au moyen de masques. Une zone 11 de la mémoire 10 est agencée pour contenir un programme applicatif qui dédit le calculateur embarqué à un usage particulier, par exemple liaison au sol d'un véhicule. Un processeur 30 est agencé pour exécuter le 25 programme hébergé dans la zone 11 de la mémoire 10 en y accédant au moyen du bus interne 31. Le processeur 30 regroupe les composants habituels nécessaires à l'exécution des programmes, c'est-à-dire généralement arithmétique et logique, une antémémoire, une mémoire 30 vive de type RAM et le micro programme nécessaire au fonctionnement du processeur 30. L'ensemble mémoire 10 et processeur 30 peut aussi être remplacé par un circuit ASIC, c'est-à-dire un circuit électronique dédié à une application particulière, programmé au moyen de masques 35 directement chez le fondeur de silicium. La mémoire 20 est permanente, c'est-à-dire qu'elle conserve ses données après mise hors fonctionnement du calculateur embarqué 1, par coupure de tension ou autre. Cependant elle est inscriptible, c'est-à-dire accessible en écriture à tout moment pendant le fonctionnement du calculateur 1. La mémoire permanente 20 est préférentiellement du type EEPROM. Une zone 21 de la mémoire 20 est agencée pour contenir des données écrites par le programme applicatif pendant le fonctionnement du calculateur 1 tels que des défauts, des mesures ou tout autre type d'événements utiles pour diagnostiquer et adapter l'usage du véhicule auquel le calculateur embarqué 1 est dédié. Le logiciel applicatif hébergé en zone 11 de la mémoire 10 est dédié à une application prédéterminée, le contrôle des liaisons au sol qui comprend le contrôle de freinage, le contrôle de direction et tout ce qui touche à la stabilité du véhicule, ou bien d'autres fonctions peu évolutives tel que l'affichage sur le tableau de bord ou le contrôle d'éclairage. Chaque type de véhicule correspond à une calibration du logiciel applicatif qui est adaptée à la motorisation, à la carrosserie et éventuellement à différentes options du véhicule. Une calibration comprend un ensemble de paramètres tels que des coefficients, des cartographies, nécessaires pour faire fonctionner le logiciel applicatif pour une configuration de véhicule donnée. Pour éviter de devoir fabriquer un calculateur embarqué différent pour chaque type de véhicule, on prévoit de stocker une série 24 de calibrations telle que représentée en figure 4, dans le calculateur 1. Ainsi en stockant au moins deux calibrations dans le calculateur 1, il est possible d'adapter le calculateur 1 à au moins deux types de véhicules et en y stockant d'avantages de calibrations, en fonction des capacités de stockage du calculateur 1, il est possible d'adapter le calculateur 1 à d'autant plus de types de véhicules. Une zone 22 de la mémoire 20 est prévue pour contenir une information qui indique au logiciel applicatif, contenu en zone 11, laquelle des calibrations est à utiliser pour l'usage particulier auquel est dédié le calculateur embarqué 1. Une fonction de télé codage, contenue en mémoire 10, permet au processeur 30 d'écrire l'information pertinente dans la zone 22 en réponse à une requête reçue sur le système d'entrée sortie 32. La requête qui contient l'information à écrire en zone 22, est générée par un outil 2 extérieur au calculateur embarqué 1. L'outil 2 communique d'une part avec le système d'entrée sortie 32 et d'autre part avec une base de données externe 3. La base de données externe 3 contient des nomenclatures 31, 32 telles que celles représentées en figure 3. La nomenclature 31 correspond à un critère de choix A tel que par exemple la motorisation. La nomenclature 31 comprend alors une liste de motorisations DW12, DW10, DV6, DV4 à chacune desquelles correspond un index $F7, $FB, $FD, $FE. La nomenclature 32 correspond à un critère de choix B tel que par exemple la carrosserie. La nomenclature 32 comprend alors une liste de carrosseries X6, D25, D23, D22 à chacune desquelles correspond un index $F7, $FB, $FD, $FE. Dans une zone 12 de la mémoire 10, une fonction de téléchargement permet au processeur 30 de piloter le système d'entrée sortie 32 de façon à stocker dans la mémoire 20, les informations transmises avec la requête émise par l'outil 2. Plus précisément ces informations sont sous forme d'un fichier qui contient la série 24 de calibrations à stocker dans la zone 23. Dans une zone 13 de la mémoire 10, une fonction de télé codage est prévue pour sélectionner parmi les calibrations disponibles en zone 23, celle qui est adaptée pour faire fonctionner le logiciel applicatif contenu dans la zone 11, en fonction d'une ou plusieurs indications contenues dans la zone 22 de la mémoire 20. La fonction de télé codage contenue en zone 13, permet aussi de gérer des requêtes émises par l'outil 2 de façon à écrire en zone 22, l'indication de la calibration à sélectionner. L'outil 2 pour le télé codage en zone 23 peut constituer un objet matériel distinct et différent d'un objet matériel constituant l'outil 2 pour le téléchargement. Ce peut être aussi le même objet matériel avec possibilité de sélection entre les fonctions de téléchargement et de télé codage. De façon à permettre une sélection de calibration en fonction de différentes combinaisons possibles de critères de sélection A, B, l'indication contenue en zone 22 est une collection ordonnée d'au moins un indexe qui permet de sélectionner un pointeur dans une structure de données telle que celle représentée en figure 2. Par exemple, la structure de données 14 est constituée par un tableau dont chaque ligne est indexée en fonction du critère de choix B et dont chaque colonne est indexée en fonction du critère de choix A. Chaque case du tableau qui constitue la structure de données 14, contient alors un pointeur vers l'une des calibrations contenues dans la zone 23. La structure de données 14 fait partie intégrante de la fonction de télé codage hébergée en zone 13 de la mémoire 10. Pour télé coder, en d'autres termes pour sélectionner la calibration qui convient au fonctionnement du logiciel applicatif hébergé en zone 11, il est nécessaire de disposer de la structure de données 14. Il est donc naturel d'héberger la structure de données 14 dans la zone 13 de la mémoire 10. Cet agencement convient tant que le calculateur 1 est utilisé pour des configurations de véhicule auxquelles correspond une calibration adaptée en zone 23 et un pointeur vers cette calibration en zone 14 à l'intersection des indexes qui définissent la configuration du véhicule. Cependant, si on désire employer d'autres calibrations ou définir d'autres configurations de véhicule, le stockage de la structure de données 14 en zone 13 de la mémoire 10, pose des problèmes d'adaptation tels qu'un risque de refus du calculateur, par exemple lorsqu'il n'existe pas de pointeur dans la structure de données vers une calibration souhaitée, tels encore qu'un risque de mauvaise interprétation du calculateur, par exemple lorsque qu'un pointeur dans la structure de données pointe vers une autre calibration que celle souhaitée. En référence à la figure 5, un fichier 25 téléchargé en zone 23, permet une autre sélection de calibration Ca14, Ca15, Ca16 que des calibrations initialement prévues Cali, Ca12, Ca13. Plutôt que d'être stockée dans la zone 13 de la mémoire 10, la structure de données 14 fait maintenant partie du fichier 25 qui est téléchargé en zone 23. La fonction de télé codage hébergé en zone 13 de la mémoire 10 n'est plus gravée pour accéder à la structure de données 14 en zone 13 mais au contraire à la structure de données 14 stockée en zone 23 au sein du fichier 25. La structure de données 14 contient alors différents pointeurs vers les calibrations Ca14, Ca15, Ca16. Lorsque l'on veut sélectionner une calibration parmi celles représentées en figure 4, il suffit de télécharger en zone 23 un fichier 25 comprenant en tête la structure 14 telle que représentée en figure 2 à la suite de laquelle on trouve alors les calibrations représentées en figure 4. En référence à la figure 6, un fichier 26 agencé pour être stocké en zone 23, minimise la place mémoire nécessaire, en considérant de façon implicite les indexes de ligne et de colonne sans nécessité de les nommer, et en réduisant chaque pointeur à 2 bits de sorte que la valeur 01 pointe vers la première calibration à la suite de la structure de données, la valeur 10 pointe vers la deuxième calibration stockée dans le fichier 26 et la valeur 11 pointe vers la troisième calibration stockée dans le fichier 26. La valeur 00 indique simplement qu'aucune calibration n'est stockée dans le fichier 26 pour la combinaison d'indexes de ligne et de colonne conduisant à la case qui contient la valeur 00 En référence à la figure 7, le principe précédemment expliqué en référence aux figures 2, 5 et 6, est conservé. Simplement, la structure de données est agencée différemment en ce qu'elle se présente sous forme d'une liste à trois champs, le premier champ contient l'indexe du critère A, le deuxième champ contient l'indexe du critère B et le troisième champ contient le pointeur vers une calibration du fichier 26 qui correspond à la combinaison d'indexes du premier et deuxième champ. La valeur 00 n'est plus nécessaire car simplement, une combinaison d'indexes pour laquelle il n'existe aucune calibration correspondante, est absente des deux premiers champs. Ainsi la structure de données comprend un ensemble des indexes d'aiguillage possible vers lesdits pointeurs. En référence à la figure 8, une étape 100 démarre une initialisation du calculateur 1. A la suite de l'étape 100, une transition 101 est validée si la zone 23 est confirmée et une transition 113 est validée si la zone 23 est non confirmée. En d'autres termes, dans l'étape 100, le calculateur 1 commence par vérifier si un fichier de calibration est présent dans la zone 23 de la mémoire EEPROM. Si un fichier est présent en zone 23, la zone 23 est confirmée. Si la zone 23 est vide, c'est la transition 113 qui est validée. Une validation de la transition 101 active une étape 102 dans laquelle le calculateur réalise un contrôle de la mémoire EEPROM, par exemple un contrôle de redondance cyclique, pour vérifier l'intégrité des calibrations et de la table de correspondance. Ceci permet de détecter une éventuelle altération des données depuis le téléchargement du fichier de calibration. Si le teste d'une étape 103 de contrôle échoue, une étape 104 est activée dans laquelle un défaut de redondance cyclique � CRC EEPROM � est mémorisé en zone 21 de la mémoire 20 puis une étape 115 commande de démarrer le logiciel applicatif en mode dégradé. Si le test de l'étape 103 est positif, le calculateur relie la configuration programmée dans la mémoire EEPROM lors du dernier télé codage, en d'autres termes il regarde si le contenu de la zone 22 est confirmé ou pas. Une transition 105 est validée si la zone 22 est confirmée, c'est-à-dire si un télé codage sans échec a déjà été réalisé. Une transition 111 est validée si la zone 22 est non confirmée, en d'autres termes si aucun télé codage valide n'a été effectué. Une validation de la transition 111 active une étape 112 dans laquelle le calculateur mémorise un défaut � télé codage non effectué �. A la suite de l'étape 112, l'étape 115 est activée pour démarrer le logiciel applicatif en mode dégradé. Le mode dégradé de l'étape 115, correspond à un fonctionnement limité établi en fonction de contraintes notamment en usine. Par exemple, le mode dégradé ne doit pas empêcher de déplacer le véhicule. Une validation de la transition 105 active une étape 106 dans laquelle le calculateur 1, lie la case de la structure de données contenue en zone 23 qui est définie par la combinaison d'indexes lue en zone 22. Une étape de tests 107 vérifie si la case est renseignée. Ceci permet de vérifier que la configuration programmée lors du dernier télé codage correspond bien à une configuration possible, c'est-à-dire qu'il existe une calibration adaptée à l'indication qui figure en zone 22. Ce test est utile pour s'assurer que la valeur programmée stockée en EEPROM n'a pas été corrompue depuis l'opération de télé codage. Si le test de l'étape 107 est négatif, un défaut � mauvaise configuration � est mémorisé dans une étape 108 à la suite de laquelle l'étape 115 est à nouveau activée. La zone 21 de la mémoire 20 constitue alors un moyen pour contrôler que la collection ordonnée ($F(A), $F(B)) concorde avec la structure de donnée (14) en mémorisant le défaut. On pourrait penser que le défaut � mauvaise configuration � ne remonte jamais puisqu'un test de cohérence est généralement effectué lors du télé codage. En cas d'échec, la requête de télé codage est rejetée et la mauvaise configuration n'est pas mémorisée. Cependant, indépendamment du télé codage, il est possible de télécharger un nouveau fichier de calibration sans prendre la précaution de mettre à jour le télé codage. Ceci peut être le cas d'une modernisation logicielle en après vente ou en retouche en usine. Le calculateur détectera alors cette mauvaise manipulation à l'initialisation suivante et remontra immédiatement le défaut � mauvaise configuration � dans l'étape 108. Le test de l'étape 107 n'est pas nécessaire lorsque la structure 14 est stockée dans la zone 13 de la mémoire 10 accessible uniquement en lecture car dans ce cas le téléchargement en zone 23 n'a pour but que de corriger des bogues dans les calibrations déjà présentes en mémoire 20. Une structure de données constituée par une table de correspondance permanente en zone 13 interdit de télécharger de nouvelles calibrations qui ne sont pas initialement prévues par la table de correspondance, ce qui minimise le risque d'erreur de cohérence entre les calibrations téléchargées et le télé codage programmé. Cependant, le gain en souplesse obtenu par le stockage de la structure de données en zone 23 de la mémoire 20 rend utile le test de l'étape 107. Une réponse positive au test de l'étape 107, active une étape 109 dans laquelle un pointage vers la calibration désignée par la case correctement renseignée, permet d'activer l'étape 110 dans laquelle le logiciel applicatif est démarré en mode nominal. Une validation de la transition 113 active une étape 114 dans laquelle un défaut � téléchargement non effectué � est mémorisé en zone 21 de la mémoire 20 pour ensuite activer l'étape 115 qui démarre le logiciel applicatif en mode dégradé. L'activation de l'étape 110 ou de l'étape 115 provoque la fin de la procédure d'initialisation. Lorsque le défaut � télé codage non effectué � apparaît, on peut adresser une requête de télé codage au calculateur qui exécute alors les étapes présentées à présent en référence à la figure 9. Une réception de requête de télé codage par le calculateur, active une étape 200 qui branche le processeur 30 en tête de zone 13 où réside la fonction de télé codage de façon à démarrer un traitement de la requête. A la suite de l'étape 200, une transition 201 est validée si la zone 23 est confirmée et une transition 210 est validée si la zone 23 est non confirmée. Une validation de la transition 210, active une étape 211 pour émettre une réponse négative à la requête, contenant un message du type � conditions non satisfaites �. Une validation de la transition 201 active une étape 202 dans laquelle la fonction de télé codage adresse en zone 23 de la mémoire 20, la case de la structure de donnée qui est référencée par les valeurs d' indexe A, par exemple pour le type de moteur et B, par exemple pour le type de carrosserie, qui sont reçues dans le corps de la requête en étape 200. Une lecture de la case adressée, permet d'exécuter une étape de test 203 pour contrôler si la case est renseignée, c'est-à-dire s'il existe dans cette case, un pointeur vers une calibration contenue en zone 23. Dans le cas particulier de la figure 7, les actions décrites ci-dessus reviennent à vérifier la présence des valeurs d'indexes dans la liste exhaustives des combinaisons supportées par le logiciel applicatif. Si le test de l'étape 203 échoue, l'étape 211 est activée. Le système d'entrée sortie 32 constitue alors un moyen pour contrôler que la collection ordonnée ($F(A), $F(B)) concorde avec la structure de donnée 14 en signalant une discordance détectée. Si le test de l'étape 203 est positif, une étape 204 est activée dans laquelle le calculateur écrit la combinaison d'indexes (A,B) en zone 22. Une étape 205 de test contrôle si l'écriture est 5 correctement effectuée. Une réponse négative au test de l'étape 205 active une étape 208 pour infirmer le télé codage. Une réponse négative à la requête est alors émise dans une étape 209. Une réponse positive au test de l'étape 205 active 10 une étape 206 pour confirmer le télé codage. Selon un mode particulier de réalisation, une confirmation du télé codage efface automatiquement le défaut � télé codage non effectué �. Une réponse positive à la requête est alors émise dans une étape 207. 15 L'activation de l'étape 207, de l'étape 209 ou de l'étape 211 provoque la fin du traitement de la requête de télé codage. Lorsqu'on reçoit une réponse négative à la requête de télé codage ou lorsque le défaut � téléchargement non 20 effectué � apparaît, on peut adresser une requête de téléchargement au calculateur qui exécute alors les étapes présentées à présent en référence à la figure 10. Une réception de requête de téléchargement par le calculateur, active une étape 300 qui branche le 25 processeur 30 en tête de zone 12 où réside la fonction de téléchargement de façon à démarrer un traitement de la requête. L'étape 300 déclenche une étape 304 dans laquelle le calculateur stocke en zone 23, le fichier de 30 calibration 25 ou 26 reçu dans le corps de la requête de téléchargement. Une étape 305 de test contrôle si le stockage est correctement effectuée. Une réponse négative au test de l'étape 305 active 35 une étape 308 pour infirmer le téléchargement. Une réponse négative à la requête est alors émise dans une étape 309. Une réponse positive au test de l'étape 305 active une étape 306 pour confirmer le téléchargement. Une réponse positive à la requête est alors émise dans une étape 307. Grâce au dispositif et au procédé enseigné ci-dessus, l'introduction de nouvelles calibrations devient possible, même en vie série, tout en conservant le même boîtier, pas de nouveau masquage à effectuer, pas de nouvelle référence de pièces à commander et à gérer. Cette solution apporte donc de nouvelles possibilités, permet de réaliser des économies dans le cas où l'introduction d'une nouvelle calibration est incontournable et elle ne coûte pas forcément plus cher à développer puisqu'elle ne remet pas en cause le dimensionnement des composants du calculateur par rapport à la solution actuelle. Les risques d'erreur de configuration sont fortement limités grâce à la mise en oeuvre d'un test de cohérence entre les calibrations téléchargées et la configuration télé codée, systématiquement effectué à chaque initialisation du calculateur. Un code défaut est stocké en mémoire pour informer l'opérateur en cas d'incohérence. Cette solution contribue donc à l'amélioration de la qualité car elle permet aux véhicules de quitter l'usine ou d'être rendus au client en après vente, bien configurés. REVENDICATIONS 1. Procédé de configuration d'un calculateur embarqué comprenant une mémoire accessible uniquement en lecture qui héberge un logiciel applicatif et une mémoire permanente pour conserver des données lisibles et inscriptibles par ledit logiciel applicatif, comprenant : - une première étape (304) dans laquelle on stocke dans une première zone de la mémoire permanente, un fichier contenant : - au moins deux calibrations dudit logiciel applicatif, et - une structure de données comprenant des pointeurs, chacun associé à une calibration contenue 15 dans ledit fichier ; - une deuxième étape (204) dans laquelle on écrit dans une deuxième zone de la mémoire permanente, une collection ordonnée d'au moins un indexe d'aiguillage de façon à sélectionner un pointeur dans la structure de 20 données vers l'une des calibrations contenues dans la première zone de la mémoire permanente. 2. Procédé selon la revendication 1, caractérisé en ce que ladite structure de données comprend un ensemble 25 des indexes d'aiguillage possible vers lesdits pointeurs. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que ladite deuxième étape (204) est conditionnée par une troisième étape (203) qui teste si 30 ladite collection ordonnée concorde avec la structure de donnée. 4. Procédé selon l'une des revendications précédentes, caractérisé en ce que ladite deuxième étape 35 (204) est activée à condition que ladite première zone soit confirmée. 5. Calculateur embarqué (1) comprenant une mémoire (10) accessible uniquement en lecture qui héberge un logiciel applicatif et une mémoire (20) permanente pour conserver des données lisibles et inscriptibles par ledit logiciel applicatif, caractérisé en ce qu'il est agencé pour mémoriser : - dans une première zone (23) de la mémoire permanente, un fichier (25,26) contenant : - au moins deux calibrations dudit logiciel 10 applicatif, et - une structure de données (14) comprenant des pointeurs, chacun associé à une calibration contenue dans ledit fichier ; - dans une deuxième zone (22) de la mémoire 15 permanente, une collection ordonnée d'au moins un indexe d'aiguillage qui sélectionne un pointeur dans la structure de données vers l'une des calibrations contenues dans la première zone de la mémoire permanente. 20 6. Calculateur selon la revendication 5, caractérisé en ce que ladite structure de données comprend un ensemble des indexes d'aiguillage possible vers lesdits pointeurs. 25 7. Calculateur selon la revendication 5 ou 6, caractérisé en ce qu'il comprend des moyens (21,32) pour contrôler que ladite collection ordonnée concorde avec la structure de donnée. 30 8. Calculateur selon l'une des revendications 5 à 7, caractérisé en ce qu'il comprend un système d'entrée sortie (32) agencé pour recevoir une requête de téléchargement contenant ledit fichier (25, 26) de façon à en confirmer une présence dans ladite première zone. 35 9. Calculateur selon l'une des revendications 5 à 8, caractérisé en ce qu'il comprend un système d'entréesortie (32) agencé pour recevoir une requête de télé codage contenant ladite collection ordonnée de façon à en confirmer une présence dans ladite deuxième zone.5