Rejoignez nos 155 000 followers (pour IMP)

electronique-news.com
Mouser News

Une évolution embarquée : l’industrie de l’embarqué continue d’avancer

L’objectif de ce court article de blog est de vous présenter une vue d’ensemble du processus de développement des systèmes embarqués et de la façon dont ce processus continue d’évoluer et de s’adapter.

Une évolution embarquée : l’industrie de l’embarqué continue d’avancer

Il a en effet connu de nombreux changements au cours de ces trente dernières années. Les chaînes d’outils logiciels utilisées pour le codage, la compilation et le débogage n’ont elles aussi jamais cesser d’évoluer. Des capacités matérielles de plus en plus sophistiquées et hautement intégrées, mais aussi les nouvelles exigences de l’industrie, notamment en matière de consommation d’énergie, de connectivité et de sécurité, sont autant de facteurs qui ont poussé à intégrer de nouvelles fonctionnalités de la chaîne d’outils, par exemple des BSP (Board Support Packages), des pilotes et des bibliothèques.

L’évolution du développement embarqué
Il n’y a pas si longtemps de cela, la plupart des systèmes embarqués étaient encore dénués de connectivité. La sécurité n’était pas non plus une priorité. Ces systèmes avaient pour seule fonction de contrôler un appareil, que ce soit le régulateur d’une chaudière industrielle ou un simple lave-linge domestique.

De nombreux développeurs de systèmes embarqués ont appris à programmer des microcontrôleurs à l’aide de techniques de codage pour appareils « bare-metal ». Programmer à l’aide d’opcodes était chronophage, incroyablement compliqué et fastidieux. Heureusement, le passage au langage d’assemblage a considérablement facilité la tâche de ces premiers développeurs et a ouvert la voie vers l’adoption de langages de haut niveau comme C.

Le langage C a été développé au début des années 80 pour le système d’exploitation Unix dont il est pratiquement devenu un synonyme. Conçu à l’origine pour fournir un accès efficace et de bas niveau aux ressources mémoire et mapper vers les instructions en code machine du processeur sous-jacent, il est tout naturellement devenu le langage standard pour les systèmes embarqués.

Afin d’encourager l’adoption de leurs microcontrôleurs (MCU) et microprocesseurs (MPU), les fournisseurs de silicium se sont tournés vers le développement de chaînes d’outils pour environnements de développement intégrés (IDE). Le concept d’écosystème ouvert n’existait pas, ce qui a conduit la plupart des développeurs à créer et à maintenir leurs propres ensembles de bibliothèques et de fonctions. De plus, l’architecture du jeu d’instructions était propre à chaque fournisseur, ce qui leur permettait de vendre des pilotes, des bibliothèques et d’autres dispositifs propriétaires avec les périphériques.

Mais les temps ont bien changé depuis !

Le développement embarqué aujourd’hui : un long cheminement
Un développeur de systèmes embarqués qui commence sa carrière aujourd’hui entre dans un monde très différent de ce que nous venons de voir. Pour commencer, l’industrie du développement embarqué est à présent ouverte. Les architectures basées sur les licences ARM sont apparues à un moment où de nombreux fournisseurs de silicium peinaient à supporter les coûts liés au développement, à la promotion et à la maintenance de leurs architectures propriétaires dans un secteur de plus en plus concurrentiel. Au fil des années, de nombreux grands fournisseurs de MCU et de MPU ont progressivement réduit leurs offres de produits avec leur architecture propriétaire tout en augmentant leur gamme de périphériques basés sur ARM. En s’appuyant sur le cœur de processeur ARM, certains fournisseurs ont su tirer parti de la généralisation de l’architecture ARM et des investissements d’ARM dans la recherche et le développement. Ces fournisseurs proposent maintenant des produits qui se distinguent de ceux d’autres fournisseurs sous licence ARM du fait qu’ils peuvent y inclure des blocs de connectivité périphérique, des émetteurs-récepteurs sans fil, la gestion de l’alimentation et des capacités analogiques.

Avec le passage à l’architecture ARM, un autre changement s’est opéré : les IDE propres aux fournisseurs ont progressivement été délaissés à mesure que les sociétés indépendantes de développement de logiciels se taillaient la part du lion. Les IDE développés par les fournisseurs n’ont certes pas tous disparu, et même, certains fournisseurs ont su prendre les devants en faisant rapidement l’acquisition de startups spécialisées dans les IDE.

Afin d’alléger la tâche des développeurs qui ont à faire avec des ensembles de plus en plus complexes de périphériques matériels et de fonctionnalités, les fournisseurs s’efforcent désormais de proposer des ressources logicielles et des BSP complets, par exemple des bibliothèques open source et des micrologiciels qui convertissent les fonctions matérielles de bas niveau en appels de fonction de haut niveau pratiques et simples.

Le lancement d’Arduino et autres ordinateurs à carte unique (SBC) tels que BeagleBone et Raspberry Pi a marqué le début d’une ère de développement open source. Ces cartes ont favorisé l’apparition de communautés d’écosystèmes composées d’entreprises de matériel et de logiciels et ont permis aux étudiants comme à toute personne désireuse d’innover de se lancer dans le développement de microcontrôleurs. Linux est devenu le système d’exploitation par excellence sur de nombreux ordinateurs à carte unique, tandis que les systèmes d’exploitation en temps réel se sont démocratisés avec la large diffusion de FreeRTOS.

De nos jours, l’industrie du développement embarqué a adopté une approche globale. Afin d’accélérer le prototypage et les cycles de développement limités dans le temps, les fournisseurs proposent désormais des modules d’évaluation complets, des cartes de développement, des kits de développement de logiciels et des conceptions de référence. De même, puisque des applications telles que l’Internet industriel des objets (IIoT) tendent à privilégier les systèmes connectés à faible consommation d’énergie et alimentés par batterie, les fournisseurs ont répondu à ces attentes en proposant des modes de veille supplémentaires pour le cœur du processeur et les blocs périphériques. Ainsi, équilibrer les profils de consommation d’énergie des processeurs en veille et en activité tout en assurant une réponse rapide aux interruptions des applications est devenu un défi majeur dans le développement.

Grâce aux scripts low-code déclenchés par des événements, aux langages comme Node-RED et aux piles de communication légères telles que CoAP et MQTT, le développement embarqué prend une tournure tout à fait intéressante. Ces méthodes conviennent en effet très bien au développement d’applications IoT/IIoT pour des microcontrôleurs ultra-basse consommation à ressources limitées.


Une évolution embarquée : l’industrie de l’embarqué continue d’avancer

L’industrie de l’embarqué franchit un nouveau cap avec les déploiements de plateformes et les IDE dans le cloud

L’industrie de l’embarqué s’est récemment enrichie d’une série de solutions matérielles et logicielles intégrées telles que Zerynth. Ce type de système offre une plateforme matérielle complète et une approche d’infrastructure basée sur le cloud permettant de procéder rapidement à un déploiement IoT/IIoT. Pour un fournisseur de machines d’automatisation industrielle, par exemple, développer un système embarqué sur mesure et héberger une infrastructure de cloud computing sécurisée et fiable est une tâche ardue, aussi chronophage que coûteuse et qui nécessite une expertise qualifiée. Cependant, tout en utilisant du matériel standard, les fournisseurs d’applications IIoT sont capables de proposer des solutions différenciées grâce aux fonctionnalités logicielles et d’y intégrer les fonctions de sécurité et de chiffrement requises.

Le développement collaboratif intégré est désormais possible, car de nombreux IDE, tels que TI Cloud Composer et Arm Mbed, migrent en ligne. Certains IDE dans le cloud prennent également en charge les dépôts de codes partagés GitHub privés et publics, ce qui constitue un aspect essentiel de nombreux projets open source. Les plateformes de développement embarquées multiplateformes et multiarchitectures telles que PlatformIO offrent une alternative collaborative viable et complète aux chaînes d’outils traditionnelles avec un IDE, un dépôt, un débogueur et des outils d’analyse statique de code dans un environnement en ligne unique. Dans le même temps, des fournisseurs d’IDE et d’outils indépendants (MikroE et Segger, pour ne citer qu’eux) perfectionnent leurs outils pour intégrer RTOS et prendre en charge de nouvelles architectures de jeux d’instructions telles que RISC-V.

Quelle sera la suite ?
L’utilisation des plateformes de développement et de collaboration en ligne a considérablement augmenté pendant la pandémie, car de nombreuses équipes se sont vues contraintes de travailler à distance. Il est vraisemblable que cette tendance se poursuive dans un avenir proche. Alors que le monde du développement embarqué devient de plus en plus virtuel, nous verrons probablement les IDE dans le cloud et les outils de collaboration de développement intégrer encore plus de fonctionnalités et d’innovations au cours de l’année à venir.

En septembre 2020, le fournisseur d’outils embarqués MikroE a lancé son service Planet Debug. S’appuyant sur leur IDE Necto Studio, ils ont supprimé la nécessité d’un périphérique cible matériel présent sur le bureau du développeur. Avec Planet Debug intégré, les développeurs peuvent programmer et déboguer à distance, à tout moment et depuis n’importe où dans le monde. Les plateformes de développement Remote MikroE hébergées chez MikroE sont accessibles depuis Necto Studio, avec un flux vidéo montrant en temps réel ce qui se passe sur la carte.

Bien que l’usage de plateformes matérielles virtuelles n’en est qu’à ses débuts, l’innovation demeure le moteur de la communauté du développement embarqué.

www.mouser.com

  Demander plus d’information…

LinkedIn
Pinterest

Rejoignez nos 155 000 followers (pour IMP)