La carte STM32F429IDISCOVERY dispose, comme nous l'avons vu, d'un écran LCD. Celui-ci est équipé d'un film tactile résistif connecté à un contrôleur STMPE811 interfacé en i2c. Voici l'occasion d'étudier comment uClinux gère ce type de bus de plus près, non sans un petit détour par les spécificités se rapportant aux GPIO.
Nous l'avons vu avec la gestion d'interruptions et la configuration de l'EXTI, le monde de l'ARM Cortex-M4 et du devkit STM32F429IDISCO est vaste et en mesure de satisfaire les développeurs et utilisateurs les plus assoiffés de connaissances techniques. Nous continuerons ici notre exploration en approchant le bus i2c de la plateforme. Mais avant cela, il nous est indispensable de parler de la gestion des GPIOs qui, comme vous pouvez vous en douter, est bien plus dense que celle de simples microcontrôleurs 8 bits comme les AVR d'Atmel, par exemple.
1. GPIO et iomux.c
Pour appréhender au mieux la gestion des GPIOs avec uCLinux, le plus simple est encore d'étudier le travail d'EmCraft dans le répertoire arch/arm/mach-stm32/ avec, sous le coude, le Reference manual RM0090 de STMicroelectronics (1700 pages tout de même). Les GPIOs sont configurés après reset en tant qu'entrées flottantes. Le changement de configuration se fait par l'intermédiaire de registres mappés en...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première