FR 3159686 A1 20250829 FR 2401914 A 20240227 Selon un aspect, il est proposé un microcontrôleur comprenant : - un processeur (PRC), - une interface de communication (COM_I) configurée pour permettre une communication entre le processeur (PRC) et une mémoire externe (EXTMEM), - une mémoire interne (INTMEM) stockant : ● au moins un pilote (LDRV) configuré pour contrôler ladite interface de communication lorsqu’il est exécuté par ledit processeur, ● un module logiciel de gestion (EXTMEM_M) configuré pour contrôler la mémoire externe (EXTMEM) en utilisant ledit au moins un pilote ainsi qu’au moins un paramètre de communication associé à ladite mémoire externe lorsqu’il est exécuté par ledit processeur. Figure pour l’abrégé : Figure 1 SYSTÈME INFORMATIQUE COMPRENANT UN MICROCONTRÔLEUR UTILISANT UNE MÉMOIRE EXTERNE Des modes de réalisation et de mise en œuvre concernent les systèmes informatiques, et plus particulièrement les systèmes informatiques comprenant un microcontrôleur utilisant une mémoire externe. Un microcontrôleur peut utiliser une mémoire externe afin d’augmenter sa capacité de stockage. En particulier, les microcontrôleurs présentent généralement une mémoire interne limitée en termes de capacité, voire ne présentent pas de mémoire interne non volatile. Cette mémoire interne peut être insuffisante pour certaines applications nécessitant une capacité de stockage plus importante pour le stockage de données ou de programmes complexes. Ainsi, l’utilisation d’une mémoire externe permet d’étendre la capacité de stockage disponible. Il existe plusieurs types de mémoires externes. On connaît notamment les mémoires non volatiles de type « NOR Flash » ou « NAND Flash », les mémoires vives (dites « RAM », abréviation de l’anglais « Random-access memory »), les cartes mémoires, de type « SD » (abréviation de l’anglais « Secure Digital »), ou « microSD ». L’utilisation d’une mémoire externe dans un système informatique requiert une connaissance des différentes technologies de mémoire. Il est important que la mémoire externe soit compatible avec le microcontrôleur afin d’assurer un fonctionnement correct et efficace du système informatique. En particulier, il est important que le microcontrôleur utilise une interface de communication compatible avec la mémoire externe utilisée afin de pouvoir communiquer avec cette dernière. L’interface de communication peut être une interface série de type « SPI » (abréviation de l’anglais « Serial Peripheral Interface »), notamment en 16 lignes, 8 lignes, 4 lignes, 2 lignes ou 1 ligne, ou de type « xSPI » (abréviation de l’anglais « expanded Serial Peripheral Interface ») par exemple. Il existe également des interfaces de communication parallèle, notamment de type « FMC » (abréviation de l’anglais « Flexible Memory Controller ». En outre, il est également important que le microcontrôleur utilise le même protocole de communication que la mémoire externe. Par exemple, le protocole « JESD251C » de l’organisme de normalisation « JEDEC » (abréviation de l’anglais « Joint Electron Device Engineering Council ») définit un protocole de communication pour une mémoire externe utilisant une interface de communication « xSPI ». Les solutions connues ne permettent pas à un microcontrôleur de supporter différents types de mémoires externes sans avoir à programmer spécifiquement le microcontrôleur pour chaque type de mémoires externes à supporter. Ces solutions sont complexes et coûteuses à mettre en œuvre. En particulier, il est possible de développer un pilote adapté pour une mémoire externe qu’un utilisateur souhaite utiliser avec le microcontrôleur. Néanmoins, le développement d’un tel pilote repose généralement sur l’utilisateur du microcontrôleur (c’est-à-dire le concepteur du système informatique comportant le microcontrôleur et la mémoire externe), car c’est cet utilisateur qui décide de la mémoire externe qu’il souhaite utiliser. En effet, le fabricant du microcontrôleur ne peut pas connaître à l’avance la mémoire externe qui sera utilisée par l’utilisateur. Or, le développement d’un tel pilote peut être complexe pour un utilisateur du microcontrôleur. Le coût de l’intégration d’une mémoire externe repose donc sur l’utilisateur et non pas sur le fabricant du microcontrôleur. Il existe donc un besoin de proposer une solution permettant de simplifier la gestion d’une mémoire externe par un microcontrôleur. Par ailleurs, il existe différents outils de développement (désignés également par l’abréviation « IDE » de l’anglais « Integrated Development Environment ») permettant à l’utilisateur du microcontrôleur de développer ses programmes applicatifs à exécuter par le microcontrôleur. En particulier, l’outil de développement permet à l’utilisateur de charger un programme applicatif sur la mémoire externe utilisée avec le microcontrôleur. Ainsi, il est important que l’outil de développement soit adapté pour le type de mémoire externe que l’utilisateur souhaite utiliser afin de permettre l’écriture de données ou de programmes applicatifs dans la mémoire externe utilisée avec le microcontrôleur. Le même problème se pose pour des outils de chargement de programmes. Il est donc important que chaque outil de développement intègre un module de chargement de mémoire externe (en anglais « external memory loader ») adapté aux exigences de cet outil de développement ainsi qu’à la mémoire externe que l’utilisateur souhaite utiliser. Or, il n’est pas simple de développer un module de chargement de mémoire externe pour chaque outil de développement. Il existe donc également un besoin de proposer une solution adaptée pour différents outils de développement pour simplifier le chargement d’un programme applicatif pour un microcontrôleur pouvant utiliser différents types de mémoire externe et différents protocoles de communication. Selon un aspect, il est proposé un microcontrôleur comprenant : - un processeur, - une interface de communication configurée pour permettre une communication entre le processeur et une mémoire externe, - une mémoire interne stockant : ● au moins un pilote configuré pour contrôler ladite interface de communication lorsqu’il est exécuté par ledit processeur, ● un module logiciel de gestion configuré pour contrôler la mémoire externe en utilisant ledit au moins un pilote ainsi qu’au moins un paramètre de communication associé à ladite mémoire externe lorsqu’il est exécuté par ledit processeur. Un tel module logiciel de gestion permet de simplifier l’intégration d’une mémoire externe dans un système informatique en réduisant les besoins de connaissances de la mémoire externe utilisée pour un utilisateur souhaitant utiliser une mémoire externe avec un microcontrôleur. L’utilisation d’un tel module logiciel de gestion permet donc de réduire les coûts en développement de pilotes par un utilisateur du microcontrôleur. En outre, le contrôle de la mémoire externe est optimisé car le module logiciel de gestion tient compte d’au moins un paramètre de communication -notamment plusieurs paramètres de communication- associé à la mémoire externe, tel qu’un nombre de lignes de données et une fréquence maximale. Avantageusement, ledit module logiciel de gestion comprend une interface de programmation servant de point d’entrée pour des programmes applicatifs souhaitant utiliser la mémoire externe. Cette interface de programmation peut être unique pour l’ensemble des mémoires externes supportées par le module de gestion. Il est ainsi plus simple pour un utilisateur de changer de mémoire externe. De préférence, ledit module logiciel de gestion comporte : ● un programme pilote configuré pour contrôler ladite mémoire externe à partir dudit au moins un paramètre de communication associé à cette mémoire externe, ● au moins un programme d’interface configuré pour permettre audit programme pilote d’utiliser ledit au moins un pilote pour contrôler ladite mémoire externe. En particulier, le module logiciel de gestion peut comprendre un programme pilote pour chaque type de mémoire externe que l’utilisateur du microcontrôleur souhaite utiliser. Dans un mode de réalisation avantageux, ledit module logiciel de gestion est stocké dans une zone d’amorçage de la mémoire interne de manière à être exécuté par ledit processeur lors d’un démarrage du microcontrôleur. Chaque paramètre de communication est défini en fonction du type de mémoire externe utilisée. Par exemple, ledit au moins un paramètre de communication associé à la mémoire externe est choisi parmi un nombre de lignes de communication de données, une fréquence maximale de communication et un temps de latence entre des accès en écriture et des accès en lecture à la mémoire externe. Avantageusement, le module logiciel de gestion comprend un programme d’amorçage configuré pour permettre, en fonction d’un mode d’exécution défini, une exécution d’un programme applicatif, stocké dans la mémoire externe, depuis la mémoire externe ou bien depuis la mémoire interne ou depuis une autre mémoire externe après y avoir copié le programme applicatif. Dans un mode de réalisation avantageux, la mémoire interne stocke en outre -notamment dans une partie volatile (non représentée) de la mémoire interne- un module logiciel de chargement configuré pour permettre à un outil de développement ou de chargement de charger un programme applicatif dans la mémoire externe en utilisant ledit module logiciel de gestion. En particulier, le module logiciel de chargement est chargé dans la mémoire interne lorsque l’utilisateur souhaite charger un programme applicatif dans la mémoire externe. Un tel module logiciel de chargement permet d’établir une connexion entre un ou plusieurs outils de développement ou de chargement et le microcontrôleur ayant accès à la mémoire externe via une interface physique. De la sorte, le module logiciel de chargement simplifie le chargement d’un programme applicatif dans une mémoire externe pour un utilisateur. En outre, l’utilisateur de l’outil de développement ou de chargement n’a pas à connaître la configuration de cet outil ou du module logiciel de chargement pour charger un programme applicatif dans la mémoire externe. L’utilisation d’un tel module logiciel de chargement permet de profiter des avantages apportés par le module logiciel de gestion en contrôlant de manière optimale la mémoire externe pour charger le programme applicatif. En particulier, le module logiciel de gestion permet de charger le programme applicatif dans la mémoire externe en utilisant par exemple un nombre de lignes de données, une fréquence maximale associée à la mémoire externe et un temps de latence entre des accès en écriture et des accès en lecture à la mémoire externe. Cela permet ainsi de charger plus rapidement le programme applicatif dans la mémoire externe. De préférence, le module logiciel de chargement comprend : - une interface de programmation configurée pour recevoir des requêtes de l’outil de développement ou de chargement, - un module d’encapsulation configuré pour utiliser le module logiciel de gestion pour charger un programme applicatif dans la mémoire externe sur requête de l’outil de développement ou de chargement. Avantageusement, le module logiciel de chargement comprend un module de débogage configuré pour exécuter une série de tests afin d’évaluer si le module logiciel de chargement fonctionne correctement. Selon un autre aspect, il est proposé un système informatique comprenant une mémoire externe et un microcontrôleur comportant : - un processeur, - une interface de communication configurée pour permettre une communication entre le processeur et ladite mémoire externe, - une mémoire interne stockant : ● au moins un pilote configuré pour contrôler ladite interface de communication lorsqu’il est exécuté par ledit processeur, ● un module logiciel de gestion configuré pour contrôler la mémoire externe en utilisant ledit au moins un pilote ainsi qu’au moins un paramètre de communication associé à ladite mémoire externe lorsqu’il est exécuté par ledit processeur. Selon un autre aspect, il est proposé un procédé de gestion d’une mémoire externe par un microcontrôleur comprenant une exécution, par un processeur du microcontrôleur, d’un module logiciel de gestion stocké dans une mémoire interne du microcontrôleur, l’exécution du module logiciel de gestion entraînant un contrôle de la mémoire externe en utilisant : - au moins un pilote configuré pour contrôler une interface de communication permettant une communication entre le processeur et la mémoire externe, et - au moins un paramètre de communication associé à la mémoire externe. Selon un autre aspect, il est proposé un procédé de chargement, par un outil de développement ou de chargement, d’un programme applicatif dans une mémoire externe utilisée par un microcontrôleur, le procédé comprenant une exécution, par un processeur du microcontrôleur, d’un module logiciel de chargement, stocké dans une mémoire interne du microcontrôleur, sur requête de l’outil de développement ou de chargement pour charger ledit programme applicatif dans la mémoire externe, le module logiciel de chargement utilisant un module logiciel de gestion afin de contrôler de la mémoire externe à partir : - d’au moins un pilote configuré pour contrôler une interface de communication permettant une communication entre le processeur et la mémoire externe, et - d’au moins un paramètre de communication associé à la mémoire externe. Selon un autre aspect, il est proposé un outil logiciel de génération de code exécutable par un microcontrôleur comprenant : - une interface graphique adaptée pour permettre une saisie d’un type de mémoire externe à utiliser avec un microcontrôleur, - un module de génération de code adapté pour générer un module logiciel de gestion configuré pour contrôler la mémoire externe en utilisant : ● au moins un pilote configuré pour contrôler une interface de communication permettant une communication entre un processeur du microcontrôleur et la mémoire externe, et ● au moins un paramètre de communication associé à la mémoire externe. Dans un mode de mise en œuvre avantageux, le module de génération de code est également adapté pour générer un module logiciel de chargement configuré pour permettre à un outil de développement ou de chargement de charger un programme applicatif dans la mémoire externe en utilisant ledit module logiciel de gestion. Selon un autre aspect, il est proposé un procédé de génération de code exécutable par un microcontrôleur, le procédé comprenant : - une saisie, par l’intermédiaire d’une interface graphique d’un outil logiciel de génération de code exécutable, d’un type de mémoire externe à utiliser avec un microcontrôleur, - une génération, par un module de génération de code, dudit outil logiciel, d’un module logiciel de gestion configuré pour contrôler la mémoire externe en utilisant : ● au moins un pilote configuré pour contrôler une interface de communication permettant une communication entre un processeur du microcontrôleur et la mémoire externe, et ● au moins un paramètre de communication associé à la mémoire externe. Avantageusement, le procédé comprend en outre : - une génération, par ledit module de génération de code, d’un module logiciel de chargement configuré pour permettre à un outil de développement ou de chargement de charger un programme applicatif dans la mémoire externe en utilisant ledit module logiciel de gestion, et - une intégration, par ledit outil de développement ou de chargement, du module logiciel de chargement et du module logiciel de gestion dans la mémoire interne dudit microcontrôleur. D’autres avantages et caractéristiques de l’invention apparaîtront à l’examen de la description détaillée de mode de réalisation et de mise en œuvre, nullement limitatifs, et des dessins annexés sur lesquels : FIG. 1 ; FIG. 2 ; FIG. 3 FIG. 4 ; FIG. 5 ; FIG. 6 ; FIG. 7 ; FIG. 8 ; et FIG. 9 illustrent schématiquement des modes de mise en œuvre et de réalisation de l’invention. La FIG. 1 illustre un système informatique SYS comprenant un microcontrôleur MCU et au moins une mémoire externe EXTMEM. Le microcontrôleur MCU comprend une mémoire interne INTMEM et un processeur PRC. En variante, le microcontrôleur MCU peut présenter plusieurs processeurs. Le microcontrôleur MCU peut par exemple être un microcontrôleur STM32®, commercialisé par la société STMicroelectronics. Le microcontrôleur MCU peut comprendre un processeur PRC de type Arm® Cortex®-M. La mémoire interne INTMEM peut être une mémoire flash par exemple. Le microcontrôleur MCU peut comprendre des interfaces de communication COM_I pour que le processeur PRC du microcontrôleur MCU puisse communiquer avec au moins une mémoire externe EXTMEM. Par exemple, les interfaces de communication COM_I peuvent comprendre une interface I_XSPI pour bus « xSPI » (abréviation de l’anglais « expanded Serial Peripheral Interface »), une interface I_FMC pour contrôleur flexible de mémoire (désigné également par l’abréviation « FMC » de l’anglais « Flexible Memory Controller ») et/ou une interface I_SD/MMC pour carte « SD » (abréviation de l’anglais « Secure Digital ») ou pour carte multimédia « MMC » (abréviation de l’anglais « Multimedia Card »). La mémoire externe EXTMEM permet d’étendre la capacité de stockage du microcontrôleur. La mémoire externe peut être une mémoire non volatile, par exemple de type « NOR Flash ». La mémoire externe peut aussi être une mémoire volatile, notamment une mémoire vive (désignée également par l’abréviation « RAM », de l’anglais « Random Access Memory »). La mémoire externe EXTMEM peut également être une carte « SD ». Dans le mode de réalisation représenté, le système informatique SYS comprend une seule mémoire externe EXTMEM. Néanmoins, il est possible de prévoir un système informatique SYS comportant plusieurs mémoires externes EXTMEM, notamment des mémoires externes de différents types. La FIG. 2 illustre un mode de réalisation d’une mémoire interne INTMEM et d’une mémoire externe EXTMEM. La mémoire externe EXTMEM comprend un premier espace EDATZ dédié à un stockage de données DAT. La mémoire externe EXTMEM comprend également un deuxième espace EPRGZ dédié au stockage de programmes applicatifs APRG. La mémoire interne INTMEM comprend un premier espace IDATZ dédié à un stockage de données DAT. La mémoire interne INTMEM comprend également un deuxième espace IPRGZ dédié au stockage de programmes. La mémoire interne INTMEM comporte une zone IBTZ, appelée secteur d’amorçage (en anglais « boot sector »), dans laquelle est stockée un logiciel d’amorçage (également appelé « chargeur d’amorçage », en anglais « boot loader »). La zone d’amorçage IBTZ de la mémoire interne INTMEM comprend également un module logiciel EXTMEM_M de gestion de la mémoire externe EXTMEM. La FIG. 3 illustre une architecture logicielle dans la mémoire interne INTMEM permettant au microcontrôleur MCU d’utiliser différents types de mémoire externe EXTMEM. Le processeur PRC, l’interface de communication COM_I, la mémoire externe EXTMEM et la mémoire interne INTMEM sont ici représentés dans une couche matérielle HWR. L’architecture logicielle est organisée en plusieurs couches logicielles. Une première couche logicielle FRMW comporte des programmes de bas niveau, dits « firmware ». Cette première couche logicielle FRMW est notamment configurée pour gérer les différents éléments matériels (en anglais « hardware ») du microcontrôleur. En particulier, cette première couche logicielle FRMW comporte un ensemble de pilotes LDRV (en anglais « drivers »). Ces pilotes LDRV peuvent être des pilotes « HAL » (abréviation de l’anglais « Hardware Abstraction Layer ») ou bien des pilotes « LL » (abréviation de l’anglais « Low Level »). Les pilotes « HAL » et « LL » permettent de contrôler les interfaces de communication et des mémoires externes. En particulier, les pilotes « HAL » et « LL » permettent par exemple d’envoyer des commandes à une mémoire externe, notamment pour définir une fréquence de fonctionnement ou un nombre de lignes de données pour communiquer avec le microcontrôleur. Par exemple, ces pilotes « HAL » peuvent comprendre : - un pilote pour un contrôler un bus « SPI » (abréviation de l’anglais « Serial Peripheral Interface »), et/ou - un pilote pour contrôler un bus « xSPI », et/ou - un pilote pour contrôler une carte « SD », et/ou - un pilote pour contrôler une carte multimédia embarquée (désignée également par l’abréviation « EMMC », de l’anglais « Embedded Multimedia Card »), et/ou - un pilote pour contrôler une mémoire flash de type « NAND », et/ou - un pilote pour contrôler une mémoire flash de type « NOR », et/ou - un pilote pour contrôler une mémoire vive de type « SRAM » (abréviation de l’anglais « Static Random Access Memory »). Par exemple, les pilotes « LL » peuvent comprendre : - un pilote pour contrôler une carte « SD » ou une carte « MMC » (de l’anglais « Multimedia Card »), et/ou - un pilote pour contrôler un contrôleur flexible de mémoire « FMC ». La première couche logicielle FRMW comprend des programmes d’interface « CMSIS » (abréviation de l’anglais « Common Microcontroller Software Interface Standard ») qui décrivent des interfaces matérielles du microcontrôleur parmi lesquelles figurent les périphériques de communication avec les mémoires externes et l’ensemble des registres programmables associés. Une deuxième couche logicielle MDLW comporte un module logiciel de gestion EXTMEM_M de niveau intermédiaire, dits « middleware ». Ce module logiciel de gestion EXTMEM_M est configuré pour initialiser une interface de communication COM_I et communiquer avec la mémoire externe EXTMEM. Ce module logiciel de gestion EXTMEM_M est configuré pour être utilisé par des programmes applicatifs APRG (en anglais « software »). Le module logiciel de gestion EXTMEM_M comporte des programmes BT_M de gestion d’amorçage (en anglais « boot manager »). Ces programmes BT_M de gestion d’amorçage peuvent être appelés par les programmes applicatifs APRG. Les programmes BT_M de gestion d’amorçage sont destinés à mettre en œuvre un mode d’exécution des programmes applicatifs APRG stockés dans la mémoire externe EXTMEM. En particulier, deux modes d’exécution peuvent être mises en œuvre. Un premier mode d’exécution permet d’exécuter les programmes applicatifs APRG depuis la mémoire externe EXTMEM. Ce premier mode d’exécution peut être mis en œuvre lorsque la mémoire externe EXTMEM est associée à une adresse prédéfinie pouvant être utilisée par le microcontrôleur MCU pour exécuter un programme applicatif APRG. Un deuxième mode d’exécution permet d’exécuter des programmes applicatifs APRG stockés dans la mémoire externe EXTMEM depuis la mémoire interne INTMEM du microcontrôleur MCU ou dans une autre mémoire externe. En particulier, ce deuxième mode d’exécution permet de copier dans la mémoire interne INTMEM du microcontrôleur (notamment dans la zone IDATZ de la mémoire interne INTMEM) ou dans une autre mémoire externe (non représentée) les programmes applicatifs APRG à exécuter initialement stockés dans la mémoire externe EXTMEM. Ce deuxième mode d’exécution permet ensuite d’exécuter les programmes applicatifs APRG copiés. Lors de l’exécution d’un programme applicatif APRG, le microcontrôleur MCU est configuré pour utiliser un fichier de lien pour établir une correspondance entre des adresses utilisées par un programme applicatif et des emplacements mémoire où sont stockées les données utilisées par ce programme applicatif. Ce fichier de lien dépend du mode d’exécution utilisé car il fournit les adressages de codes et données en mémoire externe EXTMEM ou en mémoire interne INTMEM. Le module logiciel de gestion EXTMEM_M comporte également des programmes pilotes EXTMEM_D. Ces programmes pilotes EXTMEM_D sont configurés pour gérer différentes technologies de mémoire externe EXTMEM. Ces programmes pilotes EXTMEM_D sont configurés pour contrôler la mémoire externe EXTMEM. Ces programmes pilotes EXTMEM_D sont également dépendants des normes associées aux différentes technologies de mémoire externe EXTMEM. Lorsqu’aucun protocole n’est associé à une mémoire externe EXTMEM, alors les programmes pilotes EXTMEM_D utilisent des paramètres de communication personnalisés pour contrôler cette mémoire externe EXTMEM. Ces programmes pilotes EXTMEM_D peuvent être configurés pour initialiser une communication avec la mémoire externe EXTMEM, notamment lorsque la mémoire externe EXTMEM utilisée est une mémoire Flash série configurée pour utiliser le protocole « SFDP » (abréviation de l’anglais « Serial Flash Discoverable Parameter »), publié sous la référence JESD216F.02 par le « JEDEC » (abréviation de l’anglais « Joint Electron Device Engineering Council »). Cette communication permet aux programmes pilotes EXTMEM_D de récupérer des paramètres de communication associés à la mémoire externe EXTMEM. L’initialisation est alors effectuée avec des paramètres de communication minimaux, notamment en utilisant une seule ligne de données et une fréquence minimale, par exemple de l’ordre de 50MHz. Ces paramètres de communication peuvent comprendre une indication sur le nombre de lignes de données à utiliser pour réaliser une communication entre la mémoire externe EXTMEM et le microcontrôleur MCU. Ces paramètres de communication peuvent également comprendre une fréquence maximale de fonctionnement de la mémoire externe EXTMEM. Ces paramètres de communication peuvent aussi comprendre un temps de latence entre des accès en écriture et des accès en lecture à la mémoire externe Ces paramètres de communication sont ensuite utilisés par les programmes pilotes EXTMEM_D pour contrôler la mémoire externe EXTMEM, notamment pour utiliser des commandes d’écriture, de lecture et d’effacement de données dans la mémoire externe. Par exemple, les programmes pilotes EXTMEM_D comprennent : - un programme pilote D_SFDP pour contrôler une mémoire flash « SFDP », notamment de type « NOR », et/ou - un programme pilote D_PSRAM pour contrôler une mémoire vive de type « PSRAM » (abréviation de l’anglais « Pseudo Static Random Access Memory »), - un programme pilote D_SD pour contrôler une carte « SD », - un programme pilote D_NAND pour contrôler une mémoire flash de type « NAND », - un programme pilote D_CFI pour contrôler une interface commune pour mémoire flash (désignée également par l’abréviation « CFI » en anglais « Common Flash memory Interface »), notamment de type « NOR », et/ou optionnellement, - un programme pilote D_CST pour utiliser un pilote personnalisé DCUST configuré pour contrôler une mémoire externe non définie par un protocole En particulier, les programmes pilotes EXTMEM_D permettent de supporter des protocoles « JEDEC » qui définissent le fonctionnement de certaines mémoires, telles que les mémoires flash série configurée pour utiliser le protocole « SFDP ». Le module logiciel de gestion EXTMEM_M comporte également un ensemble I_SAL de programmes d’interface « SAL » (abréviation de l’anglais « Software Adaptation Layer »). Les programmes d’interface « SAL » sont configurés pour utiliser les pilotes « HAL » afin de contrôler le microcontrôleur. Les programmes d’interface « SAL » sont configurés pour être utilisés par les programmes pilotes EXTMEM_D du module logiciel de gestion EXTMEM_M. Par exemple, l’ensemble I_SAL de programme d’interface comprend : - un programme d’interface SAL_XSPI pour utiliser le pilote HAL_XSPI permettant de contrôler un bus « xSPI », ce programme d’interface SAL_XSPI pouvant être utilisé par les programmes pilotes D_SFDP, D_PSRAM et D_CFI, - un programme d’interface SAL_SD/MMC pour utiliser les pilotes HAL_SD et HAL_EMMC permettant de contrôler une carte « SD » et une carte multimédia embarquée, ce programme d’interface SAL_SD/MMC pouvant être utilisé par le programme pilote D_SD, - un programme d’interface SAL_SPI pour utiliser le pilote HAL_SPI permettant de contrôler un bus « SPI », ce programme d’interface SAL_SPI pouvant être utilisé par le programme pilote D_SD, - un programme d’interface SAL_FMC pour utiliser les pilotes HAL_NAND, HAL_NOR et HAL_SRAM, ce programme d’interface SAL_FMC pouvant être utilisé par les programmes pilotes D_NAND, D_PSRAM, et D_CFI. Le module logiciel de gestion EXTMEM_M comprend également une interface de programmation (non représentée) servant de point d’entrée pour des programmes applicatifs APRG souhaitant utiliser la mémoire externe EXTMEM. Cette interface de programmation est configurée pour mettre à disposition des fonctions permettant de contrôler la mémoire externe EXTMEM pour des programmes applicatifs APRG utilisant cette mémoire externe EXTMEM. Par exemple, ces fonctions peuvent permettre d’initialiser la mémoire externe EXTMEM, de lire, d’écrire ou écraser des données dans la mémoire externe EXTMEM. Cette interface de programmation est unique pour l’ensemble des mémoires externes EXTMEM supportées par le module logiciel de gestion EXTMEM_M. Il est ainsi plus simple pour un utilisateur de changer de mémoire externe EXTMEM. La FIG. 4 illustre un mode de mise en œuvre d’un procédé de gestion d’une mémoire externe EXTMEM par un microcontrôleur MCU. Le procédé comprend une étape 40 dans laquelle le processeur PRC du microcontrôleur MCU initialise le périphérique matériel d'interface mémoire et exécute le module logiciel de gestion EXTMEM_M. L’exécution du module logiciel de gestion EXTMEM_M entraîne un contrôle 41 de la mémoire externe EXTMEM en utilisant le pilote LDRV configuré pour contrôler l’interface de communication COM_I utilisée pour établir une communication entre le processeur PRC et la mémoire externe EXTMEM. Le contrôle 41 de mémoire externe EXTMEM est également exercé en utilisant au moins un paramètre de communication associé à la mémoire externe EXTMEM. Cela permet d’obtenir de meilleures performances dans le contrôle de la mémoire externe EXTMEM en utilisant un nombre de lignes de données et une fréquence maximale associée à la mémoire externe EXTMEM. La FIG. 5 illustre un mode de réalisation d’une architecture logicielle permettant de charger un programme applicatif APRG dans une mémoire externe EXTMEM utilisée par un microcontrôleur MCU. L’architecture logicielle comprend une première couche logicielle FRMW et une deuxième couche logicielle MDLW telles que celles décrites précédemment. En particulier, la deuxième couche logicielle MDLW comprend un module logiciel de gestion EXTMEM_M tel que décrit précédemment. Ce module logiciel de gestion EXTMEM_M peut être une deuxième instance du module EXTMEM_M précédemment décrit. Cette deuxième instance est alors dédiée uniquement pour permettre le contrôle de la mémoire externe EXTMEM pour le chargement d’un programme applicatif. Cette deuxième instance est alors stockée temporairement dans la mémoire interne INTMEM du microcontrôleur MCU, notamment dans une partie volatile (non représentée) de la mémoire interne INTMEM. La deuxième couche logicielle comprend également un module logiciel de chargement EXTMEM_L de mémoire externe (en anglais « external memory loader »). Le module logiciel de chargement EXTMEM_L est configuré pour permettre une communication entre différents outils de développement IDE_T (voir FIG. 7 ) ou de chargement et la mémoire externe EXTMEM afin de charger un programme applicatif APRG dans la mémoire externe EXTMEM. Ce module logiciel de chargement EXTMEM_L est alors stocké dans la mémoire interne INTMEM du microcontrôleur MCU, notamment dans une partie volatile de la mémoire interne INTMEM, puis exécuté depuis cette mémoire interne INTMEM pour charger le programme applicatif APRG dans la mémoire externe EXTMEM à partir d’un outil de développement utilisant un point d’entrée de ce module logiciel de chargement EXTMEM_L. En particulier, le module logiciel de chargement EXTMEM_L permet de réaliser un chargement d’un programme applicatif de la mémoire externe en utilisant le module logiciel de gestion EXTMEM_M. Le chargement de la mémoire externe vise à installer des programmes applicatifs et/ou des données dans la mémoire externe. Le module logiciel de chargement EXTMEM_L est configuré pour permettre le chargement d’un programme applicatif dans la mémoire externe EXTMEM par différents outils de développement IDE_T (désignés également par l’abréviation « IDE » de l’anglais « Integrated Development Environment ») ou par différents outils de chargement de programme applicatifs. Par exemple, le module logiciel de chargement EXTMEM_L peut être utilisé par l’outil de développement « IAR Embedded Workbench for Arm® » (IDE_T#1), ou par l’outil de développement « Arm® Keil MDK » (IDE_T#2), ou encore par l’outil de développement « STM32Cube® » (en particulier « STM32CubeIDE » et « STM32CubeProg ») (IDE_T#3). Le module logiciel de chargement EXTMEM_L peut également être utilisé par un outil de chargement de programmes applicatifs. Le module logiciel de chargement EXTMEM_L permet de faciliter le chargement d’un programme applicatif APRG dans différents types de mémoire externe EXTMEM et pour différents outils de développement IDE_T en utilisant le module logiciel de gestion EXTMEM_M. En particulier, le module logiciel de chargement EXTMEM_L comprend une interface de programmation API_IDE servant de points d’entrée pour différents outils de développement IDE_T (IDE_T#1, IDE_T#2, IDE_T#3) ou de chargement. Le module logiciel de chargement EXTMEM_L est configuré pour tenir compte des exigences de chaque outil de développement IDE_T pour définir les différents points d’entrée. Le module logiciel de chargement EXTMEM_L comporte également un cœur CRE comprenant un module d’encapsulation WRPM (en anglais « wrapper »). Ce module d’encapsulation WRPM est configuré pour permettre une communication entre un outil de développement IDE_T ou de chargement et le module logiciel de gestion EXTMEM_M. Le module d’encapsulation WRPM permet donc de bénéficier des avantages du module logiciel de gestion EXTMEM_M, et ainsi de simplifier la gestion de la mémoire externe EXTMEM lors d’un chargement d’un programme applicatif dans cette mémoire externe EXTMEM. Le module d’encapsulation WRPM peut également laisser une liberté à l’utilisateur de définir sa propre gestion d’accès à la mémoire externe. En particulier, ce module d’encapsulation WRPM est configuré pour appeler des fonctions fournies par le module logiciel de gestion EXTMEM_M sur requête de l’outil de développement IDE_T ou de chargement. Par exemple, les requêtes de l’outil de développement IDE_T ou de chargement peuvent être des requêtes d’écriture, de lecture ou d’effacement de la mémoire externe. Le module d’encapsulation WRPM peut alors utiliser les fonctions d’initialisation, d’écriture, de lecture et d’effacement de la mémoire externe fournies par le module logiciel de gestion. L’utilisation d’un tel module logiciel de chargement EXTMEM_L permet de profiter des avantages apportés par le module logiciel de gestion EXTMEM_M en contrôlant de manière optimale la mémoire externe EXTMEM pour y charger un programme applicatif APRG. En particulier, le module logiciel de gestion EXTMEM_M permet de charger le programme applicatif APRG dans la mémoire externe EXTMEM en utilisant le nombre de lignes de données et la fréquence maximale associée à la mémoire externe EXTMEM. Cela permet ainsi de charger plus rapidement le programme applicatif APRG dans la mémoire externe EXTMEM. Le cœur CRE comprend également un module d’horloge SYSTICK configuré pour commander l’horloge interne du microcontrôleur. Ce module d’horloge SYSTICK est configuré pour utiliser un pilote « HAL_PRC » du processeur du microcontrôleur. Ce module d’horloge SYSTICK permet de commander simplement l’horloge interne du microcontrôleur. Le module logiciel de chargement EXTMEM_L peut également comprendre un module de débogage DBGM. Ce module de débogage DBGM est configuré pour exécuter une fonction principale comprenant une série de tests afin d’évaluer si l’ensemble des services du module logiciel de chargement EXTMEM_L fonctionne correctement. La série de tests peut comprendre un test d’écriture d’une donnée dans la mémoire externe EXTMEM et/ou un test d’effacement d’un secteur de la mémoire externe EXTMEM et/ou un test d’initialisation de la mémoire externe EXTMEM et/ou un test de lecture d’une donnée stockée dans la mémoire externe EXTMEM. Ce module de débogage DBGM est configuré pour appeler via le module d’encapsulation des fonctions fournies par le module logiciel de gestion DBGM. Un tel module de débogage DBGM permet de déboguer simplement le module logiciel de chargement EXTMEM_L. Un tel module de débogage DBGM permet ainsi de simplifier le développement d’un programme applicatif APRG en permettant à l’utilisateur de s’assurer que le module logiciel de chargement EXTMEM_L fonctionne correctement. La FIG. 6 illustre un mode de mise en œuvre d’un procédé de chargement, par un outil de développement IDE_T ou de chargement, d’un programme applicatif dans une mémoire externe EXTMEM utilisée par un microcontrôleur MCU. Le procédé comprend une étape 60 dans laquelle le processeur PRC du microcontrôleur MCU exécute le module logiciel de chargement EXTMEM_L, sur requête de l’outil de développement IDE_T ou de chargement pour charger ledit programme applicatif APRG dans la mémoire externe EXTMEM. En particulier, la requête de l’outil de développement IDE_T ou de chargement est reçue via l’interface de programmation API_IDE. L’exécution du module logiciel de chargement EXTMEM_L par le microcontrôleur, sur requête de l’outil de développement IDE_T ou de chargement, entraîne une mise en œuvre 61 du module logiciel de gestion EXTMEM_M afin de contrôler de la mémoire externe EXTMEM. Le contrôle de la mémoire externe EXTMEM est réalisé à partir du pilote LDRV configuré pour contrôler l’interface de communication COM_I utilisée pour établir une communication entre le processeur PRC et la mémoire externe EXTMEM. Le contrôle de la mémoire externe EXTMEM est également exercé en utilisant au moins un paramètre de communication associé à la mémoire externe EXTMEM. Le contrôle de la mémoire externe EXTMEM permet alors de charger le programme applicatif dans la mémoire externe. La FIG. 7 illustre un ordinateur CPTR configuré pour exécuter un outil logiciel CMX de génération de code exécutable par un microcontrôleur MCU utilisant une mémoire externe EXTMEM. Un tel outil logiciel CMX de génération de code exécutable est configuré pour mettre en œuvre les procédés de génération de codes illustrés aux figures 8 et 9. L’ordinateur CPTR est également configuré pour exécuter un outil de développement IDE_T ou de chargement pour développer puis charger un programme applicatif APRG dans la mémoire externe EXTMEM. La FIG. 8 illustre un procédé de génération de code exécutable par un microcontrôleur MCU permettant de générer un module logiciel EXTMEM_M de gestion de mémoire externe tel que décrit précédemment. Un tel procédé est mis en œuvre par l’outil logiciel CMX de génération de code. L’outil logiciel CMX est configuré pour utiliser une interface graphique affichée sur l’ordinateur CPTR pour permettre à un utilisateur de fournir des informations concernant la mémoire externe EXTMEM_M qu’il souhaite utiliser avec le microcontrôleur MCU. Un tel procédé est configuré pour construire la première couche logicielle FRMW et pour configurer le module logiciel de gestion EXTMEM_M pour l’adapter à la mémoire externe EXTMEM utilisée. En particulier, le procédé comprend une étape 80 dans laquelle l’utilisateur indique qu’il souhaite utiliser le module logiciel de gestion EXTMEM_M pour contrôler une ou plusieurs mémoires externes EXTMEM. Le procédé comprend ensuite une étape 81 dans laquelle l’utilisateur renseigne les différents types de mémoires externes pouvant être utilisées par le microcontrôleur MCU. Par exemple, l’utilisateur peut renseigner qu’il souhaite que le microcontrôleur supporte des mémoires « SFDP », des mémoires « PSRAM » ou encore des mémoires personnalisées non définies par un protocole. Le fait de renseigner les mémoires externes à supporter permet de réduire l’occupation en mémoire du module logiciel de gestion en le limitant aux mémoires externes à supporter. L’utilisateur renseigne également l’interface de communication COM_I utilisée pour communiquer avec chaque mémoire externe. Par exemple, l’utilisateur peut renseigner que l’interface de communication utilisée est l’interface I_XSPI et/ou l’interface I_SD. Le procédé comprend ensuite une étape 82 dans laquelle l’utilisateur configure chaque mémoire externe EXTMEM. En particulier, l’utilisateur renseigne le programme pilote EXTMEM_D utilisé pour contrôler chaque mémoire externe ainsi que la configuration utilisée pour communiquer avec le microcontrôleur MCU. Si l’utilisateur renseigne que la mémoire externe EXTMEM sera contrôlée par le programme pilote D_SFDP correspondant au pilote « SFDP », alors l’utilisateur peut également renseigner l’interface de communication à utiliser (notamment l’interface I_XSPI) ainsi que le nombre de lignes de données à utiliser (par exemple huit lignes pour des données sur huit bits). Si l’utilisateur renseigne que la mémoire externe EXTMEM sera contrôlée par le programme pilote D_PSRAM, alors l’utilisateur peut également renseigner l’interface de communication à utiliser (notamment l’interface I_XSPI) ainsi que le nombre de lignes de données à utiliser (par exemple seize lignes pour des données sur seize bits). Les paramètres de communication sont également renseignés par l’utilisateur tels que la taille mémoire et la fréquence maximale de la mémoire afin de définir des commandes et une configuration permettant de piloter correctement la mémoire externe EXTMEM. Il est également possible de définir des commandes pour contrôler la mémoire externe. Le procédé comprend ensuite une étape 83 dans laquelle l’utilisateur renseigne le mode d’exécution des programmes applicatifs. En particulier, l’utilisateur peut choisir ledit premier mode d’exécution dans lequel les programmes applicatifs sont exécutés depuis la mémoire externe, ou bien ledit deuxième mode d’exécution dans lequel les programmes applicatifs sont exécutés depuis la mémoire interne INTMEM du microcontrôleur ou depuis une autre mémoire externe permettant une exécution de programmes (par exemple une mémoire externe de type « PSRAM ») après y avoir été copiés. Le procédé comprend ensuite une étape 84 de génération d’un fichier correspondant au module logiciel de gestion EXTMEM_M tel que décrit précédemment en relation avec la FIG. 1 , en tenant compte des informations renseignées par l’utilisateur. Le procédé comprend également une étape 85 dans laquelle l’outil logiciel CMX de génération de code génère un fichier de lien (en anglais « linker file ») adapté au module logiciel de gestion EXTMEM_M selon le microcontrôleur et l’outil de développement IDE_T ou de chargement utilisé. Le fichier de lien permet d’établir une correspondance entre des adresses utilisées par un programme applicatif APRG et des emplacements mémoire où sont stockées les données utilisées par ce programme applicatif. Le procédé comprend ensuite une étape 86 dans laquelle le module logiciel de gestion EXTMEM_M et le fichier de lien sont intégrés dans un outil de développement IDE_T ou de chargement. De la sorte, cet outil de développement ou de chargement peut ensuite intégrer le module logiciel de gestion EXTMEM_M dans la zone d’amorçage de la mémoire interne INTMEM du microcontrôleur. La FIG. 9 illustre un procédé de génération de code exécutable par un microcontrôleur MCU permettant de générer un module logiciel de chargement EXTMEM_L de mémoire externe tel que décrit précédemment. Un tel procédé est mis en œuvre par l’outil logiciel CMX de génération de code. L’outil logiciel CMX est configuré pour utiliser une interface graphique affichée sur un ordinateur CPTR pour permettre à un utilisateur de fournir des informations demandées. Le procédé comprend tout d’abord une étape 90 dans laquelle l’utilisateur renseigne le ou les outils de développement IDE_T ou de chargement qu’il souhaite utiliser à l’outil logiciel CMX. Le procédé comprend ensuite une étape 91 dans laquelle l’outil logiciel CMX génère un fichier correspondant au module logiciel de chargement EXTMEM_L à partir des outils de développement IDE_T ou de chargement renseignés par l’utilisateur. En particulier, l’outil logiciel CMX définit notamment les points d’entrée du module logiciel de chargement EXTMEM_L (c’est-à-dire les interfaces de programmation API_IDE) pour les outils de développement IDE_T. L’outil logiciel CMX génère également une deuxième instance du fichier correspondant au module logiciel de gestion EXTMEM_M tel que décrit précédemment. Le procédé comprend ensuite une étape 92 dans laquelle le fichier correspondant au module logiciel de chargement EXTMEM_L et la deuxième instance du module logiciel de de gestion EXTMEM_M sont intégrés dans un outil de développement IDE_T ou de chargement parmi ceux renseignés précédemment par l’utilisateur. De la sorte, cet outil de développement ou de chargement peut ensuite intégrer le module logiciel de chargement EXTMEM_L et la deuxième instance du module logiciel de gestion EXTMEM_M dans la mémoire interne INTMEM du microcontrôleur. L’outil de développement ou de chargement peut alors ensuite utiliser un point d’entrée du module logiciel de chargement EXTMEM_L pour charger un programme applicatif dans la mémoire externe EXTMEM du microcontrôleur. Microcontrôleur comprenant : - un processeur (PRC), - une interface de communication (COM_I) configurée pour permettre une communication entre le processeur (PRC) et une mémoire externe (EXTMEM), - une mémoire interne (INTMEM) stockant : ● au moins un pilote (LDRV) configuré pour contrôler ladite interface de communication lorsqu’il est exécuté par ledit processeur, ● un module logiciel de gestion (EXTMEM_M) configuré pour contrôler la mémoire externe (EXTMEM) en utilisant ledit au moins un pilote ainsi qu’au moins un paramètre de communication associé à ladite mémoire externe lorsqu’il est exécuté par ledit processeur. Microcontrôleur selon la revendication 1, dans lequel ledit module logiciel de gestion (EXTMEM_M) comprend une interface de programmation servant de point d’entrée pour des programmes applicatifs (APRG) souhaitant utiliser la mémoire externe (EXTMEM). Microcontrôleur selon l’une quelconque des revendications 1 ou 2, dans lequel ledit module logiciel de gestion (EXTMEM_M) comporte : ● un programme pilote (EXTMEM_D) configuré pour contrôler ladite mémoire externe (EXTMEM) à partir dudit au moins un paramètre de communication associé à cette mémoire externe (EXTMEM)de com, ● au moins un programme d’interface (EXTMEM_I) configuré pour permettre audit programme pilote (EXTMEM_D) d’utiliser ledit au moins un pilote (DRV) pour contrôler ladite mémoire externe (EXTMEM). Microcontrôleur selon l’une des revendications 1 à 3, dans lequel ledit module logiciel de gestion (EXTMEM_M) est stocké dans une zone d’amorçage (BTZ) de la mémoire interne (INTMEM) de manière à être exécuté par ledit processeur (PRC) lors d’un démarrage du microcontrôleur. Microcontrôleur selon l’une des revendications 1 à 5, dans lequel ledit au moins un paramètre de communication associé à la mémoire externe est choisi parmi un nombre de lignes de communication de données, une fréquence maximale de communication et un temps de latence entre des accès en écriture et des accès en lecture à la mémoire externe. Microcontrôleur selon l’une des revendications 1 à 7, dans lequel le module logiciel de gestion (EXTMEM_M) comprend un programme d’amorçage configuré pour permettre, en fonction d’un mode d’exécution défini, une exécution d’un programme applicatif, stocké dans la mémoire externe, depuis la mémoire externe ou bien depuis la mémoire interne ou depuis une autre mémoire externe après y avoir copié le programme applicatif. Microcontrôleur selon l’une des revendications 1 à 6, dans lequel la mémoire interne (INTMEM) stocke en outre un module logiciel de chargement (EXTMEM_L) configuré pour permettre à un outil de développement (IDE_T) ou de chargement de charger un programme applicatif dans la mémoire externe (EXTMEM) en utilisant ledit module logiciel de gestion (EXTMEM_M). Microcontrôleur selon la revendication 7 dans lequel le module logiciel de chargement (EXTMEM_L) comprend : - une interface de programmation (API_IDE) configurée pour recevoir des requêtes de l’outil de développement ou de chargement, - un module d’encapsulation (WRP) configuré pour utiliser le module logiciel de gestion (EXTMEM_M) pour charger un programme applicatif dans la mémoire externe sur requête de l’outil de développement ou de chargement. Microcontrôleur selon l’une quelconque des revendications 7 ou 8, dans lequel le module logiciel de chargement comprend un module de débogage (DBGM) configuré pour exécuter une série de tests afin d’évaluer si le module logiciel de chargement fonctionne correctement. Système informatique comprenant une mémoire externe (EXTMEM) et un microcontrôleur comportant : - un processeur (PRC), - une interface de communication (COM_I) configurée pour permettre une communication entre le processeur (PRC) et ladite mémoire externe (EXTMEM), - une mémoire interne (INTMEM) stockant : ● au moins un pilote (LDRV) configuré pour contrôler ladite interface de communication lorsqu’il est exécuté par ledit processeur, ● un module logiciel de gestion (EXTMEM_M) configuré pour contrôler la mémoire externe (EXTMEM) en utilisant ledit au moins un pilote ainsi qu’au moins un paramètre de communication associé à ladite mémoire externe lorsqu’il est exécuté par ledit processeur. Procédé de gestion d’une mémoire externe (EXTMEM) par un microcontrôleur (MCU) comprenant une exécution, par un processeur (PRC) du microcontrôleur (MCU), d’un module logiciel de gestion (EXTMEM_M) stocké dans une mémoire interne (INTMEM) du microcontrôleur (MCU), l’exécution du module logiciel de gestion (EXTMEM_M) entraînant un contrôle de la mémoire externe (EXTMEM) en utilisant : - au moins un pilote (LDRV) configuré pour contrôler une interface de communication (COM_I) permettant une communication entre le processeur (PRC) et la mémoire externe (EXTMEM), et - au moins un paramètre de communication associé à la mémoire externe (EXTMEM). Procédé de chargement, par un outil de développement (IDE_T) ou de chargement, d’un programme applicatif dans une mémoire externe utilisée par un microcontrôleur, le procédé comprenant une exécution, par un processeur du microcontrôleur (MCU), d’un module logiciel de chargement, stocké dans une mémoire interne du microcontrôleur, sur requête de l’outil de développement ou de chargement pour charger ledit programme applicatif dans la mémoire externe, le module logiciel de chargement utilisant un module logiciel de gestion (EXTMEM_M) afin de contrôler de la mémoire externe (EXTMEM) à partir : - d’au moins un pilote (LDRV) configuré pour contrôler une interface de communication (COM_I) permettant une communication entre le processeur (PRC) et la mémoire externe (EXTMEM), et - d’au moins un paramètre de communication associé à la mémoire externe (EXTMEM). Outil logiciel de génération de code exécutable par un microcontrôleur comprenant : - une interface graphique adaptée pour permettre une saisie d’un type de mémoire externe à utiliser avec un microcontrôleur, - un module de génération de code adapté pour générer un module logiciel de gestion configuré pour contrôler la mémoire externe (EXTMEM) en utilisant : ● au moins un pilote (LDRV) configuré pour contrôler une interface de communication (COM_I) permettant une communication entre un processeur (PRC) du microcontrôleur (MCU) et la mémoire externe (EXTMEM), et ● au moins un paramètre de communication associé à la mémoire externe (EXTMEM). Outil logiciel selon la revendication 13, dans lequel le module de génération de code est également adapté pour générer un module logiciel de chargement configuré pour permettre à un outil de développement (IDE_T) ou de chargement de charger un programme applicatif dans la mémoire externe (EXTMEM) en utilisant ledit module logiciel de gestion (EXTMEM_M). Procédé de génération de code exécutable par un microcontrôleur, le procédé comprenant : - une saisie, par l’intermédiaire d’une interface graphique d’un outil logiciel de génération de code exécutable, d’un type de mémoire externe à utiliser avec un microcontrôleur, - une génération, par un module de génération de code, dudit outil logiciel, d’un module logiciel de gestion configuré pour contrôler la mémoire externe (EXTMEM) en utilisant : ● au moins un pilote (LDRV) configuré pour contrôler une interface de communication (COM_I) permettant une communication entre un processeur (PRC) du microcontrôleur (MCU) et la mémoire externe (EXTMEM), et ● au moins un paramètre de communication associé à la mémoire externe (EXTMEM). Procédé selon la revendication 15, comprenant en outre : - une génération, par ledit module de génération de code, d’un module logiciel de chargement configuré pour permettre à un outil de développement (IDE_T) ou de chargement de charger un programme applicatif dans la mémoire externe (EXTMEM) en utilisant ledit module logiciel de gestion (EXTMEM_M), et - une intégration, par ledit outil de développement (IDE_T) ou de chargement, du module logiciel de chargement et du module logiciel de logiciel de gestion dans la mémoire interne dudit microcontrôleur.