|
|
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.
| |
− |
| |
− | ...
| |
− | </pre>
| |
− |
| |
− | ==== 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:
| |
− |
| |
− | https://docs.nvidia.com/jetson/l4t/index.html#page/Tegra%2520Linux%2520Driver%2520Package%2520Development%2520Guide%2Fmb1_platform_config_xavier.html%23wwpID0E0A40HA
| |
− |
| |
− | 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:
| |
− |
| |
− | ...
| |
− |
| |
− | 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.
| |