Démarrer avec les logiciels open-source en utilisant la série de produits RA de Renesas
Avec la contribution de Rédacteurs nord-américains de DigiKey
2020-09-10
Les équipes de développement sont confrontées à plusieurs défis tels que les coûts de développement, la complexité croissante des systèmes, les cycles de développement plus courts, et même le verrouillage des logiciels. Cette volonté de faire plus avec moins devient un thème commun dans l'industrie de l'embarqué : il n'y a tout simplement plus le temps de créer une conception à partir de zéro. Si les logiciels open-source peuvent être extrêmement utiles, ils peuvent également présenter des risques du point de vue de l'intégration, des bogues et du calendrier du projet, mais cela est en train de changer.
Une solution unique que les équipes peuvent exploiter pour résoudre ces problèmes consiste à utiliser les nouvelles plateformes logicielles open-source. Ces plateformes sont souvent intégrées et testées pour éliminer les risques et sont conçues pour fonctionner avec les familles de microcontrôleurs sur lesquelles elles sont basées.
Cet article présente le concept de logiciel open-source et décrit comment les plateformes réduisent les risques. Il montre ensuite comment démarrer sur une plateforme open-source en utilisant le progiciel flexible (FSP, Flexible Software Package) de Renesas sur la série RA de microcontrôleurs.
Avantages et inconvénients des logiciels open-source
Un logiciel open-source est un logiciel dont le code source peut être inspecté, modifié et amélioré1 par toute personne, dans les limites fixées par le modèle de licence du logiciel. Les logiciels open-source sont devenus un atout essentiel pour les équipes de développement car ils encouragent la réutilisation et permettent d'accéder à des modules logiciels déjà existants, à un coût faible ou nul. Par exemple, il faudrait beaucoup de temps et de budget pour créer un système d'exploitation en temps réel (RTOS) à partir de zéro, et un investissement en temps et en ressources assez important pour le maintenir pendant plusieurs années. Au lieu de cela, les développeurs peuvent tirer parti de plusieurs RTOS open-source. Cela leur permet de se concentrer davantage sur le code de leur application pour la différenciation, au lieu de passer du temps à maintenir le système d'exploitation sous-jacent.
Dans les cycles de développement où les calendriers et les budgets sont constamment comprimés, les logiciels open-source offrent un mécanisme permettant aux équipes de tirer parti de l'existant et de se concentrer sur le code de leur application. Les logiciels open-source présentent également plusieurs avantages, outre le gain de temps et d'argent. Ces avantages incluent la transparence du code par rapport à un binaire compilé, et il est souvent possible d'accéder à une communauté mondiale de développeurs partageant les mêmes idées.
Néanmoins, certains risques sont associés aux logiciels open-source. Les développeurs doivent donc tenir compte de plusieurs considérations importantes lors de leur décision de travailler ou non avec des logiciels open-source.
Tout d'abord, tous les logiciels open-source ne sont pas pris en charge au niveau mondial. De nombreux logiciels ont été développés par quelqu'un pour le plaisir dans un sous-sol ou un garage. Ces développeurs peuvent prendre en charge le code pendant une courte période, puis passer à un autre projet plus intéressant pour eux, laissant les utilisateurs se débrouiller seuls.
Ensuite, les logiciels open-source peuvent être fournis avec plusieurs modèles de licence différents. Certaines licences permettent d'utiliser le logiciel à des fins commerciales ou à toute autre fin. D'autres licences prévoient que tout code ou changement associé soit ouvertement partagé avec la communauté. Bien que cela puisse sembler assez juste à première vue, il s'agit également d'un risque potentiel de responsabilité et peut obliger l'entreprise à divulguer son code source.
Enfin, la qualité peut être mise à mal lorsqu'il s'agit de logiciels open-source. Les développeurs ont souvent une idée précise de ce qu'ils veulent concevoir et développent souvent quelque chose de fonctionnel. Le côté fonctionnel ne garantit pas la robustesse, l'absence de bogues ni l'intégration aisée dans d'autres logiciels ou bases de code. La qualité peut être une pierre d'achoppement majeure lors de l'utilisation de logiciels open-source, et l'utilisateur doit donc être prudent.
Réduire les risques de l'open-source avec le FSP de Renesas
Pour réduire les risques liés à l'open-source tout en optimisant les avantages, les développeurs peuvent tirer parti de logiciels qui ont déjà été intégrés, testés et pris en charge par un fournisseur reconnu. C'est le but du progiciel FSP série RA de Renesas.
La série RA de Renesas est intéressante parce qu'au-delà du matériel, la plateforme fournit des logiciels open-source sous la forme de son FSP (Figure 1). Le FSP fournit tous les logiciels nécessaires à la mise en service du microcontrôleur, y compris le BSP (Board Support Package), la couche d'abstraction matérielle (HAL) et plusieurs piles intergicielles. Le FSP inclut également FreeRTOS, un RTOS open-source très populaire auprès des développeurs. Le logiciel a également été intégré et testé afin que les développeurs puissent commencer à écrire leur code d'application immédiatement et réduire le temps passé à se préoccuper du matériel de bas niveau.
Figure 1 : Le FSP fournit des piles logicielles intégrées qui fonctionnent immédiatement et sont facilement configurables. (Source de l'image : Renesas)
Le FSP est conçu pour fonctionner uniquement avec les microcontrôleurs série RA de Renesas. La mise en route de la plateforme est aisée mais nécessite que les développeurs sélectionnent d'abord une carte de développement.
Sélection d'une carte de développement de la série RA de Renesas
La série RA de Renesas est divisée en quatre groupes de processeurs principaux incluant les séries RA2, RA4, RA6 et RA8. Chaque gamme de processeurs est adaptée à un groupe de performances légèrement différent et fournit un processeur Arm® Cortex®-M23, Cortex-M33 ou Cortex-M4 (Figure 2). Les fonctionnalités et la mémoire Flash disponibles s'échelonnent de la série RA2 à la série RA8, la consommation d'énergie augmentant en conséquence.
Figure 2 : La série RA de microcontrôleurs de Renesas est divisée en quatre gammes générales qui offrent diverses plages de performances via plusieurs cœurs de processeur Arm Cortex-M différents. (Source de l'image : Renesas)
Au moment de sélectionner la carte de développement à utiliser, il peut être utile de commencer par identifier l'application finale. Par exemple, pour une application de contrôle ou d'interface basse consommation dans des équipements de soins de santé, de bureau ou de mesure, le RTK7EKA2A1S00001BU (EK-RA2A1) peut constituer un bon choix (Figure 3). Il est doté d'un processeur Arm Cortex-M23 48 mégahertz (MHz) RA2A1 basse consommation, et de 256 kilo-octets (Ko) de Flash et 32 Ko de RAM. La carte de développement est également pratiquement nue, à l'exception de quelques connecteurs d'extension, qui conviennent parfaitement pour connecter des capteurs ou des actionneurs externes. Elle inclut un débogueur embarqué, un bouton-poussoir, un potentiomètre et un bouton tactile capacitif.
Figure 3 : L'EK-RA2A1 contient un vaste choix de connecteurs d'extension, ce qui le rend idéal pour les applications de contrôle et l'interfaçage de capteurs externes. (Source de l'image : Renesas)
Pour une application plus avancée telle qu'un produit IoT, industriel, électroménager ou de compteur, un développeur peut viser un peu plus haut avec la carte de développement EK-RA4M1 (RTK7EKA4M1S00001BU). L'EK-RA4M1 est contrôlé par un processeur Arm Cortex-M4 RA4M1, fonctionnant également à 48 MHz, et affichant également 256 Ko de Flash et 32 Ko de RAM. Cette carte est également conçue pour les applications basse consommation.
Pour les applications exigeant des performances plus élevées, un écran LCD, une connectivité Internet, une sécurité avancée et d'autres fonctionnalités haut de gamme, les développeurs peuvent se tourner vers la carte de développement RTK7EKA6M2S00001BU (EK-A6M2) ou RTK7EKA6M3S00001BU (EK-A6M3). L'EK-A6M2 est basé sur le RA6M2, un processeur Arm Cortex-M4 s'exécutant à 120 MHz et affichant jusqu'à 1024 Ko de Flash et 384 Ko de RAM.
La carte de développement EK-A6M2 ne fournit, là encore, que les fonctions de base telles que des embases, un potentiomètre et un bouton. Il s'agit d'une excellente carte à bas prix qui permet à un développeur de démarrer avec l'environnement de développement et les logiciels, et de comprendre le matériel.
La carte de développement EK-A6M3 est plus intéressante à utiliser (Figure 4). Cette carte est basée sur un processeur Arm Cortex-M4 RA6M3, fonctionnant également à 120 MHz, mais soutenu par jusqu'à 2048 Ko de Flash et 640 Ko de RAM.
Figure 4 : La carte de développement EK-A6M3 pour le processeur RA6M3 est dotée de 32 Mo de Flash QSPI externe pour les données d'applications graphiques, pour prendre en charge une carte d'extension graphique fonctionnant avec un accélérateur graphique et des fonctions tactiles. (Source de l'image : Renesas)
L'EK-A6M3 est fourni avec une carte d'extension graphique qui permet au développeur de travailler avec l'accélérateur graphique et les fonctionnalités tactiles. La carte est équipée d'un jack Ethernet, d'extensions PMOD et de connecteurs microbus. La carte de développement est également fournie avec 32 méga-octets (Mo) de Flash QSPI externe pour les données d'applications graphiques. Les développeurs constateront qu'ils ont également accès à un écran LCD TFT couleur de 4,3 pouces (po) d'une résolution de 480 x 272 avec recouvrement tactile capacitif.
Écrire une première application avec le FSP
Il y a plusieurs étapes qu'un développeur doit suivre pour commencer sa première application FSP :
- Sélectionner dans la dernière section l'une des cartes de développement répondant le mieux aux exigences applicatives.
- Télécharger et installer l'IDE e2 Studio. e2 Studio permet aux développeurs de créer des projets, de gérer des composants logiciels et d'écrire leur code d'application. Les développeurs peuvent également organiser des sessions de débogage et interagir avec leur carte de développement.
- Télécharger et installer le FSP.
Une fois ces étapes effectuées, le développeur peut ouvrir e2 Studio et créer un nouveau projet en suivant les étapes ci-dessous :
- Sélectionnez File -> New -> RA C/C++ Project.
- Sélectionnez le projet « Renesas RA C Executable Project » et cliquez sur « Next » (Figure 5).
Figure 5 : Un projet FSP est créé en utilisant le modèle de projet « Renesas RA C Executable Project ». (Source de l'image : Beningo Embedded Group) - Un développeur attribue ensuite un nom à son projet et sélectionne les paramètres importants du projet, notamment (Figure 6) :
- La version FSP qui sera utilisée
- Le modèle de la carte de développement
- Le microcontrôleur
- Le RTOS qui sera utilisé (si un RTOS est utilisé)
Figure 6 : Les développeurs sélectionnent les paramètres périphériques et logiciels importants lors de la création de leur projet. (Source de l'image : Beningo Embedded Group)
Une fois le projet créé, les développeurs peuvent alors utiliser l'IDE pour développer leur code d'application, et utiliser l'outil de configuration des piles e2 Studio pour configurer les pilotes, les structures et les logiciels open-source intégrés dans leur projet.
Conseils et astuces pour travailler avec des logiciels open-source
L'exploitation des logiciels open-source est devenue stratégique pour permettre aux équipes de développement d'accélérer le développement et de maîtriser les coûts. Pour bien tirer parti des logiciels open-source, il existe plusieurs trucs et astuces que les équipes doivent prendre en compte, notamment :
- Sélectionner un logiciel qui bénéficie d'une communauté active, et non un exemple ponctuel de GitHub ou d'un service similaire.
- Effectuer un audit logiciel et une analyse qualitative de la base de code du logiciel open-source.
- Faire examiner la licence du logiciel par un avocat pour s'assurer qu'elle est bien comprise.
- Utiliser une couche d'abstraction pour supprimer les dépendances. Cela permettra de retirer facilement ce progiciel ultérieurement si nécessaire.
- Tirer parti des logiciels intégrés lorsque cela est possible pour minimiser les problèmes.
Les développeurs qui suivent ces « conseils et astuces » constateront qu'ils économisent beaucoup de temps et d'efforts lorsqu'ils sécurisent leur dispositif IoT.
Conclusion
Avec la complexité croissante des systèmes embarqués, les logiciels open-source aident les équipes de développement à mieux gérer les délais et les budgets. Toutefois, les équipes doivent sélectionner avec soin les logiciels open-source qu'elles utilisent. Il existe sur le Web de nombreuses options de logiciels open-source non pris en charge, ce qui peut entraîner des problèmes d'intégration et de maintenance infinis.
Comme le montre cet article, des plateformes telles que la série RA de microcontrôleurs de Renesas ont permis de sortir le travail de routine de l'équation et fournissent aux équipes une base solide à partir de laquelle elles peuvent commencer à développer leurs propres applications, en respectant à la fois les délais et les budgets.
Références
Avertissement : les opinions, convictions et points de vue exprimés par les divers auteurs et/ou participants au forum sur ce site Web ne reflètent pas nécessairement ceux de DigiKey ni les politiques officielles de la société.





