L’article « Pilotez de manière optimale vos afficheurs LED » de Hackable Magazine no34 illustre la manière dont on doit envisager la programmation embarquée : ne pas faire maladroitement en software ce que le hardware prend en charge. Depuis bientôt 10 ans, les microcontrôleurs 32 bits proposent en standard un ou plusieurs contrôleurs DMA qui transfèrent des données entre mémoire et périphériques sans mobiliser le CPU, n’attendons donc pas pour les mettre au travail.
L’accès direct à la mémoire est largement utilisé par les systèmes d’exploitation pour l’architecture PC, l’IBM PC 5150 original embarquant un circuit Intel 8237 à ces fins. Nous verrons, dans l’historique succin qui va suivre, que cette technologie est arrivée très rapidement après l’invention de l’ordinateur. Cependant, en ce qui concerne les microcontrôleurs, le DMA est arrivé tardivement, les vénérables PIC16 et les incontournables AVR 8 bits utilisés par la plateforme Arduino en sont dépourvus. Il faudra attendre l’arrivée des cœurs ARM 32 bits comme moteur des MCU (microcontroller unit), vers 2010, pour que le contrôleur DMA devienne un standard. Il équipe maintenant les gammes les plus performantes des MCU 8 bits, comme la gamme XMEGA du constructeur AVR. Dans la suite de cet article, nous allons poser le problème de la performance des entrées/sorties, puis présenter chronologiquement les solutions qui furent trouvées. Nous décrirons...
- 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