Raspberry Pi Pico : PIO, DMA et mémoire flash

Magazine
Marque
Contenu Premium
Domaines


Résumé

Le microcontrôleur RP2040 équipant la Pico est une petite merveille et malgré l'absence de connectivité wifi ou Bluetooth, l'étendue des fonctionnalités intégrées reste très impressionnante. Nous avons abordé le sujet du sous-système PIO dans un précédent article [1], mais celui-ci n'était qu'une découverte de la fonctionnalité. Il est temps à présent de pousser plus loin nos expérimentations en mêlant plusieurs ressources à notre disposition : PIO, DMA et accès à la flash QSPI.


Comme nous l'avons vu dans un article précédent, le sous-système PIO intégré au RP2040 est constitué de deux instances PIO disposant chacune de quatre machines à états. Celles-ci peuvent exécuter un programme, placé dans une mémoire spécifique de 32 instructions pour chaque instance, et ont pour tâche principale de contrôler les GPIO. La raison d'être primaire de ce sous-système est d'éliminer totalement la nécessité d'avoir recours au bit-banging ou, en d'autres termes, d'implémenter de façon logicielle des protocoles de communication ou de signalement.

Il en résulte la possibilité de créer de nouveaux périphériques, au cœur même du composant, sans surcharger le code ARM inutilement, celui-ci se contentant de configurer la ou les machines à états et de communiquer avec elles via des buffers FIFO. Le programme exécuté par une machine à états est écrit dans un langage assembleur basique utilisant une dizaine d'instructions. Ce code est...

Cet article est réservé aux abonnés. Il vous reste 97% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Installer OpenOCD spécial Pico pour votre Debian

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

N'importe quelle occurrence de la commande « sudo make install » me rappelle d'horribles souvenirs de mes débuts sous GNU/Linux, il y a de très nombreuses années (1995). Peupler ainsi manuellement son /usr/local de fichiers, programmes et bibliothèques est une recette parfaite pour une catastrophe et des conflits en tous genres. Mieux vaut suivre la voie dictée par la distribution et son système de gestion de paquets. Voyons cela en pratique avec l'OpenOCD modifié par la fondation Raspberry Pi et, en prime, découvrons une excellente alternative à l'utilisation d'UF2 ou Picotool.

De la preuve formelle en Verilog, librement

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

Dans cet article, on se propose de découvrir une autre méthode de validation d’un composant écrit en Verilog. L’idée est de décrire les propriétés du composant et de laisser l’ordinateur chercher les stimuli qui feront échouer des propriétés. Ça n’est plus le développeur qui écrit les tests, mais la machine. Cette méthode a récemment été rendue possible avec des logiciels libres grâce à la suite d’outils Yosys (synthèse Verilog), Yosys-SMTBMC (solveur) ainsi que SymbiYosys qui les chapeaute.

Mesurer l’éclairement avec Arduino

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

Papa de trois enfants en bas âge, j’ai souvent la tête dans les jouets. Mes enfants, comme beaucoup, s’amusent parfois à faire semblant d’acheter. Et si je leur fabriquais une sorte de « caisse/dînette » ! Ce serait tellement mieux s’ils pouvaient scanner des articles et que « ça marche », pour ensuite payer le total par carte !

Raspberry Pi Pico, Arduino killer ?

Magazine
Marque
Hackable
Numéro
37
Mois de parution
avril 2021
Domaines
Résumé

« Raspberry Pi ou Arduino ? », voici la question typique que se posent nombre de débutants avant de comprendre rapidement que comparer un ordinateur monocarte (SBC) et une carte microcontrôleur n'a aucun sens. Il s'agit de deux mondes distincts reposant sur des philosophies et des contingences totalement différentes. Mais en ce début d'année 2021, la réponse à cette mauvaise question est devenue délicate, car voici venir la carte Pico : une plateforme équipée d'un microcontrôleur RP2040 double-cœur ARM Cortex M0+... par Raspberry Pi ! En d'autres termes, la question est donc maintenant aussi « Raspberry Pi ou Raspberry Pi ? ».