Changes

Jump to navigation Jump to search
Line 81: Line 81:  
<br />
 
<br />
 
[[File:ADP-N1-V2.0 XAVIER 6CAM.jpg|link=http://wiki.veye.cc/index.php/File:ADP-N1-V2.0%20XAVIER%206CAM.jpg|alt=Connect VEYE cameras to AGX Xavier|center|thumb|800x800px|Connect VEYE cameras to AGX Xavier]]
 
[[File:ADP-N1-V2.0 XAVIER 6CAM.jpg|link=http://wiki.veye.cc/index.php/File:ADP-N1-V2.0%20XAVIER%206CAM.jpg|alt=Connect VEYE cameras to AGX Xavier|center|thumb|800x800px|Connect VEYE cameras to AGX Xavier]]
<br />'''Be sure to screw the ADP adapter board to the bottom board.'''
+
<br />'''Be sure to screw the ADP adapter board to the bottom board to ensure that the adapter plate is installed flat.'''
 
====NVIDIA Nano ,TX2 NX and Xavier NX Devkit====
 
====NVIDIA Nano ,TX2 NX and Xavier NX Devkit====
 
The Xavier NX interface is compatible with raspberry pi and Jetson Nano. The connection mode is shown in figure:
 
The Xavier NX interface is compatible with raspberry pi and Jetson Nano. The connection mode is shown in figure:
Line 105: Line 105:     
The dtb can also be loaded dynamically as an overlay. Refer to the official nVidia Developer's Guide for NVIDIA® Jetson™ Linux for details.
 
The dtb can also be loaded dynamically as an overlay. Refer to the official nVidia Developer's Guide for NVIDIA® Jetson™ Linux for details.
 +
 +
* For MV series camera
 +
 +
For MV series modules, we have added features to Image in order to support extended data types and external trigger modes. So regardless of Jetpack version, you need to update Image.
 +
 +
Whether you need to update modules depends on Jetpack version.
    
====BSP package introduction====
 
====BSP package introduction====
Line 183: Line 189:  
The Image and dts of L4T 32.7.2 are identical to those of L4T 32.7.1, so you can directly use the contents of the L4T 32.7.1 related directory.
 
The Image and dts of L4T 32.7.2 are identical to those of L4T 32.7.1, so you can directly use the contents of the L4T 32.7.1 related directory.
   −
====== bug of L4T32.7.2 on Xavier ======
+
In addition, the upgrade requires updating cboot, please refer to the FAQ section.
For the Xavier series, there is a bug in the cboot of L4T32.7.2 that must be fixed before the upgrade can be done.
  −
 
  −
[https://elinux.org/Jetson/L4T/r32.7.x_patches <nowiki>[Cboot] Cboot in 32.7.2 fails to read extlinux.conf</nowiki>]
  −
 
  −
We compiled the correct version of cboot and put it [https://github.com/veyeimaging/nvidia_jetson_veye_bsp/tree/master/cboot_l4t_32.7.2 here].
  −
 
  −
After downloading, put it in Linux_for_Tegra/bootloader directory and execute the following command on PC to burn cboot.
  −
 
  −
*AGX Xavier
  −
 
  −
<code>sudo ./flash.sh -r -k cpu-bootloader jetson-xavier mmcblk0p1</code>
  −
 
  −
*Xavier NX
  −
 
  −
<code>sudo ./flash.sh -r -k cpu-bootloader jetson-xavier-nx-devkit mmcblk0p1</code>
   
=====Download the bsp package to the Jetson board=====
 
=====Download the bsp package to the Jetson board=====
 
On Jetson Board:
 
On Jetson Board:
Line 207: Line 198:     
<code>tar -xzvf nvidia_jetson_veye_bsp.tar.gz</code>
 
<code>tar -xzvf nvidia_jetson_veye_bsp.tar.gz</code>
=====Upgrade Image(For Jetpack4.x)=====
+
=====Upgrade Image(For Jetpack4.x or MV series cameras)=====
 
Backup old version Image
 
Backup old version Image
   Line 385: Line 376:     
====Are Image and DTB upgrade successful ?====
 
====Are Image and DTB upgrade successful ?====
  −
=====For Image=====
  −
<code>ls /sys/bus/i2c/drivers/</code>
  −
  −
There should have  veye327 veyecam csx307 cssc132 directory.
   
=====For DTB=====
 
=====For DTB=====
 
DTB varies from platform  and from camera module.
 
DTB varies from platform  and from camera module.
Line 423: Line 409:  
You should be able to find the camera model you used.
 
You should be able to find the camera model you used.
    +
=====For Image=====
 +
<code>ls /sys/bus/i2c/drivers/</code>
 +
 +
When installing the camera correctly, the relevant directory for the camera should exist, such as veyecam csx307 cssc132 mvcam, etc.
 
==== Protection against being overwritten by upgrades ====
 
==== Protection against being overwritten by upgrades ====
 
After making sure Image and dtb are successfully updated, please execute the following command to prevent kernel and dtb from being overwritten by update.
 
After making sure Image and dtb are successfully updated, please execute the following command to prevent kernel and dtb from being overwritten by update.
Line 501: Line 491:     
In gstreamer command ,v4l2src and nvv4l2camerasrc has a param device=/dev/videoX to identify which camera to use.
 
In gstreamer command ,v4l2src and nvv4l2camerasrc has a param device=/dev/videoX to identify which camera to use.
=====Gstreamer Usage (Jetpack4.x)=====
+
=====Gstreamer Usage=====
    
*Preview FHD
 
*Preview FHD
   −
<code>gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! "video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nvoverlaysink sync=false</code>
+
<code>gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! "video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nv3dsink sync=false</code>
   −
<code>gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! "video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)NV12" ! nvoverlaysink sync=false</code>
+
<code>gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! "video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)NV12" ! nv3dsink sync=false</code>
   −
* Preview FHD(using xvimagesink sink)
+
* Preview FHD(using xvimagesink sink if supported)
    
<code>export DISPLAY=:0</code>
 
<code>export DISPLAY=:0</code>
Line 517: Line 507:  
*Preview 720p@60 (CS-MIPI-IMX307)
 
*Preview 720p@60 (CS-MIPI-IMX307)
   −
<code>gst-launch-1.0 nvv4l2camerasrc  ! "video/x-raw(memory:NVMM),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 nvv4l2camerasrc  ! "video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)1280, height=(int)720, framerate=(fraction)60/1" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nv3dsink sync=false</code>
    
*Preview 1280*1080@45 (CS-MIPI-SC132)
 
*Preview 1280*1080@45 (CS-MIPI-SC132)
   −
<code>gst-launch-1.0 nvv4l2camerasrc ! "video/x-raw(memory:NVMM),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>
+
<code>gst-launch-1.0 nvv4l2camerasrc ! "video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)1280, height=(int)1080, framerate=(fraction)45/1" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nv3dsink sync=false</code>
    
*Preview 640*480p@130 (CS-MIPI-IMX307)
 
*Preview 640*480p@130 (CS-MIPI-IMX307)
   −
<code>gst-launch-1.0 nvv4l2camerasrc ! "video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)640, height=(int)480, framerate=(fraction)130/1" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nvoverlaysink sync=false</code>
+
<code>gst-launch-1.0 nvv4l2camerasrc ! "video/x-raw(memory:NVMM),format=(string)UYVY, width=(int)640, height=(int)480, framerate=(fraction)130/1" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nv3dsink sync=false</code>
    
*Preview 2 cameras  1080p HD
 
*Preview 2 cameras  1080p HD
Line 535: Line 525:  
<code>CAPS="video/x-raw(memory:NVMM),format=(string)UYVY, width=1920, height=1080"</code>
 
<code>CAPS="video/x-raw(memory:NVMM),format=(string)UYVY, width=1920, height=1080"</code>
   −
<code>gst-launch-1.0 nvcompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=$WIDTH sink_0::height=$HEIGHT sink_1::xpos=$WIDTH sink_1::ypos=0 sink_1::width=$WIDTH sink_1::height=$HEIGHT ! nvoverlaysink nvv4l2camerasrc device=/dev/video0 ! $CAPS ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420"! comp. nvv4l2camerasrc  device=/dev/video1 ! $CAPS ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420"! comp.</code>
+
<code>gst-launch-1.0 nvcompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=$WIDTH sink_0::height=$HEIGHT sink_1::xpos=$WIDTH sink_1::ypos=0 sink_1::width=$WIDTH sink_1::height=$HEIGHT ! nv3dsink nvv4l2camerasrc device=/dev/video0 ! $CAPS ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420"! comp. nvv4l2camerasrc  device=/dev/video1 ! $CAPS ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420"! comp.</code>
    
*Record FHD in H.264 format to a video file
 
*Record FHD in H.264 format to a video file
Line 547: Line 537:  
*Capturing FHD still image  
 
*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" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nvjpegenc ! filesink location=jpgname.jpg</code>
+
<code>gst-launch-1.0 v4l2src num-buffers=1 ! "video/x-raw,format=(string)UYVY, width=(int)1920, height=(int)1080" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nvjpegenc ! filesink location=jpgname.jp</code>
 
  −
===== Gstreamer Usage (Jetpack5.x) =====
  −
 
  −
# nvoverlaysink is obsolete, nv3dsink can be used instead.
  −
# Jetpack version 5.0.1 DP has many bugs and is not recommended.
      
===== VEYE-MIPI-IMX335 gstreamer example =====
 
===== VEYE-MIPI-IMX335 gstreamer example =====
Line 595: Line 580:  
Preview
 
Preview
   −
<code>gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! "video/x-raw(memory:NVMM), width=(int)2592, height=(int)1944" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nvoverlaysink sync=false</code>
+
<code>gst-launch-1.0 nvv4l2camerasrc device=/dev/video0 ! "video/x-raw(memory:NVMM), width=(int)2592, height=(int)1944" ! nvvidconv ! "video/x-raw(memory:NVMM),format=(string)I420" ! nv3dsink sync=false</code>
    
Framerate statistics
 
Framerate statistics
Line 669: Line 654:  
We provide 2 samples [https://github.com/veyeimaging/nvidia_jetson_veye_bsp/tree/master/samples/opencv here].
 
We provide 2 samples [https://github.com/veyeimaging/nvidia_jetson_veye_bsp/tree/master/samples/opencv here].
   −
====Video Control Toolkits Manual====
+
====Uusing i2c script to modify camera parameters====
    
*VEYE-MIPI-CAM2M Series(VEYE-MIPI-327、VEYE-MIPI-IMX327S、VEYE-MIPI-IMX462、VEYE-MIPI-IMX385)
 
*VEYE-MIPI-CAM2M Series(VEYE-MIPI-327、VEYE-MIPI-IMX327S、VEYE-MIPI-IMX462、VEYE-MIPI-IMX385)
Line 685: Line 670:     
=== FAQ and bug list ===
 
=== FAQ and bug list ===
<br />
+
 
 +
==== Jetpack5.0.1 DP ====
 +
This version has many bugs, such as not supporting nvv4l2camerasrc, not recommended to use.
 +
 
 +
==== nv3dsink ====
 +
Jetpack 5.x no longer supports nvoverlaysink, use nv3dsink instead.
 +
 
 +
==== cboot of L4T32.7.2 on Xavier ====
 +
For the Xavier series, there is a bug in the cboot of L4T32.7.2 that must be fixed before the upgrade can be done.
 +
 
 +
[https://elinux.org/Jetson/L4T/r32.7.x_patches <nowiki>[Cboot] Cboot in 32.7.2 fails to read extlinux.conf</nowiki>]
 +
 
 +
We compiled the correct version of cboot and put it [https://github.com/veyeimaging/nvidia_jetson_veye_bsp/tree/master/cboot_l4t_32.7.2 here].
 +
 
 +
After downloading, put it in Linux_for_Tegra/bootloader directory and execute the following command on PC to burn cboot.
 +
 
 +
*AGX Xavier
 +
 
 +
<code>sudo ./flash.sh -r -k cpu-bootloader jetson-xavier mmcblk0p1</code>
 +
 
 +
*Xavier NX
 +
 
 +
<code>sudo ./flash.sh -r -k cpu-bootloader jetson-xavier-nx-devkit mmcblk0p1</code>
 +
 
 +
 
 
=== Document History ===
 
=== Document History ===
  

Navigation menu