L’environnement de développement intégré (IDE) de l’allemand Segger utilise dans sa version 6 une technologie de gestion mémoire en temps réel dont l’objectif est, selon la société, d’améliorer l'efficacité et les temps de réponse lors de l'allocation et de la libération de la mémoire. Et ce en direction des développeurs qui doivent faire face aux exigences du temps réel "dur" dans les applications écrites en C++.
Cette version de l’IDE prend par ailleurs en charge les cœurs de processeur RISC-V 32 bits et 64 bits courants.
« Les applications écrites en C++ nécessitent beaucoup d'allocation et de désallocation de mémoire, souvent sans que le programmeur en soit conscient, explique Rolf Segger, fondateur de Segger. Dans ce cadre, les applications C++ tirent désormais avantage de notre nouveau gestionnaire de mémoire de tas (heap) en temps réel. Embedded Studio est ainsi, selon nous, la première chaîne d'outils gérant des opérations d’allocation de tas rapides et en temps constant, qui apporte une vision en “vrai” temps réel aux systèmes embarqués programmés en C++. »
Au-delà, Embedded Studio fournit désormais aux développeurs embarqués un compilateur C++17 et une bibliothèque standard C++17, compatible avec le code compact des bibliothèques d'exécution emRun et emFloat de Segger. Le "package" complet comprend notamment des modèles de conteneurs génériques – ensemble (sets), vecteurs, listes, files d'attente (queues), piles (stacks), cartes (maps), des algorithmes standard (tri, recherche, transformations), des objets de fonction, des itérateurs, la localisation des chaînes et des flux et des utilitaires.
Pour les cas d'utilisation les plus courants, même sur des cibles à ressources limitées, la bibliothèque C++ est disponible dans une configuration "sans rejet" (no throw), évitant ainsi la surcharge (overhead) associée aux traitement des exceptions.
Cette approche est désormais aussi valide pour les développements en C++ sur des cœurs Arm. Ce qui amène la version d’Embedded Studio pour Arm au même niveau que la version 6 de cet IDE, adaptée aux coeurs RISC-V. Embedded Studio est ainsi adapté au développement sur tout microcontrôleur fondé sur des cœurs Cortex-M, Cortex-A/R et les anciens cœurs Arm7, Arm9 et Arm11.
Pour mieux comprendre ce concept d'allocation de stockage dynamique en temps réel, le blog de Segger en donne une première approche (https://blog.segger.com/c-real-time-allocation-a-chess-engine/)
Enfin, pour rappel, Embedded Studio est l’IDE multiplateforme de Segger pour des applications sur microcontrôleurs. Il intègre les outils classiques pour la programmation en C et C++ dans des systèmes embarqués, à savoir un gestionnaire de projet avec son éditeur de code source, les bibliothèques d'exécution optimisées emRun et emFloat, ainsi qu’un éditeur de liens, tous conçus spécifiquement pour les systèmes embarqués à ressources limitées. En combinaison avec le compilateur C/C++ de la société, fondé sur la technologie open source Clang, il est possible de générer des programmes extrêmement compacts, optimisés au niveau de chaque octet, assure Segger.