当前位置:首页 > 系统教程 > 正文

飞凌OK3588-C开发板摄像头适配全攻略(Rockchip原厂Buildroot Linux 6.1系统与OV5645驱动集成教程)

飞凌OK3588-C开发板摄像头适配全攻略(Rockchip原厂Buildroot Linux 6.1系统与OV5645驱动集成教程)

本教程将详细指导您如何在飞凌OK3588-C开发板上,为Rockchip原厂的Buildroot系统(基于Linux 6.1内核)适配OV5645摄像头。无论您是嵌入式开发新手还是有一定经验的工程师,都能按照步骤轻松完成适配。我们将从环境准备开始,逐步深入到驱动配置和测试,确保OV5645摄像头飞凌OK3588-C开发板上稳定工作。

一、准备工作

在开始适配前,请确保您已准备好以下硬件和软件:

  • 飞凌OK3588-C开发板(搭载Rockchip RK3588芯片)。
  • OV5645摄像头模块(支持MIPI接口)。
  • 安装有Linux操作系统的PC(推荐Ubuntu 20.04或更高版本),用于编译Buildroot系统
  • Rockchip原厂提供的Buildroot源代码(基于Linux 6.1内核),可从官方Git仓库获取。
  • 交叉编译工具链(如aarch64-linux-gnu)。

确保摄像头正确连接到开发板的MIPI-CSI接口,并通电启动开发板。

二、获取和配置Buildroot源码

首先,从Rockchip官方仓库克隆Buildroot源码。打开终端,执行以下命令:

    git clone https://github.com/rockchip-linux/buildroot.gitcd buildrootgit checkout linux-6.1  # 切换到Linux 6.1内核分支  

接下来,配置Buildroot以支持OV5645驱动。进入make menuconfig界面:

    make menuconfig  

在配置菜单中,依次选择以下选项:Target options -> ARM64 (AArch64) little-endian(匹配RK3588架构)。Kernel -> 启用Linux Kernel 6.1,并设置内核源码路径为Rockchip提供的内核树。Target packages -> 启用Video captureV4L2 utilities(用于摄像头测试)。保存配置后退出。

三、配置Linux内核驱动

适配OV5645摄像头的关键是启用内核中的相关驱动。进入内核配置界面:

    make linux-menuconfig  

Linux 6.1内核配置中,找到以下选项并启用:Device Drivers -> Multimedia support -> V4L platform devices -> 启用Rockchip Video Decoder/EncoderDevice Drivers -> Multimedia support -> CSI2 receiver -> 启用Rockchip MIPI CSI2 receiverDevice Drivers -> Multimedia support -> I2C drivers -> 启用OmniVision OV5645 sensor(如果未列出,可能需要添加设备树配置)。保存配置并退出。

接下来,修改设备树文件以支持OV5645。编辑arch/arm64/boot/dts/rockchip/rk3588-ok3588c.dts(路径可能因源码而异),在i2c节点中添加摄像头配置:

    &i2c3 {    status = "okay";    ov5645: camera@3c {        compatible = "ovti,ov5645";        reg = <0x3c>;        clocks = <&cru CLK_CIF_OUT>;        clock-names = "xvclk";        reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;        pwdn-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;        port {            ov5645_out: endpoint {                remote-endpoint = <&mipi_in_ucam0>;                data-lanes = <1 2>;            };        };    };};  

请根据实际硬件调整GPIO引脚和数据通道数。保存文件后,编译内核和设备树:

    make linux-rebuildmake  
飞凌OK3588-C开发板摄像头适配全攻略(Rockchip原厂Buildroot Linux 6.1系统与OV5645驱动集成教程) 飞凌OK3588-C开发板 OV5645摄像头 Buildroot系统 6.1内核 第1张

四、编译和烧写系统

完成配置后,编译整个Buildroot系统

    make  

编译过程可能需要一段时间。完成后,在output/images/目录下会生成系统镜像(如sdcard.img)。使用工具(如dd命令或RKDevTool)将镜像烧写到开发板的存储设备中。烧写后重启开发板。

五、测试摄像头功能

启动系统后,登录开发板(可通过串口或SSH)。首先检查摄像头是否被识别:

    ls /dev/video*  # 应列出视频设备节点,如video0  

使用v4l2-ctl工具测试OV5645摄像头

    v4l2-ctl --device=/dev/video0 --list-formats  # 查看支持的视频格式v4l2-ctl --device=/dev/video0 --set-fmt-video=width=1920,height=1080,pixelformat=YUYVv4l2-ctl --device=/dev/video0 --stream-mmap=3 --stream-count=10 --stream-to=test.raw  # 捕获10帧数据  

如果捕获成功,说明摄像头驱动工作正常。您还可以使用GStreamerFFmpeg进行更复杂的视频流测试。例如,通过GStreamer显示实时视频:

    gst-launch-1.0 v4l2src device=/dev/video0 ! videoconvert ! autovideosink  

六、常见问题与解决

  • 摄像头未被识别:检查设备树配置和GPIO引脚是否正确,确保Linux 6.1内核中驱动已启用。
  • 视频格式不支持:在v4l2-ctl中尝试其他像素格式(如MJPG)。
  • 编译错误:确保交叉编译工具链路径正确,并清理Buildroot缓存(make clean)。

通过本教程,您已成功在飞凌OK3588-C开发板上适配了OV5645摄像头,并运行在Rockchip原厂的Buildroot系统上。这为后续的图像处理应用奠定了基础。如有疑问,请参考Rockchip官方文档或社区论坛。