Difference between revisions of "Jetson/L4T BSP development tips"
(→Another way is to check the flash log) |
(→Edit the prod configuration) |
||
Line 85: | Line 85: | ||
https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fmb1_platform_config_xavier.html%23wwpID0E0A40HA | https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fmb1_platform_config_xavier.html%23wwpID0E0A40HA | ||
− | Same command as 2.1.1.2, and check the prod configuration in following log: | + | Same command as [[Jetson/L4T_BSP_development_tips#Or_check_the_flash_log|2.1.1.2]], and check the prod configuration in following log: |
... | ... |
Revision as of 01:10, 9 December 2020
Contents
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
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
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:
... 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
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 2.1.1.2, 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.