Technologie pour les masses – La démocratisation des systèmes de développement | shoppingmaroc.net


Systèmes de développement traditionnels

Les fabricants de microprocesseurs ont toujours fourni des systèmes de développement pour leurs produits – mais, par le passé, ceux-ci avaient un prix élevé et n'étaient généralement disponibles que pour les gros clients. Principalement, ils ont été conçus pour servir d’outils d’enseignement et de soutien aux processus de développement de logiciels. Ils étaient trop encombrants et coûteux pour être utilisés dans des produits réels. Les entreprises avaient donc besoin d'équipes d'ingénieurs expérimentés pour créer le matériel et les logiciels nécessaires aux projets de développement de nouveaux produits.

Les outils de développement logiciel étaient également coûteux, utilisant des compilateurs propriétaires et du matériel de débogage. Les procédures comprenaient une émulation dans le circuit, où le processeur du matériel cible pouvait être remplacé par un câble plat du système de développement. Cela a permis de surveiller l'état interne du microprocesseur et des signaux externes et de déclencher des points d'arrêt pendant l'exécution du programme – un outil puissant, mais certainement pas bon marché.

Les origines de la démocratisation

La technologie a des racines qui remontent aux années 1990, lorsque le mouvement open source a commencé, et les niveaux croissants d'intégration dans les dispositifs à semi-conducteurs ont conduit à des SoC à faible coût. Du côté des logiciels, le mouvement des logiciels libres et open source a commencé un peu plus loin – à la fin des années 80 (bien que le nom «open source» n’ait été adopté qu’en 1998). Les outils GNU et Linux sont issus du mouvement open source – formant désormais l'un des systèmes d'exploitation embarqués et de bureau dominants. En partie, cela est dû au fait que le modèle open source peut répondre rapidement aux nouveaux matériels et aux exigences changeantes. Il peut également exploiter la puissance de la foule pour détecter et corriger rapidement les bogues et identifier les problèmes de sécurité. Du côté du matériel informatique, le nombre croissant de composants susceptibles d’être compressés sur la puce a entraîné l’abandon d’ASIC coûteux, qui intégraient certaines des fonctions principales d’un système, à des systèmes sur puce moins coûteux

La capacité à produire de manière économique des SoC pour des applications spécifiques a été rendue possible par l’essor des fonderies de semi-conducteurs, qui donnaient à presque toute entreprise accès à une technologie de fabrication de semi-conducteurs avancée. Il n'était plus nécessaire pour les entreprises de faire eux-mêmes les gros investissements, les fonderies pouvaient le faire pour eux.

En plus de se décharger des efforts de fabrication, la disponibilité des composants en tant que silicium IP mémoires, interfaces standard et accélérateurs d'application. Une approche de conception modulaire basée sur la réutilisation de ces composants bien testés a permis la rapidité d'exécution des appareils complexes, les économies réalisées étant répercutées sur les clients.

Une nouvelle génération de systèmes de développement

A La gamme de microcontrôleurs comprendra généralement plusieurs variantes avec différents cœurs de processeur, vitesses d'horloge, taille de mémoire, interfaces, brochages, etc., permettant aux clients de choisir la solution la plus économique pour leurs besoins. Le support sur puce pour le débogage est souvent pris en charge. Cela donne de la visibilité sur l'état interne du processeur et peut fournir, à un coût supplémentaire minimal, de nombreuses fonctionnalités du système ICE traditionnel.

Le prix des microcontrôleurs a considérablement diminué, car ils continuent de bénéficier des économies d'échelle essentielles. fabrication de semi-conducteurs. Cela a permis la création de cartes de développement à faible coût. Celles-ci contiennent souvent le microcontrôleur et quelques composants externes pour les interfaces de communication telles que USB, Ethernet, Bluetooth, etc., ainsi que des capteurs environnementaux. Des bibliothèques de logiciels et des logiciels intermédiaires sont également disponibles pour faire de ces cartes des plates-formes de référence complètes pour diverses applications. En plus d'être utilisées pour le développement et le prototypage, ces cartes sont souvent assez petites et peu coûteuses pour pouvoir être utilisées dans une production de petit volume.

Un des premiers ordinateurs monocarte était le BeagleBone (vers 2011), qui est rapidement devenu populaire auprès des amateurs en raison de sa petite taille, de sa facilité d'interfaçage et de son prix inférieur à 100 dollars. Un large éventail de «capes» complémentaires ont ensuite été mis à disposition pour étendre les fonctionnalités. Une autre carte à microcontrôleur open source, Arduino a bénéficié d'une forte traction sur le marché grâce à son fonctionnement simple et peu coûteux. Une large gamme de cartes compatibles, y compris l'Arduino Due basée sur ARM, ainsi que des «boucliers» complémentaires ont été produits.

Figure 1: Le noir BeagleBone.

Figure 2: Arduino's Due Board. 19659002] Les outils de développement de logiciels sont disponibles auprès de fournisseurs commerciaux, de fournisseurs de matériel (pour prendre en charge leurs produits) et via un logiciel libre. Les outils commerciaux sont généralement coûteux, mais presque toutes les fonctionnalités des outils commerciaux sont désormais disponibles dans des produits gratuits ou open source. La programmation peut être effectuée sur un PC / ordinateur portable hôte (en utilisant généralement C) et le code téléchargé sur la carte de développement via une interface standard (telle que USB). Cela permettra également d'accéder aux fonctionnalités de débogage du microcontrôleur. Les logiciels d’écriture et de débogage peuvent être simplifiés grâce à un bon IDE. Eclipse est un IDE open source populaire. Il a une structure modulaire avec des plug-ins pour supporter la programmation en Java, C, C ++ et plusieurs autres langages.

Différents éditeurs de programmeurs gratuits sont disponibles. Beaucoup incluent des fonctionnalités généralement trouvées dans les EDI – par exemple, la possibilité de compiler / déboguer le code depuis l'éditeur. Arduino a son propre IDE, qui fournit un modèle de programmation C simplifié. En conséquence, les individus ont désormais accès au même type d’outils et d’installations que les développeurs professionnels embarqués utilisent, sans avoir besoin des ressources d’une grande entreprise.

Parce que des cartes telles que BeagleBone et Raspberry Pi utilisent Linux, il est également possible de les programmer directement, plutôt que de télécharger du code depuis un ordinateur hôte. Cela fonctionne particulièrement bien avec les langages interactifs interprétés tels que Python. Python est régulièrement cité parmi les langages de programmation les plus populaires. Open source et gratuit, il comprend un ensemble complet de bibliothèques et de modules tiers, donnant accès à un large éventail de fonctionnalités de haut niveau. Sa syntaxe simple facilite l'apprentissage rapide. Être interprété ne signifie pas que les performances ne seront pas aussi bonnes que les programmes C / C ++ compilés. Cependant, les processeurs modernes sont suffisamment rapides pour que cela ne pose pas de problème pour la plupart des applications.

Ressources en ligne

Beaucoup de nouveaux utilisateurs de ces systèmes de développement ont peu de formation formelle en matériel ou en programmation et vont donc en ligne pour obtenir de l'aide et partager leurs projets. Les développeurs peuvent accéder à de nombreuses ressources ici. Presque tous les fabricants de cartes / microcontrôleurs hébergent des forums, où les utilisateurs peuvent poser des questions et y répondre. Les entreprises s’engageront également avec ces forums pour fournir un soutien et obtenir des commentaires sur les produits.

Comme pour une grande partie des autres logiciels, les outils de développement ont migré vers le cloud. Celles-ci facilitent l'essai ou commencent à apprendre de nouvelles langues sans avoir à configurer des outils de développement sur votre ordinateur. Les outils en nuage sont également particulièrement efficaces pour la collaboration en ligne et le partage de code.

Conclusions

L'essor du matériel à faible coût, des outils de développement gratuits et des langages de programmation faciles à apprendre Des projets d'électronique de bricolage sont en cours. La disponibilité des logiciels et du matériel open source, ainsi que des ressources en ligne, innove encore plus.


Arduino Maroc
Acheter Arduino ICI

Source

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *