项目简介
本项目是基于Linux系统开发的,用于驱动特定的PIRT1280摄像头接口设备。项目包含与两个PRU处理器通信的内核模块、设备树配置、固件以及测试脚本。
项目的主要特性和功能
- 内核模块:名为prucam的Linux内核模块,作为与PRU处理器通信的接口,注册为misc设备,可管理设备资源的初始化与释放,支持自动加载和卸载。
- 设备树配置:通过设备树描述硬件结构和配置信息,帮助内核识别并配置硬件设备,配置了PRU处理器的中断信息和其他相关资源。
- PRU固件:用于PRU处理器的二进制程序,负责处理摄像头的数据传输和图像处理任务,包含两个PRU处理器的代码。
- 测试脚本:提供测试脚本,用于检验内核模块和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】