Line 29: |
Line 29: |
| ===Firmeware Upgrade=== | | ===Firmeware Upgrade=== |
| | | |
− | ==== Prepare ==== | + | ====Prepare==== |
| | | |
| *Cross-compiling Toolchain | | *Cross-compiling Toolchain |
Line 124: |
Line 124: |
| =====Build kernel===== | | =====Build kernel===== |
| | | |
− | *patch code | + | *patch code |
| | | |
| <code>cp $RELEASE_PACK_DIR/sources/kernel/veye327/* $NVIDIA_PATH/drivers/media/i2c/</code> | | <code>cp $RELEASE_PACK_DIR/sources/kernel/veye327/* $NVIDIA_PATH/drivers/media/i2c/</code> |
Line 130: |
Line 130: |
| <code>cp $RELEASE_PACK_DIR/sources/kernel/kernel_veye327_config $L4T_DIR/sources/kernel/kernel-4.9/arch/arm64/configs/tegra_veye327_defconfig</code> | | <code>cp $RELEASE_PACK_DIR/sources/kernel/kernel_veye327_config $L4T_DIR/sources/kernel/kernel-4.9/arch/arm64/configs/tegra_veye327_defconfig</code> |
| | | |
− | *build | + | *build |
| | | |
| <code>cd $L4T_DIR/sources/kernel/kernel-4.9/</code> | | <code>cd $L4T_DIR/sources/kernel/kernel-4.9/</code> |
Line 173: |
Line 173: |
| Power off after flashing finished. | | Power off after flashing finished. |
| ===Applications and Test=== | | ===Applications and Test=== |
| + | |
| + | ==== Check system status ==== |
| + | The steps to verify the setup before testing Gstreamer pipelines are as follows: |
| + | |
| + | 1. Run the following commands to check the Gstreamer-1.0 version. |
| + | |
| + | <code>$ gst-inspect-1.0 --version</code> |
| + | |
| + | <code>gst-inspect-1.0 version 1.14.4</code> |
| + | |
| + | <code>GStreamer 1.14.4</code> |
| + | |
| + | Note: Make sure that VEYE-MIPI-290/327 is connected and the required driversare loaded. |
| + | |
| + | During booting, the module drivers for VEYE-MIPI-290/327 will be loaded automatically in the Jetson Nano™ development kit. |
| + | |
| + | 2. Run the following command to confirm whether the camera is initialized. |
| + | |
| + | <code>dmesg | grep “veye327”</code> |
| + | |
| + | The output message appears as shown below. |
| + | |
| + | <code>subdev veye327 6-003b bound</code> |
| + | |
| + | The output message indicates that the camera is initialized properly. |
| + | |
| + | 3. Run the following command to check the presence of video node. |
| + | |
| + | <u><code>ls /dev/video0</code></u> |
| + | |
| + | The output message appears as shown below. |
| + | |
| + | <code>video0</code> |
| + | |
| ====Video Stream Toolkits Manual==== | | ====Video Stream Toolkits Manual==== |
| + | =====Gstreamer Usage===== |
| + | |
| + | *Preview FHD(HW accelerated) |
| + | |
| + | <code>gst-launch-1.0 v4l2src ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nvoverlaysink sync=false</code> |
| + | |
| + | *Record FHD in H.264 format to a video file(HW accelerated) |
| + | |
| + | <code>gst-launch-1.0 v4l2src ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! omxh264enc qp-range=20,20:20,20:-1,-1 ! matroskamux ! queue ! filesink location=videoname.mkv</code> |
| + | |
| + | *Playback of saved video file (HW accelerated) |
| + | |
| + | <code>gst-launch-1.0 filesrc location=videoname.mkv ! matroskademux ! h264parse ! omxh264dec ! nvoverlaysink</code> |
| + | |
| + | *Capturing FHD still image |
| + | |
| + | <code>gst-launch-1.0 v4l2src num-buffers=1 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080" ! jpegenc ! filesink location=jpgname.jpg</code> |
| ====Video Control Toolkits Manual==== | | ====Video Control Toolkits Manual==== |
| + | Jetson Nano use i2c-6 as camera control bus. |
| + | |
| + | <code>cd $L4T_DIR/jetson_nano/i2c_cmd/bin</code> |
| + | |
| + | Video Control Toolkits Manual : [[VEYE-MIPI-290/327 i2c/|VEYE-MIPI-290/327 i2c]] |
| + | ===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. |