Procédé de surveillance, mis en œuvre par une unité de surveillance (SRV), d’une exécution d’une portion de code programme sélectionnée (Rst) et enregistrée dans une plage d’adresses mémoires (AddRst) entre une adresse de début (s) et une adresse de fin (e), mise en œuvre par une unité de traitement (CPU) utilisant un compteur programme (PC) pointant l’adresse d’une instruction exécutée par l’unité de traitement, le procédé de surveillance comprenant : - un démarrage d’un chronométrage (CNT) lorsque le compteur programme (PC) pointe l’adresse de début de ladite portion de code sélectionnée (s{Rst}) ; - une comparaison (CMP) des valeurs courantes du compteur programme (PC) avec un jeu d’adresses cibles spécifiques à ladite portion de code sélectionnée (TRGT{Rst}) comportant l’adresse de fin de ladite portion de code sélectionnée (e{Rst}) ; - un arrêt du chronométrage (CNT) lorsque le compteur programme (PC) pointe l’adresse de fin de ladite portion de code sélectionnée (e{Rst}) ; - une génération d’un signal d’erreur (Err) si la durée du chronométrage est en dehors d’une gamme de durées nominale (NmnlRng) spécifique à ladite portion de code sélectionnée (Rst). Procédé selon la revendication 1, dans lequel ladite portion de code sélectionnée (Rst) comporte au moins une fonction d’appel (CLL{ClkSet}) de respectivement au moins une deuxième portion de code programme (ClkSet) enregistrée dans une deuxième plage d’adresses mémoires (AddClkSet) entre une deuxième adresse de début (s) et une deuxième adresse de fin (e), et le jeu d’adresses cibles spécifiques à ladite portion de code sélectionnée (TRGT{Rst}) comporte ladite au moins une deuxième adresse de début (s{ClkSet}), le procédé de surveillance comprenant en outre une procédure d’intégration d’appel lorsque le compteur programme (PC) pointe ladite deuxième adresse de début (s{ClkSet}), la procédure d’intégration d’appel comprenant : -- une suspension du chronométrage (CNT) ; -- une mémorisation de la valeur du chronométrage suspendu ; et -- une reprise du chronométrage suspendu (CNT) à partir de la valeur mémorisée lorsque le compteur programme (PC) pointe ladite deuxième adresse de fin (e). Procédé selon la revendication 2, dans lequel la procédure d’intégration d’appel comprend en outre, avec pour portion de code sélectionnée la deuxième portion de code (ClkSet) : - l’étape de démarrage d’un autre chronométrage (CNT) ; - l’étape de comparaison (CMP) des valeurs courantes du compteur programme (PC) avec un autre jeu d’adresses cibles spécifiques à ladite deuxième portion de code sélectionnée (TRGT{ClkSet}) ; - l’étape d’arrêt de cet autre chronométrage (CNT) ; - l’étape de génération du signal d’erreur (Err) avec une autre gamme de durées nominale (NmnlRng) spécifique à ladite deuxième portion de code sélectionnée (ClkSet) ; et - le cas échéant, la procédure d’intégration d’un autre appel (CLL{ClkEnLp}). Procédé selon l’une des revendications précédentes, dans lequel la gamme de durées nominale (NmnlRng) est définie spécifiquement pour chaque portion de code (Rst, ClkSet) en fonction d’un nombre de cycles d’horloges d’une exécution nominale par l’unité de traitement (CPU), et d’un retard causé par des récupération d’instructions en mémoire (FTCH). Procédé selon l’une des revendications précédentes, dans lequel la gamme de durées nominale (NmnlRng) est automatiquement ajustée en fonction de l’activité de l’unité de traitement (CPU) communiquée par au moins l’un des paramètres suivants : la fréquence d’un signal d’horloge (FreqSel) cadençant l’exécution de l’unité de traitement ; un événement d’admission d’une instruction en mémoire cache (Cch_I) ; un événement d’admission d’une donnée en mémoire cache (Cch_D) ; un événement d’éviction d’une donnée en mémoire cache (Cch_Evct) ; un état d’attente de l’unité de traitement (STALL). Procédé selon l’une des revendications précédentes, dans lequel le chronométrage (CNT) est cadencé par un signal d’horloge distinct (ClkGen) d’un signal d’horloge (clk) cadençant l’exécution de l’unité de traitement (CPU). Procédé selon l’une des revendications précédentes, dans lequel la portion de code programme sélectionnée (Rst) appartient à une phase de démarrage de l’exécution par l’unité de traitement (CPU), avant que des mécanismes de protections par gestion de droits d’accès (MMU/MPU) ne soient effectifs, ou appartient à une phase critique de l’exécution par l’unité de traitement ayant un droit d’accès le plus permissif. Procédé de fabrication d’un système sur puce (SOC) adapté pour mettre en œuvre le procédé de surveillance selon l’une des revendications 1 à 7, comprenant une conception du code programme (Intr, Rst, ProtSet, ProtChck, ClkSet, ClkEnLp) comportant ladite portion de code programme sélectionnée (Rst), puis une fabrication de l’unité de traitement (CPU) et de l’unité de surveillance (SRV) matériellement configurée de façon adaptée au code programme conçu (Intr, …, ClkEnLp), puis un enregistrement du code programme dans une mémoire (MEM) du système sur puce (SOC). Système sur puce (SOC) comportant une unité de traitement (CPU) configurée pour exécuter une portion de code programme sélectionnée (Rst) et enregistrée dans une plage d’adresses d’une mémoire (AddRst), entre une adresse de début (s) et une adresse de fin (e), et pour générer un compteur programme (PC) pointant l’adresse d’une instruction exécutée, et une unité de surveillance (SRV) configurée pour surveiller l’exécution de la portion de code programme sélectionnée (Rst), l’unité de surveillance (SRV) comportant : - un circuit comparateur (CMP) configuré pour comparer des valeurs courantes du compteur programme (PC) avec un jeu d’adresses cibles (TRGT) spécifiques à ladite portion de code sélectionnée (Rst) comportant l’adresse de fin de ladite portion de code sélectionnée (e{Rst}) ; - un circuit compteur (CNT) configuré pour démarrer un chronométrage lorsque le compteur programme (PC) pointe l’adresse de début de ladite portion de code sélectionnée (s{Rst}) et pour arrêter le chronométrage lorsque le compteur programme (PC) pointe l’adresse de fin de ladite portion de code sélectionnée (e{Rst}) ; - un circuit de décision (DSC) configuré pour générer un signal d’erreur (Err) si la durée du chronométrage est en dehors d’une gamme de durées nominale (NmnlRng) spécifique à ladite portion de code sélectionnée. Système sur puce selon la revendication 9, dans lequel ladite portion de code sélectionnée (Rst) comporte au moins une fonction d’appel (CLL) de respectivement au moins une deuxième portion de code programme (ClkSet) enregistrée dans une deuxième plage d’adresses mémoires (AddClkSet) entre une deuxième adresse de début (s) et une deuxième adresse de fin (e), et le jeu d’adresses cibles (TRGT{Rst}) spécifiques à ladite portion de code sélectionnée comporte ladite au moins une deuxième adresse de début (s{ClkSet}), l’unité de surveillance (SRV), pour tenir compte de l’appel (CLL), étant configurée pour : -- suspendre ledit chronométrage avec le circuit compteur (CNT) ; -- mémoriser la valeur du chronométrage suspendu ; et -- reprendre ledit chronométrage suspendu à partir de la valeur enregistrée avec le circuit compteur (CNT) lorsque le compteur programme (PC) pointe ladite deuxième adresse de fin (e). Système sur puce selon la revendication 10, dans lequel, l’unité de surveillance (SRV), pour tenir compte de l’appel (CLL), est configurée pour paramétrer le circuit comparateur (CMP), le circuit compteur (CNT) et le circuit de décision (DCS), avec pour portion de code sélectionnée la deuxième portion de code (ClkSet), et avec un jeu d’adresses cibles (TRGT{ClkSet}) et une gamme de durées nominale (NmnlRng) spécifiques à la deuxième portion de code (ClkSet). Système sur puce selon l’une des revendications 8 à 11, dans lequel le circuit de décision (DCS) comprend un enregistrement d’une gamme de durées nominale (NmnlRng) définie spécifiquement pour chaque portion de code (Rst ; ClkSet) en fonction d’un nombre de cycles d’horloges d’une exécution nominale par l’unité de traitement (CPU), et d’un retard causé par des récupération d’instructions en mémoire (FTCH). Système sur puce selon l’une des revendications 8 à 12, dans lequel le circuit de décision (DCS) est configuré pour automatiquement ajuster la gamme de durées nominale (NmnlRng) en fonction de l’activité de l’unité de traitement (CPU) communiquée par au moins l’un des paramètres suivants : la fréquence d’un signal d’horloge (FreqSel) cadençant l’exécution de l’unité de traitement ; un événement d’admission d’une instruction dans une mémoire cache (Cch_I) ; un événement d’admission d’une donnée dans une mémoire cache (Cch_D) ; un événement d’éviction d’une donnée dans une mémoire cache (Cch_Evct) ; un état d’attente de l’unité de traitement (STALL). Système sur puce selon l’une des revendications 8 à 13, dans lequel un générateur d’horloge (PLL) est configuré pour générer un signal d’horloge adapté pour cadencer l’exécution de l’unité de traitement (CPU), le circuit compteur (CNT) étant configuré pour générer un signal d’horloge distinct pour cadencer le chronométrage (ClkGen). Système sur puce selon l’une des revendications 8 à 14, dans lequel un circuit de gestion de droits d’accès (MMU/MPU) est configuré pour opérer un mécanisme de protection par gestion de droits d’accès d’instructions exécutées par l’unité de traitement (CPU), l’unité de surveillance (SRV) étant configurée pour surveiller la portion de code programme sélectionnée (Rst) appartenant à une phase de démarrage de l’exécution par l’unité de traitement (CPU), avant que les mécanismes de protections par gestion de droits d’accès ne soient opérationnels, ou appartenant à une phase critique de l’exécution par l’unité de traitement ayant un droit d’accès le plus permissif.