Brevet FR3076920A1 (20190719)

REVENDICATIONS1. Procédé de reprogrammation des données d'une fonction logicielle exécutée par au moins un coeur d'exécution (1), et au moins un coeur de sécurité (2), les données à reprogrammer étant présentes dans au moins une mémoire non volatile (4) gérée par un coeur d'exécution (1) et dans au moins une mémoire non volatile (5) gérée par un coeur de sécurité (2), la au moins une mémoire non volatile (4) gérée par un coeur d'exécution (1) étant physiquement distincte de la au moins une mémoire non volatile (5) gérée par un coeur de sécurité (2), chaque mémoire non volatile étant gérée par un ensemble de fonctions de gestion, caractérisé par le fait qu'il comprend les étapes suivantes : - lorsque l'on reçoit une requête de reprogrammation, - on mémorise une deuxième valeur dans un premier booléen, - on détermine si le premier booléen est égal à la deuxième valeur et si un deuxième booléen est égal à une première valeur, - si tel est le cas, on fait émettre par un coeur d'exécution (1) au moins une requête de réinitialisation par un canal de communication bidirectionnel (3) à destination du au moins un coeur de sécurité (2) gérant une mémoire non volatile comprenant des données à reprogrammer et au moins une requête d'initialisation à destination de chaque ensemble (6) de fonctions de gestion de la mémoire non volatile gérée par un coeur d'exécution (1) comprenant des données à reprogrammer, - après qu'une durée prédéterminée à partir de l'instant d'émission de la au moins une requête de réinitialisation s'est écoulée, on mémorise une deuxième valeur dans le deuxième booléen, - on détermine si un événement de reprogrammation prédéterminé a eu lieu, - si tel est le cas, on mémorise dans le premier booléen la première valeur, tout en maintenant la deuxième valeur dans le deuxième booléen et on fait émettre par le au moins un coeur de sécurité (2) gérant une mémoire non volatile comprenant des données à reprogrammer une requête d'écriture de valeurs prédéterminées et mémorisées à destination de l'ensemble (7) de fonctions de gestion de la mémoire associé à la mémoire non volatile (5) gérée par ledit au moins un coeur de sécurité (2) de sorte que des valeurs prédéterminées et mémorisées considérées comme vierges associées à la fonction logicielle soient écrites dans ladite mémoire non volatile (5) gérée par ledit au moins un coeur de sécurité (2) comprenant des données à reprogrammer. 11\n<CLM>\1\tProcédé selon la revendication 1, dans lequel, on détermine si un événement initialisant prédéterminé a eu lieu avant la réception d'une requête de reprogrammation, et si tel est le cas, on initialise le premier booléen et le deuxième booléen avec la première valeur. 5\n<CLM>\1\tProcédé selon la revendication 2, dans lequel l'événement initialisant est choisi parmi l'établissement de l'alimentation du au moins un coeur d'exécution (1), du au moins un coeur de sécurité (2), des mémoires non volatiles et des fonctions de gestion associées et une temporisation prédéterminée.\n<CLM>\1\tProcédé selon l'une quelconque des revendications précédentes, dans lequel 10 la requête de reprogrammation comprend un numéro de version logicielle après réinitialisation et, après émission de la au moins une requête de réinitialisation à destination du au moins un coeur de sécurité (2) par un canal de communication bidirectionnel (3), on mémorise la version logicielle après réinitialisation, et on modifie le deuxième booléen de sorte qu'il prenne une deuxième valeur et de sorte à pouvoir 15 déterminer si une requête ultérieure de réinitialisation est une première requête pour le numéro de version courant.\n<CLM>\1\tProcédé selon l'une quelconque des revendications précédentes, dans lequel l'événement de reprogrammation est choisi parmi un arrêt suivi d'une reprise de l'alimentation du au moins un coeur d'exécution (1) et du au moins un coeur de 20 sécurité (2), des mémoires non volatiles et des fonctions de gestion associées, une temporisation prédéterminée correspondant à la durée estimée du traitement de la au moins une requête de réinitialisation.