Difference between revisions of "Jetson/L4T BSP development tips"

From eLinux.org
Jump to: navigation, search
(Preparation)
(BSP customization)
Line 31: Line 31:
  
 
== BSP customization ==
 
== BSP customization ==
 +
=== PINMUX ===
 +
==== How to find out the actual pinmux configuration file ====
 +
Refer to https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fmb1_platform_config_xavier.html%23wwpID0E0240HA
 +
 +
There are several types of Jetson reference boards are supported in SDK.
 +
===== One way is to check the configuration file =====
 +
For example, when the flash command is:
 +
 +
  sudo ./flash.sh jetson-xavier mmcblk0p1
 +
 +
Check the configuration file: jetson-xavier.conf →  p2822-0000+p2888-0004.conf → PINMUX_CONFIG="tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg";
 +
 +
(Note: the value of PINMUX_CONFIG may be overwritten. So the later one should take effect.)
 +
===== Another way is to check the flash log =====
 +
Run following command:
 +
 +
sudo ./flash.sh -r --no-flash jetson-xavier mmcblk0p1
 +
 +
And check the log:
 +
 +
<pre style="margin-left:30px; color:#B0B0B0; background-color:#111111; white-space:pre-wrap;">
 +
...
 +
 +
copying pinmux_config(/home/Work/jetson_customer/32.4.3/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg)... done.
 +
 +
...
 +
</pre>

Revision as of 00:31, 9 December 2020

Preparation

First, please download BSP package from internet. It's preferred to download BSP package, instead of Jetpack.

Go to https://developer.nvidia.com/embedded/linux-tegra.

The following packages are necessary:

L4T Driver Package (BSP)

Sample Root Filesystem

Source code for kernel and other components:

L4T Driver Package (BSP) Sources

Toolchain for kernel building:

GCC 7.3.1 for 64 bit BSP and Kernel

Secure package if secure-boot is necessary:

Jetson Platform Fuse Burning and Secure Boot Documentation and Tools


Refer to https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fquick_start.html

Then the device can be flashed by command line.

With this method, user can have more controls for the BSP configuration, like pinmux, kernel/kernel DTB customization, etc.

BSP customization

PINMUX

How to find out the actual pinmux configuration file

Refer to https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fmb1_platform_config_xavier.html%23wwpID0E0240HA

There are several types of Jetson reference boards are supported in SDK.

One way is to check the configuration file

For example, when the flash command is:

 sudo ./flash.sh jetson-xavier mmcblk0p1

Check the configuration file: jetson-xavier.conf → p2822-0000+p2888-0004.conf → PINMUX_CONFIG="tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg";

(Note: the value of PINMUX_CONFIG may be overwritten. So the later one should take effect.)

Another way is to check the flash log

Run following command:

sudo ./flash.sh -r --no-flash jetson-xavier mmcblk0p1

And check the log:

...

copying pinmux_config(/home/Work/jetson_customer/32.4.3/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg)... done.

...