Arm optimise son environnement de développement Keil pour les microcontrôleurs dotés de cœurs Cortex-M et Ethos-U

Keil MDK v6

Annoncée sur un blog de la société britannique, la solution de développement logiciel pour microcontrôleurs Keil MDK d’Arm, dans sa version 6, est désormais optimisée pour l'ensemble de la gamme de cœurs de processeurs Arm Cortex-M et de moteurs neuronaux Ethos-U. La suite de développement intéresse donc les concepteurs d’applications embarquées, d'applications IoT et d'applications de périphérie de réseau (edge) qui s’exécutent sur ces cœurs de traitement qui, selon Arm, sont devenu des normes de facto de l'industrie avec plus de 10 000 microcontrôleurs différents provenant de plus de 45 fournisseurs de semi-conducteurs disponibles sur le marché aujourd'hui.

Keil MDK v6 répond aux évolutions de ce domaine à mesure que les terminaux IoT deviennent plus intelligents avec des charges de travail plus complexes, liées notamment à l’exécution d’algorithmes de machine learning (ML). Ainsi le MDK s'intègre dorénavant au sein de flux de travail MLOps (*) et prend en charge au sein des environnements DevOps (**) la technologie Arm Virtual Hardware, ensemble de modèles virtuels d’un processeur disponible dans le cloud pour développer et tester du code avant d’avoir à disposition un circuit physique.

Au-delà, Keil MDK v6 propose une nouvelle plate-forme de développement pour les microcontrôleurs à cœur(s) Cortex-M qui s’appuie sur l'éditeur Visual Studio Code de Microsoft, très répandu sur le terrain. L'environnement prend aussi en charge les flux de travail qui utilise la technologie CMSIS (Common Microcontroller Software Interface Standard) qui vise à simplifier le travail de programmation sur microcontrôleurs.

Le MDK contient en outre un débogueur intégré et intègre des composants logiciels permettant de créer et de tester des applications sur les ordinateurs hôtes Windows, Linux et macOS. Pour ce faire, Visual Studio Code s'intègre au contrôle de version Git d’Arm et propose un ensemble d'extensions issues de tierces parties.

En sus, FuSa RTS (Functional Safety) et la bibliothèque FuSa C sont désormais intégrés au MDK,  les développeurs pouvant dès lors créer des applications pour les systèmes à fortes contraintes de sécurité fonctionnelle. Les bibliothèques de logiciels précertifiés avec une documentation complète et du matériel testé sont disponibles pour faciliter ce type de développement.

Dans la dernière version en date de Keil MDK, on notera que le MDK Middleware est désormais proposé gratuitement par Arm. Ce middleware qui fait partie des éditions professionnelles de MDK depuis des années est désormais à disposition de tous les utilisateurs du MDK, comme Synchronous Data Streaming Framework (SDS) qui utilise le composant File System pour enregistrer les données de capteurs en vue d’une lecture ultérieure dans les systèmes MLOps.

Enfin, signalons que le site Web keil.arm.com permet aux développeurs de rechercher des cartes de développement, des puces, des paquetages logiciels et des exemples de code. Keil Studio est également disponible en tant qu'application fondée sur un navigateur sans installation qui se connecte à des cibles connectées localement pour un débogage simple d'exécution/arrêt.

(*) MLOps est une pratique d'ingénierie qui vise à unifier le développement et les opérations (Ops) des systèmes d’apprentissage automatique (ML, Machine Learning). Cette approche vise à déployer et maintenir des modèles ML en production de manière fiable.

(**) DevOps est une pratique en ingénierie informatique qui vise à unir le développement logiciel (dev) et l'administration des infrastructures informatiques. Cette approche a pour ambition de mettre en avant  l'automatisation et le suivi de toutes les étapes de la création d'un logiciel, depuis le développement, l'intégration, les tests et la livraison jusqu'au déploiement, en passant par l'exploitation et la maintenance des infrastructures.

Vous pouvez aussi suivre nos actualités sur la vitrine LinkedIN de L'Embarqué consacrée aux microcontrôleurs : Embedded-MCU