> Linux n'est pas forcément la plateforme idéale pour le développement embarqué, non pas à cause de Linux lui-même mais surtout du non support au niveau outillage et pilotes de périphériques de la part des fondeurs. Les choses changent cependant peu à peu et nous allons vous présenter pas à pas comment paramétrer votre environnement pour du développement embarqué sur ARM Cortex-M4.
La plateforme matérielle qui sera utilisée dans cet article est la carte STM32F469-Discovery qui dispose d'un superbe écran LCD capacitif. L'avantage des cartes ST est qu'elles embarquent toujours de quoi programmer le microcontrôleur. Pas besoin de s'outiller de sonde JTAG donc.
Comme tout développement embarqué (ou pas), nous allons essayer de travailler dans un ordre logique. Dans un premier temps, nous nous intéresserons au flashage de la carte. Puis nous installerons ce qu'il faut pour compiler un programme d'exemple que nous tenterons de déboguer sur cible.
Il vous faudra :
Les manuels du microcontrôleur sont à consulter lorsque vous avez un problème sur un périphérique en particulier, sinon lisez bien attentivement le manuel de la carte, elle fourmille d'informations utiles.
Dans notre cas, notre premier exemple sera de faire clignoter une LED.
En dehors des logiciels de développement, il vous faudra :
Tout d'abord, pour tester la programmation, il nous faut quelque chose à programmer, c'est-à-dire un binaire (programme déjà construit). Je vous ai préparé quelques binaires prêt à flasher pour vos essais.
Ils sont disponibles dans le répertoire "bin" du projet Github. Voici leur description
STlink (pour Linux !) est un projet assez récent et prometteur visant à reproduire l'utilitaire de programmation fournit par ST, mais sous Linux. Il fonctionne très bien, en tout cas pour notre carte, et permet même de débiguer grâce à un serveur GDB embarqué, à l'instar d'OpenOCD.
https://github.com/texane/stlink
Segger est un fabricant Allemand célèbre pour ses merveilleuses sondes JTAG et son écosystème associé. Il fournit un outil sympa permettant de transformer n'importe quel programmeur STLink en sonde JLink de Segger. Malheureusement, l'outil n'est disponible que sous Windows. C'est néanmoins une des meilleures solutions sous Linux car les drivers sont disponibles et les outils de qualité.
https://www.segger.com/downloads/jlink#STLink_Reflash
Nous voici donc dotés d'un sytème simple, reproductible et extensible pour nos projets modulaires.