Édito
La profusion de cartes, SBC et plateformes embarquées de toutes sortes, depuis quelques années déjà, a tendance à nous faire facilement oublier que même si Internet se souvient (théoriquement) de tout, rien n'est éternel.
Bienvenue sur la base documentaire des Éditions Diamond !
Chef des rédactions, Rédacteur en chef du magazine Hackable et GNU/Linux Magazine France - Éditions Diamond
Diplômé en informatique de l’Institut de Promotion Industrielle de Colmar, Denis Bodor est chef des rédactions et rédacteur en chef aux Éditions Diamond.
Rédacteur en chef du magazine GNU/Linux Magazine France de sa création en 1998 jusqu’en 2014 (et à nouveau depuis 2022), ainsi que du magazine Open Silicium de 2011 à 2015, et de Hackable depuis 2014, il se spécialise dans la rédaction d’articles traitant de développement bas niveau, d’informatique embarquée et d’électronique numérique.
La profusion de cartes, SBC et plateformes embarquées de toutes sortes, depuis quelques années déjà, a tendance à nous faire facilement oublier que même si Internet se souvient (théoriquement) de tout, rien n'est éternel.
Docker et les conteneurs logiciels font maintenant partie intégrante de la vie du sysadmin. Rappelons que les conteneurs permettent généralement d'isoler les processus, souvent des services réseau, afin de les détacher du système et de les faire s'exécuter dans des environnements distincts. Ainsi la ou les applications en question « vivent » dans leur petit monde, ignorant tout de la réalité du système faisant fonctionner le conteneur, mais aussi des autres applications dans leur propre environnement contenu. Cette mécanique peut être également très intéressante et avantageuse pour le développeur embarqué...
Dans l'article précédent, nous avons été capables d'afficher à l'écran une image, traitée par l'application Gimp et intégrée à notre code. Mais si vous avez reproduit ces essais, en particulier avec une image d'une dimension non négligeable, vous avez sans le moindre doute remarqué un petit problème de performances. Si nous voulons utiliser le framebuffer de façon acceptable, nous devons régler ce problème.
Voilà un titre digne d'une publication pour décideur pressé, mais nous parlerons bien de technique (quoi d'autre, sinon ?). Il n'y a pas si longtemps, STMicroelectronics annonçait l'arrivée de la famille de SoC STM32MP1, combinant la puissance de cœurs ARM Cortex-A7 à l'efficacité d'un Cortex-M4, le tout réuni sur une seule puce. La commercialisation récente des « Discovery Kits » et du STM32MP157F-DK2 en particulier est l'occasion rêvée de prendre la bête en main.
La carte Arduino UNO s'est vendue à 10 millions d'exemplaires.
C'est du moins ce qu'affirme un billet sur le blog officiel et, pour célébrer cela, une carte particulière appelée « UNO Mini Limited Edition » a été mise en vente sur le store pour quelques 40€. À ce prix, vous aurez une version miniaturisée (34,2 x 26,7 mm) de la plus populaire des Arduino, équipée d'un port USB-C et d'un brochage au pas quasi inutilisable, le tout avec (presque) les mêmes caractéristiques qu'une « poussive » UNO standard.
La mise au point de programmes fait partie intégrante du processus de développement. Lorsque le code ne se comporte pas comme attendu, la meilleure approche consiste à l'exécuter sous supervision, contrôler son déroulement et analyser précisément son comportement. S'il s'agit de développement sur microcontrôleur, ceci implique l'utilisation de matériels et de logiciels dédiés, une sonde, un outil la contrôlant et un débogueur. Ceci forme une suite parfois délicate à mettre en œuvre, mais il existe une solution plus compacte : la Black Magic Probe.
Le terme « baremetal », également orthographié « bare metal » ou « bare-metal » signifie « métal nu » et dans le contexte de développement sur plateforme embarquée désigne un développement reposant directement sur le matériel, sans la moindre couche d’abstraction. Ce type de programmation courant avec les microcontrôleurs est plus rare avec des plateformes utilisant des SoC puissants ou disposant de beaucoup de ressources. Pour autant, il est parfaitement possible d'utiliser l'ARM Cortex-A53 d'une Raspberry Pi de cette manière. Voyons cela...
La richesse d'un environnement et d'un framework dépend de nombreux éléments. Nous avons la ou les plateformes matérielles elles-mêmes, la qualité de l'environnement de développement, le nombre d'exemples permettant de prendre en main le microcontrôleur et enfin, la disponibilité de codes réutilisables permettant d'étoffer ses propres projets avec un minimum de travail : les bibliothèques. Sur ce point, la Pico ne dispose pas de solution entièrement clé en main (pour l'instant), mais la structure du SDK permet une approche relativement efficace.
Dans des temps anciens, les logiciels propriétaires et les logiciels open source se menaient une guerre sévère. Ces temps-là sont désormais révolus. On ne peut pas dire que l’un ou l’autre bord ait gagné, mais en tout cas, il n’existe plus de tension aussi forte entre les partisans des deux camps. On peut se dire que c’est l’open source qui a gagné, qui a finalement été accepté. Mais c’est sans doute oublier un peu vite que l’on peut établir une distinction entre logiciel open source et logiciel libre, le premier profitant de la philosophie du second à des fins purement pécuniaires.