Changes

Jump to navigation Jump to search
Line 119: Line 119:  
应当有类似下面的提示:
 
应当有类似下面的提示:
   −
<code>mvcam 7-003b: camera is:MV-MIPI-IMX296M</code>
+
<code>mvcam 2-003b: camera is:MV-MIPI-IMX296M</code>
   −
<code>mvcam 7-003b: firmware version: 0x1290133</code>
+
<code>mvcam 2-003b: firmware version: 0x1290133</code>
    
可以看到识别到当前的摄像机模组的型号,版本号。
 
可以看到识别到当前的摄像机模组的型号,版本号。
   −
在ROC-RK3588S-PC上,摄像机挂载在i2c-7, i2c地址是0x3b。
+
正确识别摄像头之后,MIPI-CSI2接口的摄像头识别为/dev/video0。对于Radxa zero 3W,相机挂载在i2c-2。
 
  −
在ROC-RK3566-PC上,摄像机挂载在i2c-4。
      
*执行如下命令检查video0设备节点
 
*执行如下命令检查video0设备节点
Line 149: Line 147:  
以MV-MIPI-IMX296M为例:
 
以MV-MIPI-IMX296M为例:
   −
<code>- entity 63: m00_b_mvcam 7-003b (1 pad, 1 link)</code>
+
<code>- entity 63: m00_b_mvcam 2-003b (1 pad, 1 link)</code>
    
<code>             type V4L2 subdev subtype Sensor flags 0</code>
 
<code>             type V4L2 subdev subtype Sensor flags 0</code>
Line 163: Line 161:  
可以看到:
 
可以看到:
   −
*该Entity完整的名称是: <code>m00_b_mvcam 7-003b</code>。(在ROC-RK3566-PC上该Entity名称是<code>m00_b_mvcam 4-003b</code>)
+
*该Entity完整的名称是: <code>m00_b_mvcam 2-003b</code>
 
*它是一个 V4L2 subdev (Sub-Device) Sensor。
 
*它是一个 V4L2 subdev (Sub-Device) Sensor。
 
*它对应的节点是 <code>/dev/v4l-subdev2</code> ,应用程序(如<code>v4l2-ctl</code>)可以打开它,并进行配置。
 
*它对应的节点是 <code>/dev/v4l-subdev2</code> ,应用程序(如<code>v4l2-ctl</code>)可以打开它,并进行配置。
Line 196: Line 194:  
|}
 
|}
 
===raw图片格式说明===
 
===raw图片格式说明===
RK3588的VICAP模块支持两种数据保存格式,Compact和Noncompact RAW。可以通过RKCIF的RKCIF_CMD_SET_CSI_MEMORY_MODE ioctl指令修改模式。默认情况下,输出的是Compact RAW格式。[[File:Compact raw and noncompact raw of rk3588 vicap.png|center|thumb|800x800px|Compact raw and noncompact raw of rk3588 VICAP|link=http://wiki.veye.cc/index.php/File:Compact_raw_and_noncompact_raw_of_rk3588_vicap.png]]<br />
+
RK35xx的VICAP模块支持两种数据保存格式,Compact和Noncompact RAW。可以通过RKCIF的RKCIF_CMD_SET_CSI_MEMORY_MODE ioctl指令修改模式。默认情况下,输出的是Compact RAW格式。[[File:Compact raw and noncompact raw of rk3588 vicap.png|center|thumb|800x800px|Compact raw and noncompact raw of rk3588 VICAP|link=http://wiki.veye.cc/index.php/File:Compact_raw_and_noncompact_raw_of_rk3588_vicap.png]]<br />
 
====具有填充位的图片格式(Noncompact RAW)====
 
====具有填充位的图片格式(Noncompact RAW)====
 
对于10bit深度、12bit深度的像素数据,总是使用两个字节来存储一个像素。这种存储方式方便软件处理,缺点是空间占用较大。根据数据有效数据保存在高位还是低位,又分为high align和low align两种。
 
对于10bit深度、12bit深度的像素数据,总是使用两个字节来存储一个像素。这种存储方式方便软件处理,缺点是空间占用较大。根据数据有效数据保存在高位还是低位,又分为high align和low align两种。
Line 233: Line 231:  
根据主板型号,配置I2C_BUS全局变量。
 
根据主板型号,配置I2C_BUS全局变量。
   −
*ROC-RK3588S-PC
+
*Radxa Zero 3W
 
  −
<code>export I2C_BUS=7</code>
  −
 
  −
*ROC-RK3566-PC
     −
<code>export I2C_BUS=4</code>
+
<code>export I2C_BUS=2</code>
    
为了后面描述方便,此处根据sensor尺寸,配置全局变量。
 
为了后面描述方便,此处根据sensor尺寸,配置全局变量。
Line 373: Line 367:  
<code>media-ctl -d /dev/media0 --set-v4l2 '"m00_b_mvcam '"$I2C_BUS"'-003b":0[fmt:Y8_1X8/'"$WIDTH"'x'"$HEIGHT"'@1/'"$FPS"']'</code>
 
<code>media-ctl -d /dev/media0 --set-v4l2 '"m00_b_mvcam '"$I2C_BUS"'-003b":0[fmt:Y8_1X8/'"$WIDTH"'x'"$HEIGHT"'@1/'"$FPS"']'</code>
   −
其中:<code>"m00_b_mvcam 7-003b"</code>指的相机的<code>entity</code>完整名称,<code>Y8_1X8</code>为<code>mbus-code</code>,<code>'"$WIDTH"'x'"$HEIGHT"'</code>指明了分辨率,<code>1/'"$FPS"'</code>指明了帧率。
+
其中:<code>"m00_b_mvcam 2-003b"</code>指的相机的<code>entity</code>完整名称,<code>Y8_1X8</code>为<code>mbus-code</code>,<code>'"$WIDTH"'x'"$HEIGHT"'</code>指明了分辨率,<code>1/'"$FPS"'</code>指明了帧率。
    
此处的width和height配合v4l2-ctl命令的<code>roi_x</code>和<code>roi_y</code>共同组成了ROI参数。
 
此处的width和height配合v4l2-ctl命令的<code>roi_x</code>和<code>roi_y</code>共同组成了ROI参数。
Line 379: Line 373:  
比如,对于MV-MIPI-IMX296M,这个命令经过变量替换后的结果是:
 
比如,对于MV-MIPI-IMX296M,这个命令经过变量替换后的结果是:
   −
<code>media-ctl -d /dev/media0 --set-v4l2 '"m00_b_mvcam 7-003b":0[fmt:Y8_1X8/1456x1088@1/60 field:none]'</code>
+
<code>media-ctl -d /dev/media0 --set-v4l2 '"m00_b_mvcam 2-003b":0[fmt:Y8_1X8/1456x1088@1/60 field:none]'</code>
    
不仅可以在一个命令中同时配置数据格式,分辨率,帧率,也可以单独修改某一项或某几项。
 
不仅可以在一个命令中同时配置数据格式,分辨率,帧率,也可以单独修改某一项或某几项。
Line 422: Line 416:  
<code>sudo apt install python3-opencv</code>
 
<code>sudo apt install python3-opencv</code>
   −
详见github上的[https://github.com/veyeimaging/rk356x_firefly/tree/main/linux/samples samples]目录。
+
详见github上的[https://github.com/veyeimaging/rk356x_radxa/tree/main/linux/samples samples]目录。
   −
<code>python ./v4l2dev_2_opencv_show_grey.py --width 1456 --height 1088 --fps 60 --i2c 7</code>
+
<code>python ./v4l2dev_2_opencv_show_grey.py --width 1456 --height 1088 --fps 60 --i2c 2</code>
 
=====gstreamer应用范例=====
 
=====gstreamer应用范例=====
 
为了方便进行安装和调试,MV系列相机提供了UYVY模式。UYVY模式支持的最大宽度为2880,使用如下命令可以进行实时预览。
 
为了方便进行安装和调试,MV系列相机提供了UYVY模式。UYVY模式支持的最大宽度为2880,使用如下命令可以进行实时预览。
Line 466: Line 460:     
[[mv_mipi_i2c.sh user guide]]
 
[[mv_mipi_i2c.sh user guide]]
===问题反馈===
+
===从源码编译驱动和dtb===
我们致力于为嵌入式平台的图像应用提供更丰富的可能性。因此,我们在嵌入式平台的软件基于开源的原则而进行。
+
 
 +
*RK356x
   −
如对我们现有软件有任何的问题、建议,欢迎提交到[http://forum.veye.cc/ 论坛:],或者给我们的技术人员发邮件xumm#csoneplus.com。
+
https://github.com/veyeimaging/rk35xx_radxa/tree/main/linux/drivers/rk356x
 
===参考资料===
 
===参考资料===
   −
*ROC-RK3588S-PC 手册
+
* Radxa Zero 3W Manual
   −
[https://wiki.t-firefly.com/zh_CN/ROC-RK3588S-PC/ https://wiki.t-Radxa.com/zh_CN/ROC-RK3588S-PC/]
+
https://docs.radxa.com/zero/zero3
===本文修改记录===
     −
*2024-04-17
+
*BSP toolkit
   −
支持 RK3566.
+
https://radxa-repo.github.io/bsp/
 
+
===本文修改记录===
*2024-03-10
  −
 
  −
增加新版本ADP-MV2的硬件连接的图片和说明。
  −
 
  −
*2023-08-30
  −
 
  −
增加对RAW-MIPI-IMX462M和RAW-MIPI-AR0234M的支持。
  −
 
  −
*2023-07-31
  −
 
  −
在ubuntu系统下,已经调通V-by-One连接的驱动。
     −
*2023-04-12
+
*2024-04-25
   −
第一个版本。
+
发布第一个版本。
 +
<br />

Navigation menu