Changes

Jump to navigation Jump to search
Line 26: Line 26:  
|完成
 
|完成
 
|}
 
|}
 +
此外,在ubuntu系统下,已经调通Fpdlink连接模式的驱动。
 +
 
=== 硬件准备及安装 ===
 
=== 硬件准备及安装 ===
 
VEYE系列和CS系列相机提供了兼容树莓派的15Pin端子,需要使用一个[[ADP-Tfirefly]]转接板转接到ROC-RK35xx-PC主板上。
 
VEYE系列和CS系列相机提供了兼容树莓派的15Pin端子,需要使用一个[[ADP-Tfirefly]]转接板转接到ROC-RK35xx-PC主板上。
Line 41: Line 43:  
==== 整体连接图 ====
 
==== 整体连接图 ====
 
[[File:VEYE-MIPI-327S-ADP-Tfirefly 04.jpg|center|thumb|800x800px|Firefly Board and VEYE camera overall]]
 
[[File:VEYE-MIPI-327S-ADP-Tfirefly 04.jpg|center|thumb|800x800px|Firefly Board and VEYE camera overall]]
 +
 +
==== Fpdlink-III摄像机连接示意图 ====
 +
[[File:FPDLINK Camera to RK3588S.png|center|thumb|800x800px|FPDLINK Camera to RK3588S]]
 
<br />
 
<br />
   
=== github库介绍 ===
 
=== github库介绍 ===
 
https://github.com/veyeimaging/rk35xx_firefly
 
https://github.com/veyeimaging/rk35xx_firefly
Line 56: Line 60:  
=== Ubuntu系统 ===
 
=== Ubuntu系统 ===
   −
==== 更新Firefly主板的Ubuntu系统 ====
+
==== 更新Firefly主板的Ubuntu系统(RK356x) ====
    
===== 概述 =====
 
===== 概述 =====
本章节描述怎样更新RK35xx系统以支持我们的摄像头模组。
+
本章节描述怎样更新RK356x系统以支持我们的摄像头模组。
   −
对于一部分的版本,我们提供了deb安装包,可以直接安装。未提供安装包的版本,需要参考后面的章节,从驱动源码进行编译。
+
对于kernel4.19的版本,我们提供了deb安装包,可以直接安装。对于kernel5.10的版本,我们提供了烧写镜像。
 +
 
 +
未提供安装包的版本,需要参考后面的章节,从驱动源码进行编译。
    
尽管我们现在以Ubuntu系统为例进行介绍,其他linux发行版也可以参考本文。
 
尽管我们现在以Ubuntu系统为例进行介绍,其他linux发行版也可以参考本文。
   −
===== 烧写Firefly官方标准系统 =====
+
===== 对于kernel5.10的版本 =====
 +
对于ROC-RK3588S-PC,我们提供了发布系统的烧写镜像。
 +
 
 +
下载[https://github.com/veyeimaging/rk356x_firefly/releases/ https://github.com/veyeimaging/rk35xx_firefly/releases/]中对应你使用的摄像机型号的最新镜像。
 +
 
 +
参考Firefly[https://wiki.t-firefly.com/zh_CN/ROC-RK3588S-PC/upgrade_bootmode.html 文档],烧写系统。
 +
 
 +
===== 对于kernel4.19的版本 =====
 +
 
 +
====== 烧写Firefly官方标准系统 ======
 
参考Firefly[https://wiki.t-firefly.com/zh_CN/ROC-RK3566-PC/01-bootmode.html 文档],烧写标准系统。
 
参考Firefly[https://wiki.t-firefly.com/zh_CN/ROC-RK3566-PC/01-bootmode.html 文档],烧写标准系统。
   −
===== 使用编译好的debain安装包 =====
+
====== 使用编译好的debain安装包 ======
 
在RK35xx板子上,执行:
 
在RK35xx板子上,执行:
   −
下载<nowiki/>https://github.com/veyeimaging/rk356x_firefly/releases/<nowiki/>中最新的rk356x_firefly_ubuntu.tar.gz。
+
下载[https://github.com/veyeimaging/rk356x_firefly/releases/ https://github.com/veyeimaging/rk35xx_firefly/releases/]中最新的rk356x_firefly_ubuntu.tar.gz。
    
<code>tar -xavf rk356x_firefly.tar.gz</code>
 
<code>tar -xavf rk356x_firefly.tar.gz</code>
   −
<code>cd cd rk356x_firefly/released_images/ROC-RK3566-PC/ubuntu/</code>
+
<code>cd rk356x_firefly/released_images/ROC-RK3566-PC/ubuntu/</code>
    
<code>sudo dpkg -i linux-image-4.19.232_4.19.232-21_arm64.deb</code>
 
<code>sudo dpkg -i linux-image-4.19.232_4.19.232-21_arm64.deb</code>
    
如果版本不匹配,需要从源代码进行编译。
 
如果版本不匹配,需要从源代码进行编译。
 +
 +
==== 更新Firefly主板的Ubuntu系统(RK358x) ====
 +
对于ROC-RK3588S-PC,我们提供了发布系统的烧写镜像。
 +
 +
下载[https://github.com/veyeimaging/rk356x_firefly/releases/ https://github.com/veyeimaging/rk35xx_firefly/releases/]中对应你使用的摄像机型号的最新镜像。
 +
 +
参考Firefly[https://wiki.t-firefly.com/zh_CN/ROC-RK3588S-PC/upgrade_bootmode.html 文档],烧写系统。
    
==== 系统状态检测 ====
 
==== 系统状态检测 ====
Line 102: Line 124:  
<code>video0</code>
 
<code>video0</code>
   −
正确识别摄像头之后,MIPI-CSI2接口的摄像头挂载到i2c-4,识别为/dev/video0。
+
正确识别摄像头之后,MIPI-CSI2接口的摄像头识别为/dev/video0。对于ROC-RK3566-PC,挂载在i2c-4;对于ROC-RK3588S-PC,挂载在i2c-7。
    
==== 应用范例 ====
 
==== 应用范例 ====
Line 113: Line 135:     
====== 抓取图片 ======
 
====== 抓取图片 ======
 +
<code>v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat='NV12' --stream-mmap --stream-count=100 --stream-to=nv12-1920x1080.yuv</code>
 +
 +
对于RK3566,还可以:
 +
 
<code>v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --stream-mmap --stream-count=1 --stream-to=uyvy-1920x1080.yuv</code>
 
<code>v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --stream-mmap --stream-count=1 --stream-to=uyvy-1920x1080.yuv</code>
  −
<code>v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat='NV12' --stream-mmap --stream-count=100 --stream-to=nv12-1920x1080.yuv</code>
      
播放图片
 
播放图片
Line 122: Line 146:     
====== 查看帧率 ======
 
====== 查看帧率 ======
<code>v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=UYVY --stream-mmap --stream-count=-1 --stream-to=/dev/null</code>
+
<code>v4l2-ctl --set-fmt-video=width=1920,height=1080,pixelformat=NV12 --stream-mmap --stream-count=-1 --stream-to=/dev/null</code>
    
===== yavta示例 =====
 
===== yavta示例 =====
Line 129: Line 153:  
<code>cd yavta;make</code>
 
<code>cd yavta;make</code>
   −
<code>./yavta -c1 -Fuyvy-1920x1080.yuv --skip 0 -f UYVY -s 1920x1080 /dev/video0</code>
+
<code>./yavta -c1 -Fnv12-1920x1080.yuv --skip 0 -f NV12 -s 1920x1080 /dev/video0</code>
    
===== gstreamer应用范例 =====
 
===== gstreamer应用范例 =====
Line 143: Line 167:  
此外,Firefly的这个[https://wiki.t-firefly.com/zh_CN/Firefly-Linux-Guide/demo_OpenCV_support.html 页面]也有一定的参考价值。
 
此外,Firefly的这个[https://wiki.t-firefly.com/zh_CN/Firefly-Linux-Guide/demo_OpenCV_support.html 页面]也有一定的参考价值。
 
==== 从源码编译驱动和dtb ====
 
==== 从源码编译驱动和dtb ====
https://github.com/veyeimaging/rk356x_firefly/tree/main/linux/drivers
+
 
 +
* RK356x
 +
 
 +
https://github.com/veyeimaging/rk35xx_firefly/tree/main/linux/drivers/rk356x
 +
 
 +
* RK358x
 +
 
 +
https://github.com/veyeimaging/rk35xx_firefly/tree/main/linux/drivers/rk358x
    
=== i2c脚本使用说明 ===
 
=== i2c脚本使用说明 ===
 
由于我们的摄像头参数自由度比较高,并没有采用V4L2参数进行控制,而是使用脚本进行参数配置。
 
由于我们的摄像头参数自由度比较高,并没有采用V4L2参数进行控制,而是使用脚本进行参数配置。
   −
https://github.com/veyeimaging/rk356x_firefly/tree/main/i2c_cmd
+
https://github.com/veyeimaging/rk35xx_firefly/tree/main/i2c_cmd
    
注意脚本使用中,采用-b [i2cbus]参数来指明摄像头使用的i2c bus。
 
注意脚本使用中,采用-b [i2cbus]参数来指明摄像头使用的i2c bus。
Line 159: Line 190:     
==== 更新Android系统 ====
 
==== 更新Android系统 ====
下载<nowiki/>https://github.com/veyeimaging/rk356x_firefly/releases/<nowiki/>中最新的rk356x_firefly_android.tar.gz。
+
 
 +
* ROC-RK3566-PC
 +
 
 +
下载<nowiki/>https://github.com/veyeimaging/rk35xx_firefly/releases/<nowiki/>中最新的rk356x_firefly_android.tar.gz。
 +
 
 +
* ROC-RK3588S-PC
 +
 
 +
下载<nowiki/>https://github.com/veyeimaging/rk35xx_firefly/releases/<nowiki/>中最新的rk358x_firefly_android.tar.gz。
    
参考firefly的文档烧写系统。
 
参考firefly的文档烧写系统。
Line 190: Line 228:     
==== 从源码编译系统 ====
 
==== 从源码编译系统 ====
https://github.com/veyeimaging/rk356x_firefly/tree/main/android/drivers
+
 
 +
* RK356x
 +
 
 +
https://github.com/veyeimaging/rk35xx_firefly/tree/main/android/rk356x/drivers
 +
 
 +
* RK358x
 +
 
 +
https://github.com/veyeimaging/rk35xx_firefly/tree/main/android/rk358x/drivers
 +
 
 +
=== 已知问题 ===
 +
 
 +
# RK3588的VICAP模块不支持输出UYVY格式,因此请使用NV12格式。
    
=== 参考资料 ===
 
=== 参考资料 ===
Line 197: Line 246:     
https://wiki.t-firefly.com/zh_CN/ROC-RK3566-PC/
 
https://wiki.t-firefly.com/zh_CN/ROC-RK3566-PC/
 +
 +
*ROC-RK3588S-PC 手册
 +
 +
https://wiki.t-firefly.com/zh_CN/ROC-RK3588S-PC/
    
* Firefly Linux 开发指南
 
* Firefly Linux 开发指南
Line 203: Line 256:     
=== 本文修改记录 ===
 
=== 本文修改记录 ===
 +
 +
* 2024-04-17
 +
 +
Support kernel v5.10 on RK3566.
 +
 +
* 2023-05-22
 +
 +
在ubuntu系统下,已经调通Fpdlink连接模式的驱动。
 +
 +
*2022-12-28
 +
 +
增加对RK3588的支持。
    
* 2022-12-06
 
* 2022-12-06

Navigation menu