🛠 Caméra CSI OV5640 via fdtoverlays dans extlinux.conf
Objetivos
Activar el puerto de cámara CSI de 22 pines del BeaglePlay y conectar un módulo OV5640, el sensor recomendado porque el conector CSI está cableado sin ISP: no hay un pipeline de procesamiento de imágenes en el AM625 para este conector, por lo que el sensor debe proporcionar un flujo ya procesado en la salida (el OV5640 lo hace, muchos sensores RAW en bruto no). La activación se realiza mediante las superposiciones de árbol de dispositivos (device tree overlays) declaradas en la línea fdtoverlays de /boot/firmware/extlinux/extlinux.conf.
Hardware
- Una placa BeaglePlay
- Un módulo de cámara OV5640 (cinta plana CSI de 22 pines, sensor recomendado)
- Acceso a la partición de arranque FAT
Código completo
# 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
Verificación esperada
Después de reiniciar, media-ctl -p muestra la cadena ov5640 -> csi2 -> video, y yavta --enum-frame-sizes /dev/video0 lista las resoluciones del sensor. Una captura: yavta -c1 -f UYVY -s 1280x720 -F /dev/video0 escribe un archivo de imagen. Si fdtoverlays se ignora, verifique que la ruta sea relativa a la partición de arranque.
Errores frecuentes
- Conectar un sensor RAW puro: sin ISP en los 22 pines, no hay ninguna imagen utilizable; el OV5640 se recomienda precisamente por su procesamiento integrado.
- Poner una ruta absoluta en
fdtoverlays: extlinux resuelve desde la raíz del sistema de archivos de arranque. - Cinta plana CSI mal insertada o conector invertido: el sensor no aparece en absoluto en el grafo de medios.
- Editar
extlinux.confen la partición eMMC mientras se arranca desde SD (o viceversa). - Olvidar el
sync/reinicio limpio: la FAT de arranque se corrompe y la placa no vuelve a arrancar.
Otros tutoriales para esta placa
- 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
Ejemplos de código para esta placa
clignotante.pyPythonbouton-gpio.pyPythoncapteur-i2c.shBashsurveillance-temperature.shBashcapteur-dht11.pyPythonservo-pwm-sysfs.shBash