Raspberry Pi
Un parcours concret, de la carte SD vierge jusqu'à un programme Amalgame qui fait clignoter une LED, lit un bouton et dialogue avec un capteur I²C sur un Raspberry Pi.
Amalgame compile en code natif ARM64 : un Pi exécute donc le même
langage que sur votre portable — pas de cross-compilateur, pas de
gymnastique de toolchain. Vous écrivez du .am, vous faites
amc build, vous obtenez un vrai binaire.
🥧 Ce qu'il vous faut
- Un Raspberry Pi (n'importe quel modèle, 1 → 5) avec un OS 64 bits.
- Quelques fils, une LED + une résistance 330 Ω, un bouton-poussoir. L'exemple I²C demande n'importe quel périphérique I²C (un MPU-6050, un petit OLED, un backpack LCD PCF8574 — tout ce qui répond sur le bus).
Les trois étapes
- Préparer le Pi — flasher un OS 64 bits, installer
amc, activer les interfaces I²C/SPI et installer la dépendance systèmelibgpiod. À faire une fois. - Votre premier programme — créer un projet,
ajouter le package
amalgame-hardware-gpio, faire clignoter une LED. ~5 minutes. - Exemples — copier-coller, câbler, lancer :
Quel package ?
Tout ici repose sur amalgame-hardware-gpio, le premier membre de
la famille Amalgame.Hardware. Un package, cinq périphériques :
| Périphérique | Couverture |
|---|---|
| GPIO | entrées/sorties numériques, pull-ups internes, fronts (interruptions) |
| I²C | maître sur /dev/i2c-N — capteurs, afficheurs, expandeurs |
| SPI | maître sur /dev/spidev — afficheurs rapides, ADC |
| PWM | PWM matériel via sysfs — servos, gradation, tonalités |
| UART | série via termios — GPS, modems, autres cartes |
Il s'appuie sur libgpiod v2 sur le périphérique caractère GPIO
(/dev/gpiochip*) — l'interface moderne bénie par le noyau, qui
fonctionne sur tous les Pi, y compris le Pi 5 (dont le GPIO est
derrière la puce RP1, où la vieille astuce /dev/gpiomem ne marche
plus).
Cette même API de broches reflète le HAL
Amalgame.Mcuprévu : le code écrit ici se lira presque à l'identique plus tard sur un microcontrôleur nu. (Une sectionHow To → MCUsuivra.)
hardware-gpio est le backend Raspberry Pi. Par-dessus vit toute
une famille de drivers de composants portables (LEDs, moteurs,
capteurs, afficheurs, …) — voir le catalogue des composants matériels.
Commencez par Préparer le Pi.