Brevet FR3040523A1 (20170303)
REVENDICATIONS1. Procédé de détection et de gestion d'une erreur non corrigible dans une mémoire non volatile d'un microcontrôleur, ledit microcontrôleur présentant une interface de lecture (E), un gestionnaire d'exceptions (X), et un ensemble de registres internes et de paramètres d'exécution constitutifs d'un contexte bas niveau dudit microcontrôleur, ledit 5 procédé comprenant les étapes suivantes : i. à chaque commande d'une opération de lecture, à réaliser par l'interface de lecture, d'une donnée dans une zone mémoire de la mémoire non volatile, l'activation (El) systématique d'une stratégie spécifique de détection et de gestion d'erreur non corrigible dans la mémoire non volatile, ladite stratégie comprenant 10 les étapes suivantes : ii. l'enregistrement (X1) dans une mémoire volatile du microcontrôleur de l'état des registres internes et des paramètres d'exécution constitutifs du contexte bas niveau dudit microcontrôleur ; iii. la lecture (E2) de la donnée dans la mémoire non volatile ; 15 iv. si une exception (HW_X) est levée par le gestionnaire d'exceptions lors de la lecture de ladite donnée, la restauration (X2) par ledit gestionnaire d'exceptions de l'état des registres internes et des paramètres d'exécution constitutifs du contexte bas niveau du microcontrôleur, tels qu'enregistrés en mémoire à l'étape ii., l'invalidation de la zone mémoire et la désactivation (E3) de la stratégie spécifique 20 de détection et de gestion d'erreur non corrigible ; v. si aucune exception n'est levée par le gestionnaire d'exceptions lors de la lecture de la donnée, la désactivation (E3) de la stratégie spécifique de détection et de gestion d'erreur non corrigible, après lecture de ladite donnée.\n<CLM>\1\tProcédé selon la revendication 1, caractérisé en ce que les registres internes 25 comprennent des registres de données et des registres d'adresses.\n<CLM>\1\tProcédé selon l'une des revendications 1 à 2, caractérisé en ce que les paramètres d'exécution comprennent un pointeur de pile du microcontrôleur.\n<CLM>\1\tProcédé selon l'une quelconque des revendications 1 à 3, caractérisé en ce que ladite mémoire non volatile est une mémoire Flash. 30\n<CLM>\1\tProcédé selon l'une quelconque des revendications 1 à 4, caractérisé en ce que, si une exception (HW_X) est levée par le gestionnaire d'exceptions lors de la lecture de la donnée dans la mémoire non volatile, l'étape iv. comporte une sous étape initiale comprenant : - la réalisation d'un test (C2) de vérification par le gestionnaire d'exceptions que la 35 stratégie spécifique de détection et de gestion d'erreur non corrigible est active et 3040523 12 que ladite exception (HW_X) est exclusivement due à la détection d'une erreur non corrigible ; et - si ladite stratégie n'est pas active, le redémarrage (X4) du microcontrôleur.\n<CLM>\1\tProcédé selon l'une quelconque des revendications 1 à 5, caractérisé en ce qu'il comprend, au terme de de l'étape iv., la réalisation d'un retour, sous la forme d'un saut absolu (X3), pour revenir à la sortie de l'étape ii.\n<CLM>\1\tProcédé selon la revendication 6, caractérisé en ce qu'il comprend, préalablement à l'étape iii. de lecture de la donnée dans la mémoire non volatile dans une zone déterminable de ladite mémoire non volatile : - la réalisation d'un test (C1) pour vérifier si une exception (HW_X) a été levée par le gestionnaire d'exceptions, ayant entraîné la réalisation d'un retour, sous la forme d'un saut absolu (X3), pour revenir à la sortie de l'étape ii. ; - si une exception (HW_X) ayant entraîné la réalisation d'un retour, sous la forme d'un saut absolu (X3), pour revenir à la sortie de l'étape ii. a bien été levée, l'invalidation (E4) de ladite zone de la mémoire non volatile, de façon à ce que l'interface de lecture (E) ne tente plus d'accéder à ladite zone de la mémoire non volatile; - si aucune exception (HW_X) ayant entraîné la réalisation d'un retour, sous la forme d'un saut absolu (X3), pour revenir à la sortie de l'étape ii. n'a été levée, la poursuite du procédé par l'étape iii.\n<CLM>\1\tProcédé selon l'une des revendications précédentes, caractérisé en ce que l'étape iv. comprend en outre la transmission d'une information à l'interface de lecture par le gestionnaire d'exception selon laquelle une erreur non corrigible est survenue.\n<CLM>\1\tProcédé selon la revendication 8, caractérisé en ce que ladite information comprend une identification de la zone de la mémoire non volatile présentant l'erreur non corrigible et présumée corrompue.\n<CLM>\1\tDispositif de microcontrôleur embarqué, destiné à un calculateur de véhicule automobile, ledit microcontrôleur comprenant un microprocesseur et une mémoire non volatile, et ledit microcontrôleur étant caractérisé en ce qu'il est configuré pour mettre en oeuvre le procédé de détection et de gestion d'une erreur non corrigible dans la mémoire non volatile du microcontrôleur selon l'une quelconque des revendications 1 à 9.