ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

【Jetson】摄像头驱动移植流程记录

【Jetson】摄像头驱动移植流程记录

NVIDIA Jetson IMX477摄像头驱动移植调试记录(L4T 36.5.0)

一、概要

Jetson L4T36.5.0原生自带IMX477驱动可直接使用,本次调试并非开发传感器驱动,目的是走通Jetson 驱动交叉编译、设备树修改、dtbo部署、开机加载整套流程。

核心工作内容

  1. Ubuntu主机交叉编译自定义nv_imx477.ko内核模块
  2. 修改设备树dts文件,编译生成自定义dtbo设备树覆盖文件
  3. 修改extlinux.conf引导配置,开机加载自定义设备树
  4. 手动insmod加载驱动,通过V4L2校验摄像头识别状态

文件修改要点

1. 文件复制与重命名

在对应源码目录下,复制官方原生文件并改名,生成自定义文件:

  • 驱动源码目录:/Linux_for_Tegra/source/nvidia-oot/drivers/media/i2c/
    • 原文件:nv_imx477.c→ 自定义文件:test-nv_imx477.c
  • 设备树源码目录:/Linux_for_Tegra/source/hardware/nvidia/t23x/nv-public/overlay/
    • 原文件:tegra234-p3767-camera-p3768-imx477-A.dts→ 自定义文件:test-imx477-A.dts
    • 备注:-A对应CSI0接口、-C对应CSI1接口,按需选择对应文件改造
2. 核心兼容属性修改(驱动与设备树双向统一)

同步修改两处compatible兼容字符串,必须完全一致

  • 原生匹配字段:compatible = "ridgerun,imx477"
  • 自定义匹配字段:compatible = "test,imx477"
3. 修改同级 Makefile

分别修改自定义文件同级目录下的 Makefile,添加编译条目

  1. 驱动目录 Makefile
obj-m += test_nv_imx477.o
  1. 设备树目录 Makefile
dtbo-y += test-imx477-A.dtbo

二、编译环境搭建

1. 资源下载

适配版本:JetPack 6.2.2(L4T 36.5.0)

  1. BSP板级源码包:Driver Package (BSP) Sources
  2. 交叉编译工具链:Bootlin gcc 11.3 aarch64
  3. 源码解压至Ubuntu主机,进入Linux_for_Tegra/source目录,解压内部所有源码压缩包,缺失依赖会引发编译报错。
返回列表