🛠 Caméra CSI OV5640 via fdtoverlays dans extlinux.conf
Objectifs
Activer le port caméra CSI 22 broches du BeaglePlay et y brancher un module OV5640, le capteur recommandé car le connecteur CSI est câblé sans ISP : il n'y a pas de pipeline de traitement d'image côté AM625 pour ce connecteur, le capteur doit donc fournir un flux déjà traité en sortie (l'OV5640 le fait, beaucoup de capteurs RAW bruts non). L'activation passe par les device tree overlays déclarés dans la ligne fdtoverlays de /boot/firmware/extlinux/extlinux.conf.
Matériel
- Une carte BeaglePlay
- Un module caméra OV5640 (nappe CSI 22 broches, capteur recommandé)
- Un accès à la partition boot FAT
Code complet
# 1. Vérifier la présence de l'overlay dans l'image
find /usr/lib/linux-image* -name '*ov5640*'
ls /boot/firmware/overlays/ 2>/dev/null
# 2. Éditer la config extlinux (sauvegarde d'abord)
sudo cp /boot/firmware/extlinux/extlinux.conf ~/extlinux.conf.bak
sudo nano /boot/firmware/extlinux/extlinux.conf
# ajouter dans le bloc linux :
# fdtoverlays /overlays/k3-am625-beagleplay-csi-ov5640.dtbo
sudo reboot
# 3. Après reboot : le subdev est apparu
media-ctl -p | grep -i ov5640
yavta -l --enum-formats --enum-inputs /dev/video0
Vérification attendue
Après reboot, media-ctl -p montre la chaîne ov5640 -> csi2 -> video, et yavta --enum-frame-sizes /dev/video0 liste les résolutions du capteur. Une capture : yavta -c1 -f UYVY -s 1280x720 -F /dev/video0 écrit un fichier image. Si fdtoverlays est ignoré, vérifier que le chemin est relatif à la partition de boot.
Erreurs fréquentes
- Brancher un capteur RAW pur : sans ISP sur les 22 broches, aucune image exploitable ; l'OV5640 est recommandé précisément pour son traitement embarqué.
- Mettre un chemin absolu dans
fdtoverlays: extlinux résout depuis la racine du système de fichiers de boot. - Nappe CSI mal insérée ou sens du connecteur inversé : le capteur n'apparaît pas du tout dans le graphe média.
- Éditer
extlinux.confsur la partition eMMC alors qu'on boote sur SD (ou l'inverse). - Oublier le
sync/reboot propre : la FAT de boot se corrompt et la carte ne redémarre plus.
Autres tutoriels pour cette carte
- Flasher l'image Debian sur la microSD puis l'eMMC 16 Go
- LED et bouton USER : triggers kernel et gpio-keys
- OLED Qwiic sur le bus I2C 5 (mcu_i2c0)
- Capteurs Grove sur le bus I2C 1 et inventaire du bus
- Double Ethernet : GbE RTL8211F et 10BASE-T1L sur RJ11
- Reflasher le CC1352P7 en BSL depuis le processeur hôte
Exemples de code pour cette carte
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash