🛠 Capes historiques : capemanager, EEPROM d'identification et pièges des broches

BeagleBone Black (TI Sitara AM3358) · avance · Schéma : IMG-beaglebone-black-avance-1-capes-legacy-capemanager-eeprom.svg — pile de 4 capes empilées sur les nappes P8/P9 d'une BeagleBone Black, EEPROM I2C 0x54-0x57 en médaillon, zone P8_27 à P8_46 barrée en rouge avec mention « broches SYSBOOT — ne pas piloter ».

Objectifs

Comprendre l'écosystème cape qui a fait la réputation de la BBB : deux nappes 46 broches, empilables sur 4 niveaux, chaque cape portant une EEPROM d'identification (adresses I2C 0x54 à 0x57) lue au boot pour configurer le pinmux. Vous manipulerez le capemanager historique (/sys/devices/platform/bone_capemanager/slots) des anciennes images, son équivalent moderne configfs, et les trois pièges matériels du SRM : broches SYSBOOT sur P8, eMMC sur les broches GPMC, back-powering du framer HDMI.

Matériel

Code complet

# 1. Lire l'EEPROM d'une cape branchée (bus I2C2, adresses 0x54-0x57)
sudo i2cdump -y 2 0x54 b     # nom et pinmux de la cape en ASCII

# 2. Images anciennes (capemanager U-Boot) : lister et activer un slot
cat /sys/devices/platform/bone_capemanager/slots
dtc -O dtb -o macape-00A0.dtbo -b 0 -@ macape.dts
sudo cp macape-00A0.dtbo /lib/firmware/
echo macape:00A0 | sudo tee /sys/devices/platform/bone_capemanager/slots

# 3. Images modernes : configfs (le capemanager a disparu des noyaux récents)
sudo mkdir -p /sys/kernel/config/device-tree/overlays/macape
cat macape-00A0.dtbo | sudo tee /sys/kernel/config/device-tree/overlays/macape/dtbo
ls /sys/kernel/config/device-tree/overlays/

# 4. Traces de lecture de l'EEPROM au boot
sudo dmesg | grep -iE "cape|eeprom|slot"

Vérification attendue

Avec une cape officielle, dmesg affiche le nom du capedriver chargé automatiquement (lecture de l'EEPROM). Un overlay maison apparaît dans slots (ancienne image) ou dans configfs (image récente), et le périphérique qu'il décrit devient visible sous /sys/devices/platform ou /sys/bus.

Erreurs fréquentes

Autres tutoriels pour cette carte

Exemples de code pour cette carte

← Retour à la fiche 🛠 Tous les tutoriels