Brevet FR2875920A1 — publié le 20060331

La présente invention concerne un procédé de mise en oeuvre d'au moins un logiciel téléchargé dans un calculateur électronique embarqué à bord d'un véhicule automobile. Les calculateurs de ce type comportent généralement des moyens de stockage de logiciels de commande de leur fonctionnement, se présentant sous la forme de mémoires non volatiles du type EEPROM et volatiles du type RAM. En règle générale, les logiciels téléchargés par exemple en après-vente dans ce type de calculateurs sont des logiciels extérieurs et sont chargés dans celui-ci à l'aide d'un outil de téléchargement extérieur au véhicule et qui est raccordé au véhicule à travers la prise de diagnostic de celui-ci. Néanmoins, il reste une proportion non négligeable de modules logiciels dédiés à des fonctionnalités après-vente, non utilisées lors des phases de vie normales de fonctionnement du calculateur. Ces modules logiciels occupent donc un espace mémoire non volatile non négligeable et ne sont exploités qu'occasionnellement. Or, on sait que la taille des moyens de stockage de logiciels est aujourd'hui un problème critique, quant à l'intégration de tels calculateurs dans des véhicules où les contraintes économiques sont drastiques. En effet, l'intégration croissante de logiciels toujours plus complexes à bord de ce type de calculateurs, nécessite aujourd'hui d'utiliser des mémoires dont la taille est de plus en plus importante et dont les coûts deviennent égale-ment, en conséquence, de plus en plus importants. Le but de l'invention est donc de résoudre ces problèmes. A cet effet, l'invention a pour objet un procédé de mise en oeuvre d'au moins un logiciel téléchargé dans un calculateur électronique embarqué à bord d'un véhicule automobile, du type comportant des moyens de stockage de logiciels de commande de son fonctionnement, se présentant sous la forme de mémoires non volatiles de type EEPROM et volatiles de type RAM, à l'aide d'un outil de téléchargement extérieur au véhicule, caractérisé en ce qu'au moins un logi- ciel est téléchargé par l'outil extérieur en mémoire RAM du calculateur et exécuté par le calculateur à partir de cette mémoire RAM. Suivant d'autres caractéristiques de l'invention: - l'outil extérieur est adapté pour émettre une requête de passage du calculateur en mode de fonctionnement mixte, caractérisé par un fonctionnement d'exécution d'un logiciel résident du calculateur et du logiciel téléchargé ; - l'outil extérieur est adapté pour émettre à la fin de l'exécution du logi- ciel téléchargé, une requête de réinitialisation du calculateur; - l'outil extérieur est raccordé au calculateur embarqué à travers la prise de diagnostic de celui-ci; - l'outil extérieur est raccordé au calculateur à travers un bus multiplexé de transmission d'informations; - l'outil extérieur est raccordé au calculateur à travers une ligne K du véhicule; les requêtes et le logiciel téléchargé sont contenus dans des trames de messagerie inter-systèmes; et - le logiciel téléchargé est un logiciel de diagnostic. L'invention sera mieux comprise à la lecture de la description qui va suivre, donnée uniquement à titre d'exemple et faite en se référant aux dessins annexés, sur lesquels: - la Fig.1 représente un schéma synoptique illustrant le raccordement d'un outil extérieur à un calculateur embarqué à bord d'un véhicule automobile; 20 et - la Fig.2 représente un organigramme illustrant un procédé de mise en oeuvre d'un logiciel téléchargé, selon l'invention. On a en effet illustré sur la figure 1, un calculateur embarqué à bord d'un véhicule automobile et qui est désigné par la référence générale 1 sur cette figure. Ce calculateur 1 est associé à des moyens de stockage de logiciels de commande de son fonctionnement, ces moyens étant désignés par la référence générale 2. Ces moyens de stockage se présentent généralement sous la forme 30 de mémoires non volatiles de type EEPROM désignées par la référence générale 3 et volatiles de type RAM désignées par la référence générale 4. Un outil de téléchargement de logiciels par exemple d'après-vente extérieur au véhicule, est raccordé à celui-ci, par exemple à travers la prise de diagnostic du véhicule. L'outil est désigné par la référence générale 5 sur cette figure, tandis que la prise de diagnostic du véhicule est désignée par la référence générale 6. Un bus multiplexé de transmission d'informations ou une ligne K du véhicule, peut alors être utilisé pour assurer le raccordement de l'outil extérieur au véhicule; au calculateur embarqué dans celui-ci. Le procédé selon l'invention consiste alors comme cela est illustré sur la figure 2, en une première étape désignée par la référence générale 7 sur cette figure, d'émission pour l'outil extérieur au véhicule 5, d'une requête de passage du calculateur 1 dans un mode de fonctionnement mixte , capable d'accepter et d'exécuter en plus de son logiciel résident en cours d'exécution, au moins un logiciel extérieur. Puis, lors d'une étape 8, l'outil extérieur télécharge le logiciel par exemple d'après-vente en mémoire volatile RAM du calculateur, c'est-àdire dans la mémoire 4 de celui-ci. Lors d'une étape 9, le logiciel téléchargé est exécuté par le calculateur à partir de sa mémoire RAM et de ses ressources processeur. Enfin, lors d'une étape 10, à la fin de l'exécution du logiciel téléchargé, l'outil extérieur au véhicule émet à destination du calculateur, une requête de réinitialisation en mode de fonctionnement normal de celui-ci. On notera que les requêtes de passage du calculateur, en modes de fonctionnement mixte et normal, peuvent par exemple être contenues dans des trames de messagerie inter-systèmes ou autre. On notera également que le logiciel téléchargé en après-vente, peut par exemple être un logiciel de diagnostic. Une telle structure et un tel procédé permettent alors d'optimiser la mémoire associée au calculateur électronique embarqué à bord du véhicule. En effet, une partie des logiciels des calculateurs n'est utilisée que par un service après-vente ou dans certaines configurations, comme par exemple de diagnostic ou de contrôle antipollution. C'est ainsi par exemple que des logiciels de diagnostic du fonctionnement de capteurs et d'actionneurs, de téléchargement de nouvelles versions de logiciel, de lecture et d'effacement de codes de défauts mémorisés ou encore de diagnostic EOBD, ne sont utilisés que de temps en temps alors qu'ils consomment un espace mémoire extrêmement précieux. Comme indiqué précédemment, cet espace mémoire est en effet extrêmement coûteux et donc forcément limité, ce qui ne permet pas au service aprèsvente d'un constructeur de bénéficier d'un éventail de programmes de diagnostic suffisamment variés et complets, pour effectuer par exemple des investi- gations poussées des problèmes rencontrés. Le diagnostic des pannes prend donc un temps relativement important et coûte cher au constructeur, sans compter un remplacement inutile d'une pièce supposée défectueuse. Grâce au procédé selon l'invention, il est alors possible de télécharger en mémoire volatile de type RAM des logiciels ou des portions de logiciel au juste moment où ils sont nécessaires, c'est-à-dire par exemple lors des opérations de maintenance, de diagnostic, de téléchargement en aprèsvente, de révisions, de rappels constructeur, etc... Le téléchargement de ces logiciels se fait alors non pas dans la mé-15 moire non volatile de type Flash EEPROM du calculateur, mais tout simplement en mémoire volatile RAM à partir de l'outil. On conçoit alors que le simple fait de couper l'alimentation du calculateur a pour effet immédiat de vider le contenu de la RAM qui peut alors être réutilisée en lui téléchargeant d'autres logiciels lors d'opérations ultérieures. De même, l'outil extérieur peut tout aussi bien envoyer une requête au calculateur pour lui demander de libérer l'espace mémoire RAM alloué spécifiquement au logiciel d'après-vente, et commander au calculateur de repasser en mode normal, là où il n'est pas possible d'accueillir des logiciels extérieurs. Les logiciels téléchargeables sont donc tous les logiciels à usage temporaire, comme cela a été mentionné précédemment, par opposition aux logiciels résidents. Grâce à cette structure, il est possible de réaliser séquentiellement par exemple des diagnostics de panne, en utilisant uniquement cette mémoire RAM sans toucher à la mémoire Flash EEPROM du calculateur. Ceci permet par exemple de réaliser des diagnostics très précis sur l'origine des défauts. Il a été estimé qu'une telle structure permettait d'obtenir un gain en taille mémoire compris entre 5 et 10%, ce gain pouvant être matérialisé soit par une réduction de la taille et donc une réduction des coûts de mémoire, soit en dégageant de l'espace disponible pour augmenter la complexité et donc la taille des logiciels résidents. De plus, une telle structure permet également une simplification des architectures logicielles en réduisant la diversité des modes de fonctionnement (initialisation, nominal, extinction, dégradé, après-vente, diagnostic, télécharge- ment, etc). Une telle structure permet également d'utiliser des outils de téléchargement déjà existants et d'accélérer par exemple le processus de recherche des pannes. Bien entendu, d'autres modes de réalisation peuvent encore être envisagés. REVENDICATIONS 1. Procédé de mise en oeuvre d'au moins un logiciel téléchargé dans un calculateur électronique (1) embarqué à bord d'un véhicule automobile, du type comportant des moyens (2) de stockage de logiciels de commande de son fonctionnement, se présentant sous la forme de mémoires non volatiles de type EEPROM (3) et volatiles de type RAM (4), à l'aide d'un outil de téléchargement (5) extérieur au véhicule, caractérisé en ce qu'au moins un logiciel est télé-chargé par l'outil extérieur (5) en mémoire RAM (4) du calculateur (1) et exécuté par le calculateur à partir de cette mémoire RAM. 2. Procédé selon la revendication 1, caractérisé en ce que l'outil extérieur (5) est adapté pour émettre une requête de passage du calculateur (1) en mode de fonctionnement mixte, caractérisé par un fonctionnement d'exécution d'un logiciel résident du calculateur et du logiciel téléchargé. 3. Procédé selon la revendication 1 ou 2, caractérisé en ce que l'outil 15 extérieur (5) est adapté pour émettre à la fin de l'exécution du logiciel téléchargé, une requête de réinitialisation du calculateur (1). 4. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'outil extérieur (5) est raccordé au calculateur embarqué (1) à travers la prise de diagnostic (6) de celui-ci. 5. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que l'outil extérieur (5) est raccordé au calculateur (1) à travers un bus multiplexé de transmission d'informations. 6. Procédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que l'outil extérieur (5) est raccordé au calculateur (1) à travers une li-25 gne K du véhicule. 7. Procédé selon l'une quelconque des revendications précédentes, caractérisé en ce que les requêtes et le logiciel téléchargé sont contenus dans des trames de messagerie inter-systèmes. 8. Procédé selon l'une quelconque des revendications précédentes, 30 caractérisé en ce que le logiciel téléchargé est un logiciel de diagnostic.