5 technologies embarquées à maîtriser en 2022
Ces cinq technologies embarquées donneront aux lecteurs plus qu’assez pour se concentrer cette année.
Bonne année! J’apprécie toujours le début d’une nouvelle année. L’occasion de réfléchir à ce qui s’est bien passé et à ce qui ne s’est pas passé l’année dernière et de continuer à apporter des améliorations est amusante. Chaque année, je prends un peu de temps pour examiner différentes technologies dans l’industrie des systèmes embarqués, en particulier liées aux systèmes à base de microcontrôleurs, et je fais des suggestions sur les technologies que les développeurs et les équipes devraient étudier et essayer de commencer à maîtriser. Ces technologies peuvent être ignorées ou à la pointe de la technologie. Cette année, il y a cinq technologies qui, je pense, peuvent potentiellement changer radicalement la façon dont les équipes conçoivent et construisent leur système cette année.
Sommaire
Technologie embarquée #1 – DevOps embarqué
Software DevOps a apporté des améliorations spectaculaires au développement logiciel général au cours de la dernière décennie, mais les développeurs embarqués l’ont généralement ignoré. J’interagis avec des centaines d’entreprises au cours d’une année et très peu d’entre elles utilisent ou ont exploité DevOps avec succès. Je soupçonne que c’est partiel parce que c’est quelque chose auquel la plupart des ingénieurs électriciens et des développeurs de logiciels embarqués n’ont pas été exposés à l’école ou au début de leur carrière. Ainsi, même s’ils savent qu’il existe, la lutte constante contre les incendies sur les projets les a empêchés de développer avec succès leurs processus DevOps.
J’ai plusieurs recommandations pour les développeurs qui cherchent à arrêter de lutter contre les incendies et à redonner du bon sens à leur façon de développer des logiciels. Tout d’abord, apprenez à utiliser Docker pour configurer une chaîne d’outils intégrée. Ensuite, automatisez vos processus de build à l’aide d’un serveur CI/CD. Enfin, si le temps le permet, continuez à améliorer votre processus CI/CD en ajoutant des analyses de code, des tests unitaires, des tests d’intégration, etc. Vous n’aurez jamais le temps de vous asseoir et de tout faire, alors faites plutôt de petits pas chaque jour et chaque semaine, et d’ici la fin de l’année, vous serez sur la bonne voie pour avoir un processus DevOps fantastique.
Technologie embarquée #2 – Tests automatisés du matériel en boucle
Outre le débogage, le problème numéro un avec lequel les développeurs et les équipes se débattent est le test. Il y a plusieurs raisons pour lesquelles les tests sont toujours un problème, telles que :
- Les tests sont souvent encore laissés à un processus manuel
- Automatiser les tests sur le matériel semble difficile et chronophage
- Les équipes sont pressées de coder et les tests sont une réflexion après coup
- Les interfaces logicielles ne sont pas conçues correctement
Les tests Hardware-In-Loop ne sont pas quelque chose de nouveau, mais c’est une capacité qui, à mon avis, est souvent négligée. Les tests peuvent être négligés car pour bien faire les choses, vous devez tenir compte de votre DevOps.
Il existe de nombreuses technologies hardware-in-loop, et je ne veux pas choisir une solution individuelle. Je recommanderais cependant de prendre un peu de temps pour évaluer si l’automatisation des tests sur la cible pourrait considérablement améliorer la qualité du code et les coûts de développement. Si la réponse est oui, fixez-vous quelques objectifs simples pour étudier des technologies spécifiques et encore une fois, ajoutez progressivement ces capacités à votre régime de test. Au fil du temps, vous supprimerez lentement les tests manuels et les remplacerez par des tests automatisés qui feront gagner du temps à tout le monde, du stress et de l’argent à votre entreprise.
Technologie embarquée #3 – Développement de microcontrôleurs multicœurs
Je peux me tromper, mais mes recherches et mes sentiments semblent suggérer qu’au cours des prochaines années, l’utilisation de microcontrôleurs multicœurs va monter en flèche. Il y a plusieurs raisons pour lesquelles je les vois devenir omniprésentes telles que :
- De nombreuses applications ont besoin d’environnements d’exécution d’isolation
- Les applications à faible consommation d’énergie peuvent bénéficier de l’activation et de la désactivation des cœurs ciblés
- La séparation des applications en domaines d’exécution est logique sur le plan architectural
- Le coût des microcontrôleurs multicœurs diminue considérablement (avec certains problèmes de chaîne d’approvisionnement mis de côté).
Si vous n’utilisez pas de microcontrôleur multicœur aujourd’hui, je ne serais pas surpris que vous l’utilisiez dans les 2 ans. (Bien qu’il existe encore de nombreuses pièces 8 bits et 16 bits, cela dépend de votre secteur d’activité).
J’ai deux suggestions pour en savoir plus sur les processeurs multicœurs et pour vous familiariser avec eux. Ils impliquent tous deux de suivre un cours gratuit via le DesignNews Digikey Continuing Education Center (CEC). Le premier cours s’intitule « Introduction au développement d’applications multicœurs RTOS » et peut être trouvé dans les archives du 1er trimestre 2021 (ou les liens et les informations générales trouvées ici). Le deuxième cours est à venir fin janvier 2022 et intitulé « Premiers pas avec le Raspberry Pi Pico », qui est une carte de développement à 4 $ qui utilise un processeur Arm Cortex®-M0+ à double cœur RP2040.
Technologie embarquée #4 – Arm TrustZone
Nous vivons dans un monde où la sécurité est un moteur majeur ou devrait être le moteur principal des produits que nous concevons et fabriquons. Nous devons maîtriser les technologies de sécurité en 2022 et au-delà pour protéger notre propre propriété intellectuelle (firmware) ainsi que les données et la vie privée de nos clients.
Il existe plusieurs solutions de sécurité disponibles pour les microcontrôleurs, notamment l’utilisation de processeurs multicœurs pour créer des environnements d’exécution isolés, mais j’ai pensé qu’il était logique de désigner TrustZone comme une technologie à apprendre. Il y a plusieurs raisons à cela telles que :
- Les nouvelles architectures de microcontrôleurs Arm ont une option TrustZone
- Les outils TrustZone se retrouvent dans la plupart des outils commerciaux et même open source
- TrustZone fournit une solution monocœur plus proche du modèle logiciel que de nombreux développeurs connaissent
J’ai travaillé avec plusieurs clients sur leurs solutions de sécurité et le meilleur conseil que je puisse leur donner est de commencer tôt. Apprenez les technologies avant que vous n’en ayez besoin et non pendant que vous en avez besoin.
Technologie embarquée #5 – Apprenez le C++
J’ai été tenté de faire de l’apprentissage automatique ma dernière technologie; Cependant, bien qu’il se passe des choses intéressantes avec l’apprentissage automatique pour l’embarqué, je ne rencontre pas beaucoup d’entreprises qui le déploient ou l’utilisent activement sur des microcontrôleurs autrement que pour obtenir un financement pour leur prochain cycle d’investissement. Au lieu de cela, je pense que quiconque est un développeur Python ou C devrait apprendre le C++.
Le C++ est lentement devenu de plus en plus populaire au fil des ans dans les applications embarquées. La norme continue d’être mise à jour et fournit aux développeurs des outils modernes orientés objet pour concevoir et construire leurs systèmes. Au cours des deux dernières années, j’ai vu plus de projets C++ écrits dans des entreprises que de projets C ! C’est une bonne nouvelle à moins que vous ne sachiez pas programmer en C++ !
conclusion
Il existe de nombreuses technologies cette année qui changeront radicalement la façon dont nous concevons, construisons, testons et déployons nos systèmes embarqués. Je déteste n’avoir pu en couvrir que cinq. Cependant, je pense que ces cinq donnent aux lecteurs plus qu’assez pour se concentrer sur cette année. Rappelez-vous, ne vous éparpillez pas trop en essayant d’en faire trop à la fois ! Concentrez-vous sur 1 à 3 moteurs technologiques clés, puis augmentez votre niveau d’expérience et de maîtrise chaque jour ou chaque semaine. Il ne faudra pas longtemps avant que d’énormes changements soient apportés et vous pourrez ensuite passer à la clé suivante.