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

From eLinux.org
Jump to: navigation, search
(Edit the prod configuration)
(Blanked the page)
(Tag: Blanking)
Line 1: Line 1:
== 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.
===== 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.)
===== Or 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.
==== How to update pinmux ====
There are several ways to customize the device PINMUX.
The simple way is to generate PINMUX configuration through pre-defined excel.
Another way is to edit the PINMUX configuration file directly, but that may need more knowledge about PINMUX setting for the chip.
===== Edit the excel and generate the Configuration =====
Refer to https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fadaptation_and_bringup_xavier_nx.html%23wwpID0E0WL0HA
Search ''''Pinmux Changes''''
Also, another good reference: https://elinux.org/Jetson/AGX_Xavier_Update_Pinmux
Still, please make sure the PINMUX configuration file name is correct.
===== Edit the pinmux configuration file =====
That's the direct and simple way, assumed the developer is familiar with PINMUX setting.
Download technical reference manual from https://developer.nvidia.com/embedded/downloads#?search=TRM for different platforms. And those documents contain detailed information.
===== Edit the prod configuration =====
L4T document shows another way to override the PINMUX:
Same command as [[Jetson/L4T_BSP_development_tips#Or_check_the_flash_log|'''''']], and check the prod configuration in following log:
copying prod_config(/home/Work/jetson_customer/32.4.3/Linux_for_Tegra/bootloader/t186ref/BCT/tegra19x-mb1-prod-p2888-0000-p2822-0000.cfg)... done.
Follow the guide in above link.

Revision as of 01:12, 9 December 2020