littlebot
Published on 2025-04-10 / 0 Visits
0

【源码】基于Linux系统的PIRT1280摄像头驱动项目

项目简介

本项目是基于Linux系统开发的,用于驱动特定的PIRT1280摄像头接口设备。项目包含与两个PRU处理器通信的内核模块、设备树配置、固件以及测试脚本。

项目的主要特性和功能

  1. 内核模块:名为prucam的Linux内核模块,作为与PRU处理器通信的接口,注册为misc设备,可管理设备资源的初始化与释放,支持自动加载和卸载。
  2. 设备树配置:通过设备树描述硬件结构和配置信息,帮助内核识别并配置硬件设备,配置了PRU处理器的中断信息和其他相关资源。
  3. PRU固件:用于PRU处理器的二进制程序,负责处理摄像头的数据传输和图像处理任务,包含两个PRU处理器的代码。
  4. 测试脚本:提供测试脚本,用于检验内核模块和PRU固件的功能,可捕获图像并保存为PNG格式文件,还提供图像数据处理的辅助函数。

安装使用步骤(假设用户已经下载了本项目的源码文件)

1. 环境准备

确保系统安装了Linux内核开发环境、交叉编译工具链及相关依赖库。Debian系统可使用apt安装必要依赖包。

2. 设备树配置操作

安装依赖

bash sudo apt install device-tree-compiler

编译dtbo

bash make -C src/device_tree_overlay

安装dtbo

bash sudo make -C src/device_tree_overlay install

编辑 /boot/uEnv.txt

  • #dtb_overlay=<file8>.dtbo 改为 dtb_overlay=/lib/firmware/cfc-00A0.dtbo
  • 确保正确的pru rproc uboot_overlay_pru= 行未被注释(取决于内核版本)。
  • 确保 #enable_uboot_cap_universal= 行被注释。

重启系统

bash sudo reboot

3. PRU固件操作

安装依赖

bash sudo apt install ti-pru-cgt-v2.3 ti-pru-software-v6.0

编译二进制文件

bash make

安装二进制文件

bash sudo make install

4. 内核模块操作

安装内核头文件

bash sudo apt-get install linux-headers-`uname -r`

构建内核模块

bash make -C src/kernel_module clean all

插入内核模块

bash sudo insmod src/kernel_module/prucam.ko

移除内核模块(可选)

bash sudo rmmod prucam

5. 测试项目功能

bash cd scripts pip install -r requirements.txt sudo./capture.py 运行脚本后,会生成 img.png 文件。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】