Changes

Jump to navigation Jump to search
no edit summary
Line 1: Line 1:  
[[CS-MIPI-IMX307 for Jetson Nano/zh|查看中文]]
 
[[CS-MIPI-IMX307 for Jetson Nano/zh|查看中文]]
   −
<big><big><big><big>How to use CS-MIPI-IMX307 camera module on NVIDIA Jetson Nano</big></big></big></big>
+
<big><big><big><big>How to use CS-MIPI-X camera module on NVIDIA Jetson Nano</big></big></big></big>
 
===Overview===
 
===Overview===
This guide shows how to connect CS-MIPI-IMX307 to Jetson Nano.Jetson SDK Version is(Jetpack4.2.2,L4T r32.2.1)and(Jetpack4.3,L4Tr32.3.1).. We provide two ways to do so: '''Prebuilt Binaries''' or '''Source Code. Yes, It's Open Source!'''
+
This guide shows how to connect CS-MIPI-X to Jetson Nano.Jetson SDK Version is(Jetpack4.2.2,L4T r32.2.1)and(Jetpack4.3,L4Tr32.3.1).. We provide two ways to do so: '''Prebuilt Binaries''' or '''Source Code. Yes, It's Open Source!'''
   −
CS-MIPI-IMX307 is STARVIS camera module with ISP functions build in. It output UYVY data using MIPI-CSI2,1080p@30fps mode, 720p_crop@60fps mode and VGA@130fps. We provide '''V4L2 interface''' for video streaming apps , and  '''Video Control Toolkits (which is Shell Script)''' to control the camera module directly.
+
CS-MIPI-IMX307 is STARVIS camera module with ISP functions build in. It output UYVY data using MIPI-CSI2,1080p@30fps mode, 720p_crop@60fps mode and VGA@130fps.  
 +
 
 +
CS-MIPI-SC132 is global shutter camera module with ISP functions build in. It output UYVY data using MIPI-CSI2,support mulity video format and trigger mode.
 +
 
 +
We provide '''V4L2 interface''' for video streaming apps , and  '''Video Control Toolkits (which is Shell Script)''' to control the camera module directly.
    
The new version of Jetson Nano (B01) is supported.
 
The new version of Jetson Nano (B01) is supported.
 
===Hardware Setup===
 
===Hardware Setup===
Jetson Nano's CSI2 interface is compatible with CS-MIPI-IMX307. In addition,It need a 5V power.
+
Jetson Nano's CSI2 interface is compatible with CS-MIPI-X. It support 5V power or 3.3V power mode. [[Power supply mode switching|power switching]].
 
[[File:Cs mipi imx307 jetson nao.JPG|alt=|center|thumb|600x600px|Connect CS-MIPI-IMX307 to Jetson Nano]]
 
[[File:Cs mipi imx307 jetson nao.JPG|alt=|center|thumb|600x600px|Connect CS-MIPI-IMX307 to Jetson Nano]]
 
[[File:Jetson nano pwr connect.jpg|center|thumb|600x600px|Jetson Nano power wire|alt=]]
 
[[File:Jetson nano pwr connect.jpg|center|thumb|600x600px|Jetson Nano power wire|alt=]]
Line 124: Line 128:     
<code>sudo cp Image $L4T_DIR/kernel/ -f</code>
 
<code>sudo cp Image $L4T_DIR/kernel/ -f</code>
 +
 +
* CS-MIPI-IMX307
    
<code>sudo cp $RELEASE_PACK_DIR/Nano/JetPack_4.3_Linux_P3448/dts\ dtb/CS-MIPI-IMX307/tegra210-p3448-0000-p3449-0000-a02.dtb $L4T_DIR/kernel/dtb/ -f</code>
 
<code>sudo cp $RELEASE_PACK_DIR/Nano/JetPack_4.3_Linux_P3448/dts\ dtb/CS-MIPI-IMX307/tegra210-p3448-0000-p3449-0000-a02.dtb $L4T_DIR/kernel/dtb/ -f</code>
    
<code>sudo cp $RELEASE_PACK_DIR/Nano/JetPack_4.3_Linux_P3448/dts\ dtb/CS-MIPI-IMX307/tegra210-p3448-0000-p3449-0000-b00.dtb $L4T_DIR/kernel/dtb/ -f</code>
 
<code>sudo cp $RELEASE_PACK_DIR/Nano/JetPack_4.3_Linux_P3448/dts\ dtb/CS-MIPI-IMX307/tegra210-p3448-0000-p3449-0000-b00.dtb $L4T_DIR/kernel/dtb/ -f</code>
 +
 +
* CS-MIPI-SC132
 +
 +
<code>sudo cp $RELEASE_PACK_DIR/Nano/JetPack_4.3_Linux_P3448/dts\ dtb/CS-MIPI-SC132/tegra210-p3448-0000-p3449-0000-a02.dtb $L4T_DIR/kernel/dtb/ -f</code>
 +
 +
<code>sudo cp $RELEASE_PACK_DIR/Nano/JetPack_4.3_Linux_P3448/dts\ dtb/CS-MIPI-SC132/tegra210-p3448-0000-p3449-0000-b00.dtb $L4T_DIR/kernel/dtb/ -f</code>
    
<code>cd $L4T_DIR</code>
 
<code>cd $L4T_DIR</code>
Line 170: Line 182:  
*patch code
 
*patch code
   −
<code>cp $RELEASE_PACK_DIR/drivers_source/cs_imx307\ veye327/* $NVIDIA_PATH/drivers/media/i2c/</code>
+
<code>cp $RELEASE_PACK_DIR/drivers_source/cam_drv_src/* $NVIDIA_PATH/drivers/media/i2c/</code>
    
''- r32.2.1''
 
''- r32.2.1''
   −
<code>cp $RELEASE_PACK_DIR/drivers_source/kernel_csimx307veye327_config_32.2.1 $L4T_DIR/sources/kernel/kernel-4.9/arch/arm64/configs/tegra_csimx307veye327_defconfig</code>
+
<code>cp $RELEASE_PACK_DIR/drivers_source/kernel_veyecam_config_32.2.1 $L4T_DIR/sources/kernel/kernel-4.9/arch/arm64/configs/tegra_veyecam_defconfig</code>
    
''- r32.3.1''
 
''- r32.3.1''
   −
<code>cp $RELEASE_PACK_DIR/drivers_source/kernel_csimx307veye327_config_32.3.1 $L4T_DIR/sources/kernel/kernel-4.9/arch/arm64/configs/tegra_csimx307veye327_defconfig</code>
+
<code>cp $RELEASE_PACK_DIR/drivers_source/kernel_veyecam_config_32.3.1 $L4T_DIR/sources/kernel/kernel-4.9/arch/arm64/configs/tegra_veyecam_defconfig</code>
    
*build
 
*build
Line 184: Line 196:  
<code>cd $L4T_DIR/sources/kernel/kernel-4.9/</code>
 
<code>cd $L4T_DIR/sources/kernel/kernel-4.9/</code>
   −
<code>make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_csimx307veye327_defconfig</code>
+
<code>make ARCH=arm64 O=$TEGRA_KERNEL_OUT tegra_veyecam_defconfig</code>
    
<code>make ARCH=arm64 O=$TEGRA_KERNEL_OUT Image -j4</code>
 
<code>make ARCH=arm64 O=$TEGRA_KERNEL_OUT Image -j4</code>
Line 206: Line 218:     
<code>cp $RELEASE_PACK_DIR/Nano/JetPack_4.3_Linux_P3448/dts\ dtb/common/t210/* -r $NANO_DTS_PATH/</code>
 
<code>cp $RELEASE_PACK_DIR/Nano/JetPack_4.3_Linux_P3448/dts\ dtb/common/t210/* -r $NANO_DTS_PATH/</code>
 +
 +
* CS-MIPI-IMX307
    
<code>cp $RELEASE_PACK_DIR/Nano/JetPack_4.3_Linux_P3448/dts\ dtb/CS-MIPI-IMX307/tegra210-porg-plugin-manager.dtsi -r $NANO_DTS_PATH/porg/kernel-dts/porg-plugin-manager</code>
 
<code>cp $RELEASE_PACK_DIR/Nano/JetPack_4.3_Linux_P3448/dts\ dtb/CS-MIPI-IMX307/tegra210-porg-plugin-manager.dtsi -r $NANO_DTS_PATH/porg/kernel-dts/porg-plugin-manager</code>
 +
 +
* CS-MIPI-SC132
 +
 +
<code>cp $RELEASE_PACK_DIR/Nano/JetPack_4.3_Linux_P3448/dts\ dtb/CS-MIPI-SC132/tegra210-porg-plugin-manager.dtsi -r $NANO_DTS_PATH/porg/kernel-dts/porg-plugin-manager</code>
    
*build
 
*build
Line 242: Line 260:  
<code>GStreamer 1.14.4</code>
 
<code>GStreamer 1.14.4</code>
   −
Note: Make sure that CS-MIPI-IMX307 is connected and the required driversare loaded.
+
Note: Make sure that CS-MIPI-X is connected and the required driversare loaded.
   −
During booting, the module drivers for CS-MIPI-IMX307 will be loaded automatically in the Jetson Nano™ development kit.
+
During booting, the module drivers for CS-MIPI-X will be loaded automatically in the Jetson Nano™ development kit.
    
2. Run the following command to confirm whether the camera is initialized.
 
2. Run the following command to confirm whether the camera is initialized.
   −
<code>dmesg | grep csx307</code>
+
*For CS-MIPI-IMX307
   −
The output message appears as shown below.
+
<code>dmesg | grep csx307</code>  
 +
 
 +
The output message appears as shown below.
 +
 
 +
<code>Detected CS307 sensor</code>
 +
 
 +
<code>subdev csimx307 X-003b bound</code>
 +
 
 +
*For CS-MIPI-SC132
 +
 
 +
<code>dmesg | grep cssc132</code>  
   −
<code>subdev csx307 6/7/8-003b bound</code>
+
The output message appears as shown below.:
   −
The output message indicates that the camera is initialized properly.
+
<code>subdev cssc132 X-003b bound</code>
   −
3. Run the following command to check the presence of video node.
+
*Run the following command to check the presence of video node.
   −
<u><code>ls /dev/video*</code></u>
+
<code>ls /dev/video*</code>
    
The output message appears as shown below.
 
The output message appears as shown below.
Line 273: Line 301:     
<code>gst-launch-1.0 v4l2src ! "video/x-raw,format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nvoverlaysink sync=false</code>
 
<code>gst-launch-1.0 v4l2src ! "video/x-raw,format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nvoverlaysink sync=false</code>
 +
 +
*Preview 1280*1080@45 (CS-MIPI-SC132,HW accelerated)
 +
 +
<code>gst-launch-1.0 v4l2src ! "video/x-raw,format=(string)UYVY, width=(int)1280, height=(int)1080, framerate=(fraction)45/1" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nvoverlaysink sync=false</code>
    
*Preview 640*480@130fps(HW accelerated)
 
*Preview 640*480@130fps(HW accelerated)
Line 310: Line 342:  
<code>cd $RELEASE_PACK_DIR/i2c_cmd/bin</code>
 
<code>cd $RELEASE_PACK_DIR/i2c_cmd/bin</code>
   −
Video Control Toolkits Manual : [[CS-MIPI-X i2c|CS-MIPI-IMX307 i2c]]
+
Video Control Toolkits Manual : [[CS-MIPI-X i2c|CS-MIPI-X i2c]]
 
===Others===
 
===Others===
 
This article and the source code are still in the process of improving. If you have any suggestions for improvement, you are welcome to email xumm#csoneplus.com.
 
This article and the source code are still in the process of improving. If you have any suggestions for improvement, you are welcome to email xumm#csoneplus.com.
    
<br />
 
<br />

Navigation menu