mbed v3.0 : oh mon dieu ! ILS ont un plan !

mbed_os_dppage2_diagram2-01Connaissez-vous mbed ? Il s’agit d’une plateforme communautaire sponsorisée directement par ARM mêlant IDE web et un ensemble de devkits répondant à des critères bien spécifiques parmi lesquelles l’absence d’outil dédié permettant de flasher la mémoire des microcontrôleurs.

Comment alors charger un binaire dans la mémoire ? C’est simple, les devkits se présentent, à la connexion avec un PC, comme un support de stockage USB standard avec un système de fichiers VFAT. Il suffit alors d’enregistrer le binaire sur le support et le composant « se programme ».

L’initiative n’est pas nouvelle et le projet commence à avoir une popularité plus que respectable. Il faut avouer que le nombre de kits de développement ne cesse de croître grâce à des partenaires comme NXP, ST, Nordic ou encore Freescale (où est Atmel ?).

L'environnement de développement dans le navigateur ChomeLe concept de l’IDE en ligne permettant de développer dans le cloud découle directement de l’absence de nécessité d’utiliser un outil de programmation. En effet, dès lors qu’on utilise une émulation d’un système de stockage USB, il n’est plus utile de devoir maintenir des outils pour chaque plateformes susceptibles d’être utilisée par les développeurs (Windows, Mac, GNU/Linux, *BSD). Il en va bien entendu de même pour les environnements de développement et les compilateurs. Là, tout se passe en ligne, de l’édition du code à l’obtention d’un binaire qu’il suffit d’enregistrer au bon endroit.

La plateforme mbed Web+devkits d’accompagne d’un système social permettant le partage de code. Ainsi, le tout reposant sur Git et un concept proche de GitHub, il est possible de facilement échanger du code, de forker des projets et de développer un caractère communautaire à l’ensemble.

Cependant, ceci à un prix : Vous pouvez oublier le débogage, les breakpoints, etc. On parle ici d’une solution de prototypage et non de réels développements professionnels.

Mais ceci pourrait bien changer dans l’avenir puisqu’un billet récent sur le blog mbed résume les plans pour l’avenir. Parmi les nouveautés qui seront introduites à moyen ou long terme (on parle d’octobre 2015) on trouve :

  • Des outils en ligne de commandes via la possibilité de télécharger un SDK de manière à développer de manière autonome et déconnectée.
  • La transformation de mbed en plateforme complète ou en d’autres termes, en véritable ensemble cohérent intégrant des composants proches du matériel (type CMSIS) mais aussi une gestion de threads, d’une pile TCP/IP, des protocoles standards (MQTT, HTTP, TLS, etc) ainsi qu’un framework orienté événements. Il est même prévu de pouvoir intégrer un RTOS optionnel.
  • L’intégration d’un support avancé pour la connectivité wireless avec une interface commune et abstraite pour le Bluetooth, le Wifi et le GPRS.

mbed-os-v3-release-roadmap

Le billet précise clairement que ces évolutions ne sont ni disponibles au jour d’aujourd’hui ni dans les prochains mois mais qu’il s’agit d’une feuille de route s’étalant sur toute une année. mbed OS 3.0 est donc attendu pour la fin 2015 mais nous devrions voir apparaître une première version alpha en fin de cette année.