树莓派IMX415摄像头驱动适配技术指南


适配背景

微雪代工了一个22pin的imx415摄像头(IMX415-98 IR-CUT Camera),我在宣传图中看到了该摄像头连接了树莓派5,于是以为已经适配了,但是买到手后发现并非如此,此摄像头在便利性上较树莓派官方摄像头有较大差距,树莓派官方内核未包含IMX415传感器驱动,经代码审查发现内核上游存在适配版本(drivers/media/i2c/imx415.c)。需要自己手动编译驱动,本指南记录完整适配流程及验证方法。


环境准备

  1. 硬件要求:

    • 树莓派5(BCM2712芯片)

    • IMX415摄像头模组

    • 可用存储空间≥2GB

  2. 系统要求:

    • Raspberry Pi OS (Bookworm) 64-bit

    • 安装构建工具链:

sudo apt install build-essential git bc bison flex libssl-dev

驱动适配流程

1. 内核源码获取

git clone --depth=1 https://github.com/raspberrypi/linux
cd linux

2. 内核配置

make bcm2712_defconfig
make menuconfig

配置路径:

Device Drivers 
  → Multimedia support 
    → Media ancillary drivers 
      → Camera sensor devices 
        → <M> Sony IMX415 sensor

3. 设备树编译

make -j$(nproc) dtbs
sudo cp arch/arm64/boot/dts/overlays/imx415*.dtb* /boot/firmware/overlays/
sudo cp arch/arm64/boot/dts/overlays/README /boot/firmware/overlays/

4. 驱动模块编译

make -C /home/rpi/linux modules_prepare
sudo make CONFIG_VIDEO_IMX415=m -C /lib/modules/$(uname -r)/build M=$(pwd) modules_install
sudo cp /home/rpi/linux/drivers/media/i2c/imx415.ko /lib/modules/$(uname -r)/kernel/drivers/media/i2c/
sudo xz -z /lib/modules/$(uname -r)/kernel/drivers/media/i2c/imx415.ko
sudo depmod -a

5. 驱动加载配置

编辑/boot/firmware/config.txt

dtoverlay=imx415
camera_auto_detect=0

6. 依赖模块加载

echo -e "v4l2-async\nv4l2-fwnode\nregmap-i2c" | sudo tee /etc/modules-load.d/imx415.conf

驱动验证

1. 系统重启

sudo reboot

2. 驱动状态检查

# 模块加载验证
lsmod | grep imx415

# 内核日志检查
dmesg | grep -i imx415

# 设备节点检测
v4l2-ctl --list-devices

3. 功能测试

# 静态图像捕获
libcamera-still -o test.jpg
# 视频流测试
libcamera-vid -t 10000 -o test.h264

Comments

Leave a comment