Brevet FR2798205A1 — publié le 20010309

Etat de la technique La présente invention concerne un procédé et un dispositif pour modifier et/ou enregistrer des données et/ou des programmes, notamment des données et/ou des programmes de commande des opérations de fonctionnement dans un véhicule, dans au moins une mémoire non fugitive d'un système d'ordina- teur, notamment une mémoire d'une unité de commande d'un vé- hicule, selon lequel, déjà dans la mémoire non fugitive, dans une zone originale, associée, on efface les anciennes données et/ou programmes avant de modifier et/ou d'enregistrer des données et/ou programmes nouveaux. Les données et/ou programmes sont modifiés et/ou enregistrés dans au moins une mémoire d'un système d'ordina- teur, notamment d'une unité de commande des opérations de fonctionnement d'un véhicule. Selon le document DE 43 32 499 Ai, on connaît un procédé pour reprogrammer complètement une mémoire non fugi- tive, effaçable électriquement équipant un appareil de com- mande, notamment un appareil de commande de véhicule automobile. L'opération de programmation se déroule ainsi sans utiliser une mémoire non modifiable (ROM). La mémoire effaçable, non fugitive est répartie en au moins deux zones distinctes effaçables et programmables dans lesquelles on inscrit chaque fois un module de programmation. En répartis- sant deux zones, il est possible en cas de coupure de ten- sion, avant la fin de l'opération de programmation, de répéter complètement l'opération de programmation entre le véhicule automobile et le support de données car le module de programmation est quasiment dédoublé dans la mémoire program- mable non fugitive, c'est-à-dire que cela existe dans les deux zones de mémoire. Ainsi, même en cas d'effacement de l'un des deux modules de programmation, on peut néanmoins avoir un module de programmation intact comme copie de sécu- rité dans une mémoire. Pour cela, il faut que les copies de sécurité soient également déposées de manière continue car une perturbation comme par exemple une chute de tension né- cessite une nouvelle programmation complète. Cette nouvelle programmation se déroule alors non pas de manière automati- que, mais elle doit être prévue de l'extérieur. On a constaté que les procédés ci-dessus ne per- mettent pas d'obtenir toujours des résultats optimum. C'est ainsi qu'il n'y a pas de rétablissement automatique de zones incomplètes résultant d'une destruction et qu'il faut repro- grammer complètement à partir de l'extérieur. Dans ces condi- tions, dans les procédés connus, on enregistre des copies de sécurité des données des programmes, de manière permanente dans une zone de sauvegarde. Les données et/ou programmes mé- ritant d'être protégés sont ainsi dupliqués par des sauvegar- des, c'est-à-dire des copies de sécurité qui doivent pouvoir fonctionner. Cela donne plusieurs cycles d'effacement et de programmation qui chargent le composant contenant la mémoire. En général, selon l'état de la technique, il faut un grand nombre d'états d'ordre pour reprogrammer une mémoire. Cela fait que l'on ne dispose pas d'un code de programme fonction- nel relativement longtemps notamment dans les phases de copie de la sauvegarde. En arrêtant la routine de copie lors de la repro- grammation, on utilise ensuite une sauvegarde avec toutes les anciennes données et/ou programmes ou routines. Comme la sau- vegarde utilisée à cet effet comprend toutes les données et/ou programmes méritant d'être protégés, la taille du code qu'il faut exécuter en cas de coupure est relativement impor- tante. C'est pourquoi, dans l'état de la technique, suivant l'importance de la zone des données et/ou programmes méritant d'être protégés, il faut une mémoire de travail relativement importante (RAM) par exemple pour y exécuter la routine de programmation de cette zone méritant d'être protégée. Les blocs Boot variables ainsi utilisés comme environnement de programmation contenant les programmes de démarrage du sys- tème d'ordinateur, décidant s'il faut précisément exécuter les anciennes ou les nouvelles données et/ou zones de pro- grammes sont des sources de nouvelles erreurs. Avant qu'un programme ou sa copie de sécurité ne soit déroulé, on peut tester les éventuels défauts de données dans le code programme. Pour reconnaître les erreurs de don- nées par exemple en cas d'enregistrement en mémoire ou de programmation défectueuse, on connaît de nombreux procédés. Il faut que les données et/ou programmes soient représentés dans un code d'erreurs ou un code de reconnaissance d'erreurs dans lequel à côté des informations proprement dites, il y a également les informations redondantes pour la reconnaissance des erreurs. De telles informations sont par exemple les bits de parité qui permettent une reconnaissance de défauts en formant des sommes de contrôle telles que des sommes trans- versales et/ou des sommes longitudinales (contrôle des bits de parité). D'autres procédés de contrôle exécutables de ma- nière linéaire et/ou cyclique sont ceux du code Hamming, du code BCH (Bose, Chandhuri, Hocquenghem) et du code Abramson. Ces procédés de vérification englobent également le contrôle de redondance cyclique (CRC) selon lequel à partir des don- nées et/ou des programmes, c'est-à-dire des informations à effacer et/ou à copier et/ou à enregistrer, on génère par blocs des octets de contrôle précisément selon le procédé CRC et on traite les informations ou on les enregistre. Dans quelques-uns de ces procédés, on prévoit une correction des erreurs en plus de leur détection. Avantages de l'invention Pour remédier aux inconvénients ci-dessus, selon l'invention, on crée un procédé et un dispositif utilisant le procédé, caractérisés en ce que: - les données et/ou programmes sont répartis en au moins des premières et des secondes données et/ou programmes, les secondes données ou programmes méritant d'être protégés ou contenant des données et/ou programmes méritant d'être protégés, - les anciennes secondes données et/ou programmes ne sont d'abord effacés de la zone originale associée que lors- qu'on inscrit les nouvelles secondes données et/ou pro- grammes dans une seconde zone de mémoire qui ne correspond pas à la zone originale, et - on inscrit un programme de copie dans une mémoire fugitive qui peut alors copier les nouvelles secondes données et/ou programmes de la seconde zone de mémoire dans la zone ori- ginale. Selon une autre caractéristique, on développe un procédé et un dispositif utilisant ce procédé, caractérisés en ce qu'un programme de copie inscrit dans une mémoire fugi- tive enregistre les nouvelles données et/ou programmes dans la zone de mémoire, après avoir effacé les anciennes données et/ou programmes sans réaliser une copie de sécurité des an- ciennes données et/ou programmes. Pour ces procédés ci-dessus, de façon avanta- geuse, selon l'invention on peut prévoir que le programme de copie soit contenu dans les secondes données et/ou programmes et puisse être chargé par ceux-ci dans la mémoire fugitive. Mais on peut aussi prévoir que le programme de copie est con- tenu dans des troisièmes données et/ou programmes qui peuvent exécuter une opération de démarrage du système d'ordinateur, et peut être chargé dans la mémoire fugitive par les troisiè- mes données et/ou programmes. Selon une autre caractéristique de l'invention, on efface seulement partiellement les anciennes données et/ou programmes par l'ordre d'effacement, les données et/ou les programmes étant répartis en au moins des premières et des secondes données et/ou programmes, au moins les secondes don- nées et/ou programmes méritant d'être protégés, ou contenant des données et/ou des programmes méritant d'être protégés, et anciennes secondes données et/ou programmes dans la zone de mémoire associée restant conservés dans la zone originale. Dans cette dernière solution, comme aussi dans la première, on peut prévoir que les secondes données et/ou pro- grammes ne sont ou ne peuvent être exécutés que dans la zone originale. Selon l'invention, de manière avantageuse, la zone originale des données et/ou programmes méritant d'être protégés n'est pas effacée à l'arrivée d'un ordre d'efface- ment. Le code programme reste conservé pour la reprogramma- tion. Au lieu de cela, on efface la zone qui contiendrait normalement la copie des données et/ou programmes méritant d'être protégés, c'est-à-dire la sauvegarde. Cette zone est utilisée selon une autre façon avantageuse comme mémoire in- termédiaire pour les nouvelles données et/ou programmes méri- tant d'être protégés et on peut renoncer à ce que ces éléments puissent fonctionner. L'expression donnée et/ou pro- grammes méritant d'être protégés, désigne des éléments dont la perte ou les défauts inhérents ne permettent plus une nou- velle programmation de la mémoire ou une modification future du contenu de la mémoire ou de l'utilisation prévue du sys- tème d'ordinateur, par exemple pour commander les opérations de fonctionnement dans un véhicule. La partie du flux de données envisagée pour la zone méritant d'être protégée, selon la programmation est dé- viée avantageusement dans la zone de mémoire de données uti- lisée comme mémoire intermédiaire et qui a été préalablement effacée à cet effet. Par une petite routine optimale (routine RAM, RR) qui se trouve dans la mémoire de travail, on copie alors la nouvelle zone de la mémoire intermédiaire par-dessus l'an- cienne zone préalablement non effacée. La mémoire intermé- diaire est alors effacée finalement par exemple par la routine RAM, RR ou un programme des nouvelles données et/ou programmes méritant d'être protégés. Finalement, cela permet d'enregistrer dans la zone de mémoire utilisée comme mémoire intermédiaire, d'autres données et/ou programmes. De façon avantageuse, le procédé ne nécessite qu'un seul ordre d'effacement pour la zone à effacer qui lance le procédé. L'ordre d'effacement est ainsi indépendant de ce que des données méritant d'être protégées sont conte- nues ou non dans la zone à effacer. La programmation du nou- veau code de programme ou des nouvelles données se fait ainsi automatiquement au cours d'une seule étape. De manière avantageuse, la zone de mémoire méri- tant d'être protégée est disponible pendant tout le temps de la reprogrammation, ou encore le temps au cours duquel aucun code de programme fonctionnant dans la zone méritant d'être protégée n'est disponible, est réduit au minimum, car les données et/ou programmes méritant d'être protégés se trouvent toujours dans la zone de mémoire correspondante. Il est en outre avantageux que les routines de programmation complexe des données et/ou programmes méritant d'être protégés ne soient pas enregistrées dans la mémoire de travail. Seule la petite routine RAM, optimisée qui se trouve dans la mémoire de travail, copie les nouvelles données et/ou programmes méritant d'être protégés par-dessus les anciennes informations. Pour cette raison, de façon avantageuse, on peut utiliser une petite mémoire de travail ou encore la charge appliquée à la mémoire de travail est faible. Si pen- dant l'activité de la routine RAM il y a une coupure, un bloc Boot, conçu de manière invariable peut compléter cette opéra- tion à l'aide d'une routine de copie, qui lui est propre. Ainsi, de manière avantageuse, on minimise la taille du code programme à exécuter en cas de coupure. Il est en outre avantageux que le bloc Boot dans la zone de mémoire non effaçable ou non inscriptible ne dé- cide pas de la zone de mémoire qui doit être exécutée, c'est- à-dire avec les données et/ou programmes anciens ou nouveaux, mais le cas échéant il copie le nouveau code du programme par-dessus l'original ancien et exécute celui-ci de nouveau dans la zone originale. Ainsi, de manière avantageuse, les routines ou programmes des données et/ou programmes méritant d'être protégés se trouvent à tout instant dans les zones de mémoire originale qui leur étaient attribuées à l'origine. On réduit ainsi au minimum les risques d'erreurs. Cette procé- dure ne nécessite pas de sauvegarde susceptible de fonction- ner. Cela signifie que même en cas de coupure de programmation, de manière avantageuse, il n'est pas néces- saire d'utiliser une sauvegarde d'anciennes données et/ou programmes mais on peut utiliser les nouvelles données et/ou programmes existants par le bloc Boot vers la zone de desti- nation en les copiant dans la zone originale. Dessins La présente invention sera décrite ci-après de manière plus détaillée à l'aide des dessins annexés dans les- quels: - la figure 1 montre le matériel selon l'invention, - la figure 2 montre une répartition possible des mémoires en différentes zones de mémoire, - la figure 3 représente un ordinogramme du procédé de modi- fication et/ou de programmation pour des programmes et/ou des données, la figure 4 montre la modification et/ou la programmation d'autres données. Description de l'exemple de réalisation La figure 1 montre un exemple de circuit câblé pour convertir le procédé présenté. La référence 100 désigne un système d'ordinateur, notamment un appareil de commande. Les références 104, 105 et en option 106 correspondent à dif- férentes mémoires. La référence 104 représente une mémoire effaçable non fugitive par exemple une mémoire Flash-EPROM, permettant un effacement et une programmation par zones ou par blocs du contenu de la mémoire. Il existe de plus une mé- moire fugitive 105 par exemple sous la forme d'une mémoire RAM, constituant une seconde mémoire servant entre autres à enregistrer de façon intermédiaire des données et/ou des pro- grammes. Dans cet exemple de réalisation, on enregistre le programme de copie ou la routine RAM, RR, optimisé. La mé- moire RAM 105 peut également être démarrée par des routines de programme. En option, on peut prévoir une autre mémoire non fugitive 106. Les mémoires 104, 105 et en option 106 sont reliées par un système de bus 103 entre autres avec un pro- cesseur CPU 101 et une unité entrée/sortie 102. La mémoire 106 peut également être une mémoire externe supplémentaire en dehors du système interne du micro-ordinateur ou même à l'ex- térieur du système d'ordinateur. De plus, le système d'ordi- nateur peut comporter notamment un appareil de commande ainsi que d'autres composants non représentés ici comme par exemple d'autres processeurs CPU et mémoire, diverses unités en- trée/sortie, etc.. Une interface entrée/sortie 107 par exem- ple de type série ou parallèle relie le système d'ordinateur 100 à un appareil de commande ou de programmation 108 ex- terne. Cet appareil de programmation externe 108 qui peut également être un ordinateur usuel, sert à l'entrée de don- nées et/ou de programmes par exemple pour programmer une nou- velle version de programmes et/ou de données. De plus, à cet endroit, il y a également d'autres moyens d'entrée qui peu- vent par exemple être reliés directement aux autres unités entrée/sortie. La répartition des mémoires ci-dessus en zone de mémoire est représentée à la figure 2. Selon cette figure, la référence 200 désigne symboliquement l'ensemble de la mémoire Flash-EPROM 104. Celle-ci contient entre autres une zone de mémoire SB 201 qui représente l'environnement de programma- tion correspondant sous la forme de blocs de lancement, c'est-à-dire entre autres le programme de lancement du sys- tème d'ordinateur. La zone de mémoire SB 201 pour le bloc BB peut être conçue pour n'autoriser ni la lecture ni l'enregis- trement dans cette zone car le bloc de lancement doit rester inchangé. Les programmes de démarrage sont lancés lors du dé- marrage normal du système ainsi qu'après une remise à l'état initial à cause d'une coupure de tension ou pour une autre origine. Une zone de programme pour les premiers programmes Pl est représentée avec la zone SB 202. Il existe à côté une zone de mémoire SB 203, une zone de données qui contient la fin d'une opération de programmation, d'autres données D. De plus, avec la zone de mémoire SB 204, on a re- présenté la zone dans laquelle sont enregistrées les données et/ou les programmes méritant d'être protégés ou des données et/ou des programmes méritant d'être protégés. Dans un but de simplification, les données enregistrées dans SB 204 sont dé- signées de manière générale sous le terme de données et/ou de programmes méritant d'être protégés SDP. En particulier, lors de l'utilisation du procédé et du dispositif présenté, pour la commande des opérations de fonctionnement se déroulant dans un véhicule, cette zone SB 204 se trouve par exemple dans la zone de mémoire dans laquelle est enregistré le pro- gramme de roulement. La zone de mémoire SB 204 est ainsi la zone originale de SDP. Les routines spécifiques nécessaires à la programmation Flash, entre autres contenues dans les don- nées et/ou les programmes méritant d'être protégés SDP, doi- vent être disponibles pendant toute la durée du changement et/ou de la programmation. De plus, les données et/ou les programmes méritant d'être protégés SDB, ne peuvent être transformés par programmes, c'est-à-dire changés pour ne pas nécessiter de compatibilité descendante des interfaces entre par exemple les programmes de roulement et les informations SDP. L'importance donnée par le dessin aux zones de mémoire est arbitraire et ne correspond pas à la taille réelle car celle-ci est différente selon le domaine d'utilisation et l'application. Ainsi, les zones de mémoire SB 201 - SB 204 peuvent remplir toute la mémoire Flash 200 représentée symbo- liquement. Par les données et/ou programmes méritant d'être protégés SDP, enregistrés dans la zone de mémoire 204, on dé- finit un environnement de programme propre. La zone de mé- moire SB 204 correspond comme indiqué à la zone originale pour SDP. Dans la mémoire Flash 200 représentée symbolique- ment, il est prévu une zone de sauvegarde, propre, réservée en permanence ni pour les programmes ni pour les données no- tamment pas pour les données et/ou programmes méritant d'être protégés SDP. En option, comme le montre la figure 1, on peut utiliser un autre élément de mémoire, notamment une mémoire Flash/EPROM. La mémoire en option, supplémentaire 106 est re- présentée symboliquement par le bloc 208. La zone 209 peut correspondre à une zone pour d'autres programmes et/ou don- nées. Dans l'exemple décrit, on a enregistré un second pro- gramme P2. Cela peut par exemple être nécessaire si la zone de mémoire pour les premiers programmes P1 pour le code pro- gramme nécessaire composé de Pl et de P2 n'est pas suffi- sante. On peut également envisager de réaliser par les programmes Pl, certaines fonctions standards et/ou de base de o30 l'application respective et de représenter les autres varia- tions comme des modes de réalisation spéciaux, des équipe- ments particuliers comme par exemple pour des véhicules automobiles ainsi que des fonctions spéciales par les pro- grammes P2 dans la zone de mémoire SB 209. La mémoire de travail ou mémoire RAM 105 selon la figure 1 est représentée symboliquement par le bloc 206. Cette mémoire contient une zone de mémoire 207 pour la partie contenant la routine RAM optimisée RR, qui peut par exemple être chargée dans la mémoire de travail également par n'im- porte quelle zone de programmes comme le bloc Boot BB, des zones de programmes P1 ou P2 ainsi que les données et/ou pro- grammes méritant d'être protégés SDP. Cela dépend de la zone dans laquelle est localisée la fonctionnalité nécessaire par exemple une fonction de copie pour le transfert. La fonction de copie qui exécute le transfert de la routine RAM, RR dans la mémoire de travail 206 ou dans la zone de mémoire 207 con- naît l'adresse initiale et l'adresse finale de la mémoire RAM, RR et de plus l'adresse de destination dans RAM. Cette fonction de copie est par exemple une boucle de programmes dans laquelle on incrémente un index source et un index des- tination en commençant aux adresses de départ respectives jusqu'à atteindre l'adresse finale de la source de l'opéra- tion de copie. A chaque adresse qui passe, on peut exécuter alors un transfert de données. La routine RAM, RR se situe par exemple dans la zone des données et/ou programmes méritant d'être protégés SDP et/ou dans le bloc Boot BB. La routine RAM, RR est par exemple copiée par le programme exécutable dans SDP, vers la mémoire de travail 206 pour y être exécutée. Lorsqu'une opé- ration de copie a été interrompue pour une raison quelconque par RR, on peut charger cette routine RR du bloc Boot BB dans la mémoire de travail 206 et l'exécuter. Le bloc Boot BB se trouve soit dans une zone in- accessible pour l'utilisateur et protégée contre l'inscrip- tion dans la mémoire Flash 104 ou 200 ou encore directement localisé dans le processeur CPU 101. De manière avantageuse, la routine RAM optimisée RR, comme indiqué, peut être copiée par le bloc Boot BB par exemple après une défaillance du sys- tème ou autre coupure dans la mémoire de travail. Les programmes et/ou les boucles de programmes et/ou les routines à exécuter dans le procédé sont avantageu- sement réalisés sous la forme de codes de programmation dans une mémoire. Une réalisation de la combinaison mémoire- programme en logique câblée peut également s'envisager. Le concept de procédé représenté dans les ordino- grammes des figures 3 et 4 contient en liaison avec les zones Il de mémoire évoquées ci-dessus, le fait que la zone originale des données et/ou programmes méritant d'être protégés SDP, c'est-à-dire la zone de mémoire SB 204 ne soit pas effacée à la réception d'un ordre d'effacement de l'ensemble de la mé- moire 104 ou de parties de la mémoire 104 ou 200. Ainsi, le code de programmes dans la zone SDP, c'est-à-dire SB 204 reste tout d'abord conservé. Au lieu de cela, on efface la zone c'est-à-dire SB 203 qui contiendrait normalement la sau- vegarde, dans un autre cas la zone de données pour les don- nées ne méritant pas d'être protégées D. Pour la programmation suivante, on dévie la par- tie envisagée du flux de données pour la zone méritant d'être protégée SB 204, c'est-à-dire SDP, vers la zone SB 203 préa- lablement effacée. Les données et/ou programmes méritant d'être protégés SDP ne doivent pas pouvoir être exécutés dans SB 203. Cela permet d'utiliser des programmes SDP et/ou des données d'origine quelconque, qui doivent uniquement être conçus pour être exécutés dans SB 204. Par une petite routine optimisée RR, placée dans la mémoire dans la zone SB 207, on copie le contenu de SB * 203, c'est-à-dire les données et/ou programmes nouveaux méri- tant d'être protégés SDPnouv, déviés, alors par-dessus les données SDPanc qui se trouvent dans la zone SB 204, et en- suite on efface la zone de mémoire SB 203. La zone de mémoire SB 203 sert ainsi uniquement de mémoire intermédiaire pour les données et/ou programmes nouveaux méritant d'être proté- gés SDPnouv. Si pendant l'activité de la routine RAM, RR, il y a une coupure, on peut terminer l'opération par un bloc Boot BB inchangé dans la zone de mémoire SB 201 à l'aide de sa propre routine de copie. Cette routine de copie est compara- ble à la routine RAM, RR. Les figures 3 et 4 donnent une vue d'ensemble du déroulement du procédé. A la figure 3, on programme d'abord les programmes et les données. La zone de programme PB com- prend les programmes Pl, les données et/ou programmes méri- tant d'être protégés SDP ainsi qu'en option les programmes P2. Les éléments Pl, SDP et P2 en option sont programmés dans le cadre d'une cession de programmation. L'autre plage de données DB est également programmée dans le cadre d'une ces- sion de programmation de données qui fait directement suite à la cession de programmation de programmes, de manière automa- tique. Le bloc Boot BB est par exemple conçu pour n'être ni effaçable ni programmable et c'est pourquoi, il est présent en permanence. Dans le bloc 300 on démarre le déroulement du procédé par exemple par l'introduction d'un ordre d'efface- ment d'une installation de programmation externe pour une certaine plage de mémoires ou pour l'ensemble de la mémoire Flash. Si le bloc Boot BB est conçu invariable et s'il n'est contenu ni dans la mémoire Flash ni par exemple dans le pro- cesseur CPU, ce bloc reste naturellement conserve. Dans le bloc 301, on efface tout d'abord la zone de programmes PB. Comme déjà indiqué, la zone SB 204 avec SDPanc n'est pas effacée. Ainsi, les programmes existant maintenant Planc dans SB 202 et en option P2anc dans SB 209 sont effacés. Les données D sous la forme de Danc peuvent maintenant également être effacées car dans ce mode de réali- sation de la programmation de zones de programmes et de don- nées, il vient nécessairement ensuite une programmation de données. Ainsi, dans le bloc 301, on efface également Danc dans la zone de mémoire SB 203. Le point de départ a été l'émission d'un seul ordre d'effacement pour l'ensemble de la zone à effacer, notamment toute la mémoire Flash 200. Cela est indépendant de ce que la zone à effacer ou à programmer est simplement liée ou s'il s'agit pour la zone à effacer ou à programmer, de zones inférieures méritant d'être protégées et qui nécessitent un traitement particulier. Après l'effacement on arrive au bloc 302. Dans celui-ci on programme la zone de programmes PB. Les nouveaux programmes Plnouv et en option P2nouv sont alors inscrits dans les zones de mémoire respectives SB 202, SB 209. Les données et/ou programmes nouveaux, méritant d'être protégés SDPnouv ne sont pas inscrits dans SB 204 mais dans la zone de données effacée SB 203 et peuvent ainsi commander la suite du déroulement de SDPanc dans SB 204. Après la programmation de la zone de programmes PB, comme décrit, on arrive au bloc 303 dans lequel on véri- fie la zone de programmes PB. On peut contrôler différents procédés déjà évoqués dans l'état de la technique. Ainsi, on vérifie Plnouv dans SB 202,en option P2nouv dans SB 209 et finalement SDPnouv dans la zone de données SB 203 en utili- sant pour le contrôle les données et/ou programmes méritant d'être protégés, SDPanc, enregistrés encore dans SB 204 avant que SDPnouv reprenne la commande de déroulement après avoir été copié en retour dans SB 204. Dans l'interrogation 304, on vérifie si des dé- fauts ne sont produits lors du contrôle. Dans l'affirmative, on revient au bloc 301 et la zone de programmes PB est de nouveau effacée. Cette opération est toujours encore comman- dée par SDPanc. Si lors du contrôle on n'a pas trouvé de dé- fauts ou si on a pu les corriger, on passe au bloc 305. Dans ce bloc on efface la zone de données DB. Tout d'abord dans le bloc 305, on copie la routine RAM, RR dans la zone RAM, SB 207. Cette routine RR peut par exemple être contenue dans SDPanc dans SB 204 ou par copie de parties de SDPanc dans la mémoire RAM 206. La routine RAM, RR dans SB 207 efface les données et/ou programmes méritant d'être pro- tégés SDPanc dans SB 204. Puis, également avec la routine RAM, RR, on copie les données et/ou programmes, nouveaux, mé- ritant d'être protégés, qui viennent d'être contrôlés, SDPnouv de la zone de données SB 203 dans la zone SB 204. En- suite, on efface SDPnouv dans la zone de mémoire SB 203. Ain- si, dans le bloc 305, la commande de déroulement est quasi toujours encore sur SDPanc d'o on forme ou on déplace la routine RAM, RR. Puis on arrive au bloc 306. Dans ce bloc on programme la zone de données DB. Les nouvelles données Dnouv sont enregistrées dans SB 203 d'o les données SDPnouv ont été copiées par SDPanc dans SB 204. Dans ce bloc on reprend ainsi la commande de déroulement de SDPnouv dans la zone de mémoire SB 204. Dans le bloc suivant 307, on vérifie alors la zone de données DB et on vérifie les données Dnouv dans la zone de mémoire SB 203. Cela peut également se faire comme pour la zone de programmes par les mesures évoquées dans l'état de la technique. Si le contrôle est en ordre, s'il n'y a pas de défauts ou si ceux-ci sont corrigés, on arrive au bloc 309 à la fin du déroulement. En cas de défauts non cor- rigés ou qui ne peuvent être corrigés, l'interrogation 308 indique que la zone de données n'a pas été programmée correc- tement et on revient au bloc 301 et l'opération décrite ci- dessus recommence à zéro. Ainsi, SDPanc dans SB 204 n'est pas effacé jus- qu'à ce que le contrôle de SDPnouv dans SB 203 soit réussi. Cela garantit que même pour des coupures de programmation ou des essais de manipulation, on dispose toujours d'une va- riante vérifiée des données et/ou programmes méritant d'être protégés SDP dans l'appareil de commande, garantissant une possibilité de reprogrammation permanente. Dans le déroulement exposé, le code programme de SDP est toujours exécuté à partir de la zone de mémoire SB 204 et non à partir de sa zone de sauvegarde possible, la zone de données SB 203. Ce principe est beaucoup plus sûr avec une mise en oeuvre de moyens comparativement faibles pour le développement du programme. Le procédé est ainsi relative- ment simple et nécessite uniquement en liaison avec la pro- grammation par exemple d'un programme de véhicule pour un véhicule, un ordre suivant ou un retard de l'ordre de pro- grammation qui se termine pendant le traitement de la copie de la nouvelle partie de programme dans la zone de destina- tion, voire la zone originale. Cela est envisageable de ma- nière générale. Pour les installations de programmation possi- bles, la répartition de mémoire est avantageusement inconnue. Ces installations fournissent chaque fois un ordre d'efface- ment à la plage de programmes PB et/ou à la zone de données DB. La déviation de SDP et la recopie de la zone temporaire SB 203 dans la zone de destination proprement dite SB 204 sont par exemple couplées aux opérations d'effacement et n'apparaissent pas pour les installations de programmation possibles. Les installations de programmation, pour modifier et/ou enregistrer des données et/ou des programmes peuvent être externes vis-à-vis de l'unité de commande contenant la mémoire, comme par exemple l'appareil de programmation 108 de la figure 1, ou être intégrées totalement ou partiellement. Les installations de programmation peuvent ainsi être répar- ties entre différents moyens externes et/ou internes par rap- port à l'unité de commande contenant les zones de mémoire à programmer. Cela ne rend pas nécessaire une répartition entre les circuits câblés et les programmes qui constituent les moyens. Les moyens peuvent ainsi être réalisés ou copiés en circuits câblés et/ou en programmes. Une combinaison d'une mémoire ou d'une zone de mémoire et des données et/ou pro- grammes localisés dans cette zone ou mémoire comme prescrip- tion de déroulement peut également être réalisée dans une logique câblée. Comme indiqué, la programmation peut être lancée par un ordre d'effacement et elle se déroule alors automati- quement. L'opération de programmation peut ainsi être exécu- tée directement par le processeur CPU 101 de l'unité de commande. Un premier moyen peut être selon les indications ci-dessus, également un appareil de programmation externe 108 comme combinaison de circuits câblés de programme, comme une combinaison du processeur CPU 101 de l'unité de commande 100, une zone de mémoire SB 204 de la mémoire non fugitive 200 et des données et/ou programmes SDP associés à cette zone de mé- moire (SDPanc ou SDPnouv) ou des combinaisons comparables. Les moyens contiennent ainsi en plus une unité d'exécution comme par exemple le processeur CPU 101 ou le processeur existant dans l'appareil de programmation 108. La routine RAM, RR est enregistrée comme programme de copie dans la mé- moire fugitive 206 ou dans sa zone de mémoire SB 207 et peut représenter ainsi un autre ou second moyen. D'autres moyens sont ainsi la zone de mémoire SB 201 avec le bloc Boot BB et la routine RAM, RR, localisée également prévue pour une cou- pure, la zone de mémoire SB 202 avec les programmes Pl ou la zone de mémoire SB 209 avec les programmes P2. La figure 4 montre le cas selon lequel seule la zone de données SB 203 est programmée pour les données D. Un ordre correspondant lance également ici le déroulement des opérations. Il peut s'agir là encore d'un ordre d'effacement mais qui montre que seulement la zone de données doit être programmée. Dans le bloc 401 on efface alors la zone de don- nées SB 203. Dans le bloc 402 on programme la zone de données SB 203. On inscrit également les données Dnouv dans SB 203. Dans le bloc 403, on vérifie les données programmées comme dans l'exemple précédent. Si ainsi par l'interrogation 404 on décèle des défauts comme précédemment, on revient au bloc 401. Si la vérification est en ordre, on arrive au bloc 405, c'est-à-dire la fin du déroulement. Une simple programmation ou modification de données est de plus possible dans des con- ditions très simples. R E V E N D I C A T I ON S 1 ) Procédé pour modifier et/ou enregistrer des données et/ou des programmes, notamment des données et/ou des programmes de commande des opérations de fonctionnement dans un véhicule, dans au moins une mémoire non fugitive d'un système d'ordina- teur, notamment une mémoire d'une unité de commande d'un vé- hicule, selon lequel, déjà dans la mémoire non fugitive, dans une zone originale, associée, on efface les anciennes données et/ou programmes avant de modifier et/ou d'enregistrer des10 données et/ou programmes nouveaux, caractérisé en ce que - les données et/ou programmes sont répartis en au moins des premières et des secondes données et/ou programmes, les secondes données ou programmes méritant d'être protégés ou contenant des données et/ou programmes méritant d'être protégés, - les anciennes secondes données et/ou programmes ne sont d'abord effacés de la zone originale associée que lors- qu'on inscrit les nouvelles secondes données et/ou pro- grammes dans une seconde zone de mémoire qui ne correspond pas à la zone originale, et - on inscrit un programme de copie dans une mémoire fugitive qui peut alors copier les nouvelles secondes données et/ou programmes de la seconde zone de mémoire dans la zone ori- ginale. 2 ) Procédé pour modifier et/ou enregistrer les données et/ou des programmes, notamment des données et/ou des programmes de commande d'opération de fonctionnement d'un véhicule dans au moins une mémoire non fugitive d'un système d'ordinateur, no- tamment d'une mémoire d'une unité de commande d'un véhicule, selon lequel, déjà dans la mémoire non fugitive, on efface les anciennes données et/ou programmes contenus dans une zone de mémoire avant de modifier et/ou d'inscrire les nouvelles données et/ou programmes, caractérisé en ce qu' un programme de copie inscrit dans une mémoire fugitive enre- gistre les nouvelles données et/ou programmes dans la zone de mémoire, après avoir effacé les anciennes données et/ou pro- grammes, sans réaliser une copie de sécurité des anciennes données et/ou programmes. 3 ) Procédé de modification et/ou d'enregistrement de données et/ou de programmes, notamment de données et/ou de programmes de commande des opérations de fonctionnement dans un véhi- cule, dans au moins une mémoire non fugitive d'un système d'ordinateur, notamment une mémoire d'une unité de commande du véhicule, selon lequel, déjà dans la mémoire non fugitive, dans les zones de mémoire associées, on efface les anciennes données et/ou programmes avant de modifier et/ou d'enregis- trer de nouvelles données et/ou programmes au début du procé- dé avec un ordre d'effacement, caractérisé en ce qu' on efface seulement partiellement les anciennes données et/ou programmes par l'ordre d'effacement, les données et/ou les programmes étant répartis en au moins des premières et des secondes données et/ou programmes, au moins les secondes don- nées et/ou programmes méritant d'être protégés, ou contenant des données et/ou des programmes méritant d'être protégés, et les anciennes secondes données et/ou programmes dans la zone de mémoire associée restent conservés dans la zone originale. 4 ) Procédé selon la revendication 1 ou 3, caractérisé en ce que les secondes données et/ou programmes ne sont exécutés que dans la zone originale. 5 ) Procédé selon la revendication 1 ou 2, caractérisé en ce que le programme de copie est contenu dans les secondes données et/ou programmes et peut être chargé par ceux-ci dans la mé- moire fugitive. 6 ) Procédé selon la revendication 1 ou 2, caractérisé en ce que le programme de copie est contenu dans des troisièmes données et/ou programmes qui peuvent exécuter une opération de démar- rage du système d'ordinateur, et peut être chargé dans la mé- moire fugitive par les troisièmes données et/ou programmes. 7 ) Procédé selon la revendication 1 ou 3, caractérisé en ce que les secondes données et/ou programmes ne peuvent être exécu- tés que dans la zone originale. 8 ) Dispositif notamment dans un véhicule automobile compor- tant au moins une mémoire non fugitive et au moins une mé- moire fugitive ainsi que des premiers moyens pour modifier et/ou pour enregistrer des données et/ou des programmes dans au moins la mémoire non fugitive, les premiers moyens effaçant déjà dans la mémoire non fugi- tive, dans une zone originale associée, les anciennes données et/ou programmes avant de modifier et/ou d'enregistrer les nouvelles données et/ou programmes, caractérisé en ce qu' il comprend des seconds moyens qui contiennent la mémoire fu- gitive, les données et/ou programmes étant répartis en au moins des premières et des secondes données et/ou programmes, au moins les secondes données et/ou programmes méritant d'être protégés ou contenant des données et/ou programmes mé- ritant d'être protégés, et dans lequel les premiers moyens n'effaçent d'abord les anciennes secondes données et/ou pro- grammes dans la zone originale associée de la mémoire non fu- gitive que si les premiers moyens ont inscrit les nouvelles secondes données et/ou programmes dans une seconde zone de mémoire de la mémoire non fugitive, différente de la zone originale, et les seconds moyens peuvent copier les nouvelles secondes données et/ou programmes dans la zone originale. 9 ) Dispositif notamment dans un véhicule comportant au moins une mémoire non fugitive et au moins une mémoire fugitive ainsi que des premiers moyens pour modifier et/ou pour enre- gistrer des données et/ou des programmes, notamment des don- nées et/ou des programmes de commande d'opérations de fonc- tionnement dans le véhicule, dans la mémoire non fugitive et les premiers moyens effacent dans la mémoire non fugitive, les anciennes données et/ou programmes avant de modifier et/ou d'enregistrer de nouvelles données et/ou programmes, caractérisé en ce qu' il comprend des seconds moyens contenant la mémoire fugitive, qui inscrivent les nouvelles données et/ou programmes, après effacement des anciennes données et/ou programmes, dans la mémoire non fugitive, sans que les premiers et les seconds moyens réalisent une copie de sécurité à partir des données anciennes et/ou programmes. ) Dispositif notamment pour un véhicule automobile, com- portant au moins une mémoire non fugitive et au moins une mé- moire fugitive ainsi que des premiers moyens pour modifier et/ou pour enregistrer des données et/ou des programmes dans au moins la mémoire non fugitive, en particulier des données et/ou des programmes de commande d'opérations de fonctionne- ment de véhicules automobiles, et les premiers moyens effa- cent déjà dans la première mémoire, dans des zones de mémoires associées, les anciennes données contenues et/ou programmes, avant de modifier et/ou d'enregistrer de nouvel- les données et/ou programmes d'abord par un ordre d'efface- ment, caractérisé en ce que les anciennes données et/ou programmes ne sont effacés que partiellement par l'ordre d'effacement, les données et/ou les programmes étant répartis en au moins des premières et des secondes données et/ou des programmes, au moins les secondes données et/ou programmes méritant d'être protégés ou conte- nant des données et/ou des programmes méritant d'être proté- gés, et ainsi des seconds moyens qui contiennent les anciennes secondes données et/ou programmes et la zone de mé- moire associée, la zone originale, restent maintenus et les seconds moyens, après l'ordre d'effacement, exécutent la mo- dification et/ou l'enregistrement de données et/ou de pro- grammes.