Line 90: |
Line 90: |
| | | |
| 此外,在[https://github.com/veyeimaging/rk356x_radxa/releases releases]中,提供了编译好的linux系统镜像。 | | 此外,在[https://github.com/veyeimaging/rk356x_radxa/releases releases]中,提供了编译好的linux系统镜像。 |
− | ===更新ubuntu系统=== | + | ===更新主板的Radxa Debain系统=== |
− | 对于ROC-RK3566-PC和ROC-RK3588S-PC,我们提供了发布系统的烧写镜像。
| + | ====概述==== |
| + | 本章节描述怎样更新RK356x系统以支持我们的摄像头模组。我们提供了deb安装包,可以直接安装。 |
| + | ======烧写Radxa官方标准系统====== |
| + | 参考Radxa文档,烧写标准系统。 |
| + | ======使用编译好的debain安装包====== |
| + | 在RK35xx板子上,执行: |
| | | |
− | 下载[https://github.com/veyeimaging/rk356x_firefly/releases/ https://github.com/veyeimaging/rk35xx_Radxa/releases/]中最新的支持MV和RAW系列的镜像。 | + | 下载[https://github.com/veyeimaging/rk356x_radxa/releases/ https://github.com/veyeimaging/rk35xx_radxa/releases/]中最新的rk356x_radxa_zero3w.tar.gz。 |
| | | |
− | 参考Radxa文档([https://wiki.t-firefly.com/en/ROC-RK3588S-PC/upgrade_bootmode.html ROC-RK3588S-PC] [https://wiki.t-firefly.com/en/ROC-RK3566-PC/03-upgrade_firmware.html ROC-RK3566-PC]),烧写系统。
| + | <code>tar -xavf rk356x_radxa_zero3w.tar.gz</code> |
| + | |
| + | <code>cd rk356x_radxa_zero3w/released_images/mvcam</code> |
| + | |
| + | <code>sudo dpkg -i linux-headers-5.10.160-36-rk356x_5.10.160-36_arm64_mvcam.deb</code> |
| + | |
| + | <code>sudo dpkg -i linux-image-5.10.160-36-rk356x_5.10.160-36_arm64_mvcam.deb</code> |
| + | |
| + | <code>sudo reboot</code> |
| + | |
| + | 如果版本不匹配,需要从源代码进行编译。 |
| ===系统状态检测=== | | ===系统状态检测=== |
| ====是否正确识别到了相机==== | | ====是否正确识别到了相机==== |
Line 104: |
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 134: |
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 148: |
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 181: |
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 218: |
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 358: |
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 364: |
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 407: |
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 457: |
Line 466: |
| ===参考资料=== | | ===参考资料=== |
| | | |
− | *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 /> |