Le spécialiste des outils matériels et logiciels de débogage et de programmation de cibles embarquées Segger a doté son environnement de développement Embedded Studio for RISC-V, lancé en 2017, d’un éditeur de liens maison (Segger Linker) qui vient s’ajouter au traditionnel éditeur de liens GNU. ...Segger Linker a été développé à partir d’une feuille blanche pour créer des exécutables pour systèmes embarqués.
Selon la société allemande, cet apport pour l’architecture de processeur RISC-V réduit jusqu’à 15% la taille des programmes résultants, raccourcit la durée des opérations d’édition de liens, fournit un fichier de mappage détaillé et offre plus de flexibilité. Bâti sur le même code que l’outil Segger Linker for Arm qui a fait ses preuves au sein de l’environnement Embedded Studio for Arm, l’éditeur de liens pour RISC-V hérite de fonctionnalités telles que la génération intégrée de contrôles d'intégrité pour un certain nombre d'algorithmes (CRC et hachage), la possibilité de placer automatiquement le code et les données dans des régions non contiguës et la hiérarchisation des données dans des mémoires rapides.
Pour améliorer la densité du code, le nouvel éditeur de liens pour RISC-V utilise une combinaison de diverses stratégies d'optimisation, détaille l’éditeur allemand qui cite notamment l’organisation du code et des données de la façon la plus efficace qui soit afin d’utiliser des modes d'adressage courts ou le remplacement de séquences de code par des séquences plus efficaces. « Avec l’éditeur de liens associé au code de démarrage inclus, à notre bibliothèque d'exécution et à la bibliothèque à virgule flottante emFloat, qui sont tous optimisés pour RISC-V, les programmes RISC-V résultants peuvent être compacts et efficaces, assure Rolf Segger, fondateur de Segger. Le simple fait d’effectuer une nouvelle édition de liens avec Segger Linker sur un application peut réduire la taille du code. »
Vous pouvez aussi suivre nos actualités sur la vitrine LinkedIN de L'Embarqué consacrée à l’architecture de processeur RISC-V : Embedded-RISCV