Jump to content

Raspberry Pi HQ camera IMX477 Linux driver for Jetson: Difference between revisions

m
no edit summary
mNo edit summary
mNo edit summary
Line 21: Line 21:
[[Image:rpi-hq-imx477.png|thumb|center|500px]]
[[Image:rpi-hq-imx477.png|thumb|center|500px]]


===<u>Camera Features</u>===
===Camera Features===
<hr>


* 12.3-Megapixel high-resolution Sony IMX477 sensor.
* 12.3-Megapixel high-resolution Sony IMX477 sensor.
Line 31: Line 32:
[[Image:rpi-hq-imx477-sensor.jpg|thumb|center|500px]]
[[Image:rpi-hq-imx477-sensor.jpg|thumb|center|500px]]


===<u>Sony IMX477 Basic Drive Mode</u>===
===Sony IMX477 Basic Drive Mode===
<hr>


The Raspberry Pi HQ camera uses the IMX477 CMOS sensor of Sony to capture. Such a sensor provides the modes included in the table below. At this point RidgeRun is working to support one mode only but others can be added per request.
The Raspberry Pi HQ camera uses the IMX477 CMOS sensor of Sony to capture. Such a sensor provides the modes included in the table below. At this point RidgeRun is working to support one mode only but others can be added per request.
Line 62: Line 64:
|}
|}


===<u>Compatibility with NVIDIA</u><sup>®</sup><u>Jetson</u>™ <u>Platforms</u>===
===Compatibility with NVIDIA<sup>®</sup>Jetson™ Platforms===
<hr>


The Raspberry Pi HQ camera module requires a hardware modification in order to work with Jetson Platforms.
The Raspberry Pi HQ camera module requires a hardware modification in order to work with Jetson Platforms.
Line 81: Line 84:
* Jetpack 4.5
* Jetpack 4.5


===<u>Download JetPack</u>===
===Download JetPack===
<hr>


The current version of the driver is supported in Jetpack 4.4, 4.4.1 and 4.5. Porting the driver to other versions and platforms is possible.
The current version of the driver is supported in Jetpack 4.4, 4.4.1 and 4.5. Porting the driver to other versions and platforms is possible.
Line 200: Line 204:
This is the simplest way to install the IMX477 driver on Jetson platforms.
This is the simplest way to install the IMX477 driver on Jetson platforms.


===<u>Downloading the debian packages</u>===
===Downloading the debian packages===
<hr>


You can download the Debian packages according to your platform from the following link:
You can download the Debian packages according to your platform from the following link:
Line 206: Line 211:
[https://drive.google.com/drive/folders/1E1bE57VlXqadLGg8sSw8KwW7AJRWjbmG?usp=sharing Kernel Debian Packages]
[https://drive.google.com/drive/folders/1E1bE57VlXqadLGg8sSw8KwW7AJRWjbmG?usp=sharing Kernel Debian Packages]


===<u>Installing the debian packages</u>===
===Installing the debian packages===
<hr>


====Jetson Xavier NX====
====Jetson Xavier NX====
Line 292: Line 298:
== Installing the Driver - Option B: JetPack sources patch==
== Installing the Driver - Option B: JetPack sources patch==


===<u>Download the JetPack sources</u>===
===Download the JetPack sources===
<hr>


The sources can be downloaded from the NVIDIA's Download Center:
The sources can be downloaded from the NVIDIA's Download Center:
Line 325: Line 332:
Where <code>[PLATFORM]</code> must be replaced by <code>XAVIER_NX</code> or <code>NANO</code>, and <code>[JETPACK_VERSION]</code> must be replaced by <code>4.4</code>, <code>4.4.1</code> or <code>4.5</code>.
Where <code>[PLATFORM]</code> must be replaced by <code>XAVIER_NX</code> or <code>NANO</code>, and <code>[JETPACK_VERSION]</code> must be replaced by <code>4.4</code>, <code>4.4.1</code> or <code>4.5</code>.


===<u>Patch instructions</u>===
===Patch instructions===
<hr>


====Download the patches====
====Download the patches====
Line 351: Line 359:
</pre>
</pre>


===<u>Kernel build instructions</u>===
===Kernel build instructions===
<hr>


Once the sources have been patched, perform the following steps in order to build and install the driver.
Once the sources have been patched, perform the following steps in order to build and install the driver.
Line 417: Line 426:
</pre>
</pre>


===<u>Flash the Jetson</u>===
===Flash the Jetson===
<hr>
====Flash the Xavier NX====
====Flash the Xavier NX====


Line 490: Line 500:
</pre>
</pre>


===<u>Copy the kernel modules</u>===
===Copy the kernel modules===
<hr>


* You can just access your SD card in your PC and copy the '''KERNEL_MODULES=$JETPACK_DIR/JetPack_[JETPACK_VERSION]_Linux_JETSON_[PLATFORM]_DEVKIT/Linux_for_Tegra/modules/lib/modules/4.9.201/*''' directory content into '''/lib/modules/4.9.201/''' in your SD card to update the modules. Where <code>[PLATFORM]</code> must be replaced by <code>XAVIER_NX</code> or <code>NANO</code>, and <code>[JETPACK_VERSION]</code> must be replaced by <code>4.4</code>, <code>4.4.1</code> or <code>4.5</code>.
* You can just access your SD card in your PC and copy the '''KERNEL_MODULES=$JETPACK_DIR/JetPack_[JETPACK_VERSION]_Linux_JETSON_[PLATFORM]_DEVKIT/Linux_for_Tegra/modules/lib/modules/4.9.201/*''' directory content into '''/lib/modules/4.9.201/''' in your SD card to update the modules. Where <code>[PLATFORM]</code> must be replaced by <code>XAVIER_NX</code> or <code>NANO</code>, and <code>[JETPACK_VERSION]</code> must be replaced by <code>4.4</code>, <code>4.4.1</code> or <code>4.5</code>.
Line 523: Line 534:
==Supported Features==
==Supported Features==


===<u>Resolutions and framerates</u>===
===Resolutions and framerates===
 
<hr>
* 1920x1080 @ 60fps
* 1920x1080 @ 60fps
* 4032x3040 @ 30fps
* 4032x3040 @ 30fps


===<u>Controls</u>===
===Controls===
<hr>
* Gain
* Gain
* Exposure
* Exposure
Line 538: Line 550:
Find some example pipelines to use the IMX477 on Jetson Xavier NX below:
Find some example pipelines to use the IMX477 on Jetson Xavier NX below:


===<u>Display</u>===  
===Display===  
 
<hr>
====1920x1080====
====1920x1080====
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
Line 555: Line 567:
</syntaxhighlight>
</syntaxhighlight>


===<u>MP4 Recording</u>===
===MP4 Recording===
<hr>


====1920x1080====
====1920x1080====
Line 572: Line 585:
</syntaxhighlight>
</syntaxhighlight>


===<u>JPEG snapshots</u>===
===JPEG snapshots===
<hr>


====1920x1080====
====1920x1080====
Cookies help us deliver our services. By using our services, you agree to our use of cookies.