Avec son environnement DRT, Somnium optimise le code embarqué sur les Kinetis de Freescale

Somnium

La jeune société britannique Somnium Technologies a profité du salon Embedded World 2015 qui s’est tenu fin février pour présenter son environnement de développement DRT, original à plus d’un titre, et dédié aux ...microcontrôleurs Kinetis de Freescale. Annoncé en avant-première lors de la manifestation TechCon d’ARM en 2014, cet IDE sous Eclipse utilise un flot de conception classique mais avec un compilateur GCC optimisé et un éditeur de liens propriétaire qui effectuent une optimisation globale du code embarqué, avec comme cibles privilégiées les architectures ARM Cortex.

L’idée sous-jacente est que les environnements traditionnels de débogage et de compilation s’appuient sur une connaissance fine de la structure interne des processeurs ou microcontrôleurs cibles en négligeant peu ou prou, selon Somnium, les communications avec les mémoires. Or celles-ci, qu’il s’agisse de mémoire “on-chip” (de 6 à 10 fois plus lente que le processeur) ou de mémoires externes (jusqu’à 100 fois plus lentes) influent énormément sur le rendement d’un code embarqué en termes de performances. Au sein de la technologie de Somnium, le compilateur prend en compte ces interactions processeur-mémoire, sur lesquelles il est très difficile pour un développeur d’intervenir, et optimise en retour le code exécutable. Résultat, une réduction d’environ 25% de la taille du code embarqué sur des architecteurs Cortex, et des performances améliorées de 6 à 10%, attestées par des mesures réalisées sur des bancs d'essai de l’organisme EEMBC.

Cette phase de compilation est optimisée et transparente pour l’utilisateur. Et elle prend tout son sens avec l’outil DRT Freescale Kinetis Edition, la première mouture opérationnelle de la technologie de Somnium, dédiée au développement de projets sur les microcontrôleurs Kinetis, y compris la dernière famille KV5x, basés sur un cœur Cortex-M7 qui s’appuie sur une architecture mémoire complexe (NUMA, Non Uniform Memory Architecture). L’environnement DRT s’insère dans (et est compatible avec) les IDE CodeWarrior et Kinetis Design Studio de Freescale. Et apporte aux utilisateurs un écran unique de travail baptisé NPW (New Project Wizard) qui configure automatiquement cinq écrans de dialogue traditionnellement mis en œuvre dans un projet sous Eclipse, ainsi que les connexions avec les outils de débogage de P&E Micro, Segger et OpenOCD (une solution de débogge en open source notamment pour les architectures ARM).