Try   HackMD

Jetson AGX Xavier BSP 開發整理



Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
I. Jetson AGX Xavier 簡介

NVIDIA Jetson AGX Xavier 是 NVIDIA AGX 系列中的嵌入式系統模組 (SoM),包括一個帶有 Tensor Cores 的整合 Volta GPU、雙深度學習加速器 (DLAs)、八核心 NVIDIA Carmel ARMv8.2 CPU、32GB 256位元 LPDDR4x 記憶體和137GB/s 的記憶體頻寬,以及包括 PCIe Gen 4 和 16 條 MIPI CSI-2 相機通道的650Gbps 高速 I/O。

Jetson AGX Xavier 適用於將電腦視覺和深度學習部署到邊緣,運行 Linux,並在可配置的 10/15/30W 電源配置下提供32 TeraOPS 的計算效能。

Jetson AGX Xavier 目前可作為 Jetson AGX Xavier 開發套件和生產用 Jetson AGX Xavier 獨立計算模組提供。

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

1. Jetson AGX Xavier Module Datasheet

Jetson AGX Xavier Module Datasheet (link)

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

The I/O ports are broken out through a carrier board via a 699-pin board-to-board connector

Processing Components

  • Octal-core NVIDIA Carmel ARMv8.2 CPU @ 2.26GHz
  • 512-core Volta GPU @ with 64 Tensor Cores
  • Dual Deep Learning Accelerator (DLA) engines
  • 32GB 256-bit LPDDR4x @ 2133MHz (137GB/s)
  • 32GB eMMC 5.1
  • Vision Accelerator engine
  • (4x) 4Kp60 H.264/H.265 video encoder
  • (2x) 8Kp30 / (6x) 4Kp60 H.265 video decoder

I/O Interfaces & Ports

  • (16x) MIPI CSI-2 lanes, (8x) SLVS-EC lanes
    up to 6 active sensor streams and 36 virtual camera channels
  • (5x) PCIe Gen 4 controllers | 1x8, 1x4, 1x2, 2x1
    (3x) Root Port & Endpoint
    (2x) Root Port
  • (3x) USB 3.1 + (4x) USB 2.0
  • (3x) eDP 1.4 / DP 1.2 / HDMI 2.0 @ 4Kp60
  • 10/100/1000 BASE-T Ethernet + MAC + RGMII PHY
  • Dual CAN bus controller
  • UART, SPI, I2C, I2C, GPIOs

Form-Factor

  • 699-pin board-to-board connector
  • dimensions: 100x87mm with 16mm Z-height
  • Integrated Thermal Transfer Plate (TTP) with heatpipe
  • -25C to 80C operating temperature
  • 9.0-20VDC input power

Image Not Showing Possible Reasons
  • The image file may be corrupted
  • The server hosting the image is unavailable
  • The image path is incorrect
  • The image format is not supported
Learn More →
II. Jetson AGX Xavier Developer Kit

1. 相關參考資料

Jetson AGX Xavier Developer Kit (User Guide)

Jetson AGX Xavier Developer Kit Carrier Board Specification

jetson-linux 開發參考資料

See the online Jetson Linux Developer Guide

Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →


Image Not Showing Possible Reasons
  • The image was uploaded to a note which you don't have access to
  • The note which the image was originally uploaded to has been deleted
Learn More →

How to rebuild kernel for Jetson Linux
https://developer.nvidia.com/embedded/jetson-linux
https://docs.nvidia.com/jetson/archives/r35.3.1/DeveloperGuide/index.html

I.開發環境

OS Ubuntu 20.04
開發板 NVIDIA Jetson AGX Orin Develop Kit (P3730)
NVIDIA® Jetson™ Linux version 35.3.1 GA
JetPack 最新版本 5.1.1
DeepStream 6.2
Last update: April 11, 2023

II.Jetson開發板介紹

Link: https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra Linux Driver Package Development Guide/introduction.html#

  • 每個 Jetson 模塊都是一個封裝為插件單元(模塊上系統 (SOM))的計算系統,NVIDIA 提供了多種具有不同功能的 Jetson 模塊。
  • 從 NVIDIA Jetson Linux 開始,JetPack 捆綁了 Jetson 平台軟件。 Jetson Linux 為 Jetson 平台提供 Linux 內核、引導加載程序、NVIDIA 驅動程序、閃存實用程序、示例文件系統等。
  1. Jetson AGX Orin 硬體規格

  2. Jetson AGX Xavier硬體規格

III.Software for Jetson Modules and Developer Kits

  1. JetPack SDK
    JetPack SDK 是用於構建 AI 應用程序的綜合資源,SDK 包括具有加速軟件庫、API、示例應用程序、開發人員工具和文檔的 Jetson Linux。
    Link: https://developer.nvidia.com/embedded/jetpack

  2. NVIDIA SDK Manager
    NVIDIA SDK Manager 是一款一體化工具,它捆綁了開發人員軟件並為 NVIDIA SDK 提供了端到端的開發環境設置解決方案。 SDK 管理器正在使用 .
    最新版本:https://developer.nvidia.com/sdk-manager
    Link: https://developer.nvidia.com/embedded/downloads#?search=sdk manager

a) 安裝和執行 SDK Manager
STEP01: 點擊 Download SDK Manager

STEP02: 點擊 Instructions to Download and Run SDK Manager

STEP03: 安裝和執行 SDK Manager
參考 link: https://docs.nvidia.com/sdk-manager/download-run-sdkm/index.html
將文件下載到您的主機操作系統。 從終端,通過以下方法之一安裝 SDK 管理器。
sudo apt install ./sdkmanager_[version]-[build#]_amd64.deb

STEP04: 可以使用以下兩種方法之一啟動 SDK Manager:

  • 從 Ubuntu 啟動器啟動 SDK 管理器。
  • 打開終端並使用以下命令啟動 SDK 管理器:
    sdkmanager

或點擊:

b) 登錄並運行 SDK Manager

先將開發板連接 Host 系統, SDK Manager 會自動偵測到 Jetson AGX 開發板
如果連接了一個 Jetson 設備(或者連接了多個 Jetson 設備),SDK 管理器將在目標硬件下拉列表中自動選擇它。如果未自動檢測到您的設備,請單擊刷新。

打勾 DeepStream 後,click CONTINUE

下載和安裝

如果您希望 SDK 管理器將所有安裝文件下載到默認路徑以外的位置,請轉到位於屏幕底部的下載和安裝選項,然後選擇您要使用的路徑。

Download now. Install later 不要勾選
Click CONTINUE

當 SDK 管理器準備好刷新您的目標設備時,它會打開一個對話框。提示提供有關準備設備以準備好閃爍的說明。

SDK 管理器支持兩種將 Jetson 目標置於強制恢復模式的選項:
Automatic setup: 通過遠程命令將目標設置為強制恢復模式。這需要設備閃爍並且當前正在運行。請按照閃爍對話框中的說明進行操作。
Manual setup: 通過手動操作將目標設置為強制恢復模式。

您還可以選擇是否預配置 OEM 配置。
Pre-Config:SDK Manager 會使用預定義的配置燒寫目標,燒寫後無需完成系統配置嚮導。
Runtime:目標上沒有設置默認配置,刷機後需要手動完成系統配置嚮導。

從 Jetpack 版本 4.6 開始,Jetson AGX Xavier 和 Orin 模塊可以刷入外部存儲。
根據閃存對話框中的可用選項,選擇要閃存到的外部存儲(EMMC、SDCard、NVMe、USB 或自定義)。
SDK Manager 自動偵測 Jetson AGX IP

只需要輸入使用者帳號和密碼就好
另外需要注意:USB Host 端要使用 USB 2.0 不然會出現錯誤

Jetson AGX 硬體連接

手動進入Force Recovery Mode (強制恢復模式) 步驟可以參考User guide

Jetson AGX 關機的狀態下
先按住Force Recovery Mode 按鈕
再按下 power 按鈕開機 (Force Recovery Mode 按鈕還是按住等待大約10秒)
SDK Manager 自動跳出一個視窗,直接點擊 OK

燒錄 選擇手動燒錄。
給 Jetson AGX 設定 使用者名稱和密碼 (此處都為 tuldp760)

如果能繼續安裝,表示成功設定了,正常安裝

SDK Manager 完成刷機過程後,連接到 Jetson 系統的顯示器將顯示初始設置提示。
作為初始設置過程的一部分,為 Jetson 系統選擇用戶名和密碼。
初始設置過程完成後,Jetson 系統啟動到 Linux 桌面。
在 SDK Manager 的 post-flash 安裝對話框中輸入您在 Jetson 配置期間創建的相同用戶名和密碼。

這部分 如果點擊 skip 就會停止安裝,不會安裝 CUDA 相關的東西
此處先等待 Jetson AGX 開機,登入後,點擊下圖的 INSTALL

3. Jetson Xavier NX Pinmux Table

參考link: Changing Device Tree and Compiling Kernel for NVIDIA Jetson Xavier NX
https://medium.com/@haoye94/editing-device-tree-and-compiling-kernel-for-nvidia-jetson-xavier-nx-11a1df20939c

  • 此電子表格是 Jetson Xavier NX 模塊數據表的配套文件。它說明了 SoC 球名稱如何映射到模塊引腳名稱並啟用設備樹文件的配置和生成。
  • 系統設計人員使用該電子表格來指定新系統設計的 pinmux 配置。更多詳細信息,請參見 L4T 開發指南。
    如果您正在為 NVIDIA Jetson 模塊設計自定義載板,您可能需要編輯設備樹並從源代碼重新編譯內核以啟動您的板。

IV. Jetson Download Center

需要先登入帳號才能看到全部文件
Link: https://developer.nvidia.com/embedded/downloads

V. NVIDIA Jetson AGX Orin Developer Kit User Guide

Link: https://developer.nvidia.com/embedded/learn/jetson-agx-orin-devkit-user-guide/index.html

Getting Started with Jetson AGX Orin Developer Kit
Link: https://developer.nvidia.com/embedded/learn/get-started-jetson-agx-orin-devkit

VI. NVIDIA JETSON LINUX BSP 開發

參考link: Changing Device Tree and Compiling Kernel for NVIDIA Jetson Xavier NX
https://medium.com/@haoye94/editing-device-tree-and-compiling-kernel-for-nvidia-jetson-xavier-nx-11a1df20939c

主要步驟分為以下順序:

  1. Set up cross compilation in Ubuntu (在 Ubuntu 中設置交叉編譯)
  2. Setup the necessary files (設置必要的文件)
  3. Change pinmux (if applicable) (更改 pinmux(如果適用))
  4. Modify device tree files (.dtsi) (修改設備樹文件 (.dtsi))
  5. Build kernel and device tree (構建內核和設備樹)
  6. Replace dtb files (替換 dtb 文件)
  7. Flash device tree (閃存設備樹)

VII. NVIDIA Jetson AGX Xavier Linux Porting 流程

STEP01. source-code 下載

先到以下網站連結,下載
https://developer.nvidia.com/embedded/jetson-linux

  1. Driver Package (BSP)
  2. Sample Root Filesystem
  3. Driver Package (BSP) Sources

得到以下檔案:

擺放路徑:/home/duchungk7/workspace/NVIDIA_BSP/Jetson_AGX_Xavier/R35.3.1

STEP02. 解壓縮檔案

開啟 terminal 位置:

以下步驟一定要 sudo su (root權限運行)

cd /home/duchungk7/workspace/NVIDIA_BSP/Jetson_AGX_Xavier sudo su tar jxvf R35.3.1/Jetson_Linux_R35.3.1_aarch64.tbz2 -C .

STEP03. 環境編譯 (此步驟只需要跑一次)

操作位置在 R35.3.1/

cd Linux_for_Tegra/ ./tools/l4t_flash_prerequisites.sh

STEP04. 解壓縮 Root-Filesystem 到 Linux_for_Tegra/rootfs/

操作位置在 Linux_for_Tegra/

cd rootfs/ tar jxvf ../../R35.3.1/Tegra_Linux_Sample-Root-Filesystem_R35.3.1_aarch64.tbz2 -C .

STEP05. applies the binaries to the rootfs dir

LDK_ROOTFS_DIR variable

操作位置在 Linux_for_Tegra/

cd .. ./apply_binaries.sh

顯示這樣表示成功

如果出現類似這種狀況,需要檢查過程是否以 root權限運行

STEP06. 使用 lsusb to check NVIDIA AGX

主要是比較燒錄前和燒錄後

lsusb

目前還沒燒錄,所以沒有 AGX 裝置

STEP07. 將 NVIDIA AGX 設置到 recovery 模式

需要使用還沒燒錄的SOM

板子硬體連接:
Type-C 連接到 Host 電腦 USB
HDMI 輸出 LCD
網絡線
板卡電源

按住 power 按鈕 大約10秒 關機

關機後按住 recovery 按鈕 大約10秒

在 host 端 terminal 輸入 lsusb 可以看到 NVIDIA 裝置表示已經進入 recovery 模式了


參考:https://docs.nvidia.com/jetson/archives/r35.3.1/DeveloperGuide/text/IN/QuickStart.html
To Determine Whether the Developer Kit Is in Force Recovery Mode

STEP08. 開始燒錄 boot <target_board> from eMMC (已驗證成功)

操作位置在 Linux_for_Tegra/

# Linux_for_Tegra/ ./flash.sh jetson-xavier mmcblk0p1

Host 端燒錄完成,板子會自動開機,進入ubuntu 首次設定流程,可以在這裡設定帳號&密碼等這樣算成功porting linux 系統了。

VIII. Jetson Software Architecture

https://docs.nvidia.com/jetson/archives/r35.3.1/DeveloperGuide/text/AR/JetsonSoftwareArchitecture.html

Board Support Package

https://docs.nvidia.com/jetson/archives/r35.3.1/DeveloperGuide/text/AR/JetsonSoftwareArchitecture.html#board-support-package

Jetson Linux Toolchain

https://docs.nvidia.com/jetson/archives/r35.3.1/DeveloperGuide/text/AT/JetsonLinuxToolchain.html#at-jetsonlinuxtoolchain

Jetson Kernel

https://docs.nvidia.com/jetson/archives/r35.3.1/DeveloperGuide/text/SD/Kernel.html#sd-kernel

Jetson Bootloader

https://docs.nvidia.com/jetson/archives/r35.3.1/DeveloperGuide/text/SD/Bootloader.html#sd-bootloader

Jetson Boot Flow

https://docs.nvidia.com/jetson/archives/r35.3.1/DeveloperGuide/text/AR/BootArchitecture/JetsonOrinSeriesBootFlow.html#bootrom

VIII. Changing Device Tree and Compiling Kernel for NVIDIA Jetson AGX Xavier

如果為 NVIDIA Jetson 模組設計自定義載板,需要編輯設備樹並從源代碼重新編譯內核,以啟動載板。
module names and P-numbers 參考連結: https://docs.nvidia.com/jetson/archives/r35.3.1/DeveloperGuide/index.html

1. Set up cross compilation in Ubuntu (設置交叉編譯)

由於我們在主機上編譯 Jetson(ARM64 架構),而主機大多是 x86 架構,因此我們需要下載相應的編譯器並進行交叉編譯的設置。所有後續步驟都應該在 Ubuntu 18 和 20 上運行。

查看 通用 toolchain 目前最新版本(此範例不使用):
http://releases.linaro.org/components/toolchain/binaries/

NVIDIA 提供的 JetsonLinuxToolchain(使用此toolchain):
https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/AT/JetsonLinuxToolchain.html

STEP01: 下載 NVIDIA JetsonLinuxToolchain

https://developer.nvidia.com/embedded/jetson-linux


下載後,放入目錄:

STEP02: 安裝和設置 NVIDIA JetsonLinuxToolchain

https://docs.nvidia.com/jetson/archives/r35.1/DeveloperGuide/text/AT/JetsonLinuxToolchain.html

創建 和 複製 aarch64glibcstable-final.tar.gz 到 l4t-gcc/ 目錄, 再進行解壓縮。
To extract the toolchain, enter these commands:

$ mkdir $HOME/l4t-gcc $ cd $HOME/l4t-gcc $ cp ../workspace/NVIDIA_BSP/Jetson_AGX_Xavier/R35.3.1/aarch64--glibc--stable-final.tar.gz . $ tar xf aarch64--glibc--stable-final.tar.gz

STEP03: Setting the CROSS_COMPILE Environment Variable

許多建置系統需要您設置環境變數CROSS_COMPILE,以指定要使用的toolchain。要為aarch64 toolchain 設置CROSS_COMPILE,輸入以下命令:

$ export CROSS_COMPILE=$HOME/l4t-gcc/bin/aarch64-buildroot-linux-gnu-

2. Setup the necessary files (設置必要的文件)

STEP01: 下載 Linux for Tegra BSP, BSP sources, sample root file system (RFS)

建立一個新目錄 NVIDIA_BSP_CUSTOM/:

(因為之前有下載過,所以複製過來)

$ cd $HOME/workspace/NVIDIA_BSP_CUSTOM/ cp ../NVIDIA_BSP/Jetson_AGX_Xavier/R35.3.1/Jetson_Linux_R35.3.1_aarch64.tbz2 . cp ../NVIDIA_BSP/Jetson_AGX_Xavier/R35.3.1/public_sources.tbz2 . cp ../NVIDIA_BSP/Jetson_AGX_Xavier/R35.3.1/Tegra_Linux_Sample-Root-Filesystem_R35.3.1_aarch64.tbz2 .

STEP02: Extract kernel sources

在 public_sources.tbz2(BSP sources zip 文件)中,裡面會有很多其他的 zip 文件,但我們只對 kernel_src.tbz2 感興趣。將此文件解壓縮到名為“source”的文件夾中

mkdir source tar xf public_sources.tbz2 -C source/

STEP03: Extract L4T and sample root file system

Extract “Linux_for_Tegra” from Jetson_Linux_R35.3.1_aarch64.tbz2 (it is 35.3.1 at the time of writing)

tar xf Jetson_Linux_R35.3.1_aarch64.tbz2

Extract sample RFS contents into Linux_for_Tegra/rootfs/

tar jxvf Tegra_Linux_Sample-Root-Filesystem_R35.3.1_aarch64.tbz2 -C Linux_for_Tegra/rootfs/

STEP04: Create extlinux.conf

NVIDIA 沒有在示例 RFS 中提供此文件,這很奇怪! 我們需要創建一個名為“extlinux”的目錄,並在以下位置創建 extlinux.conf:
Linux_for_Tegra/rootfs/boot/extlinux/extlinux.conf

mkdir Linux_for_Tegra/rootfs/boot/extlinux/ vim Linux_for_Tegra/rootfs/boot/extlinux/extlinux.conf

複製以下訊息貼到 extlinux.conf

TIMEOUT 30 DEFAULT primary MENU TITLE L4T boot options LABEL primary MENU LABEL primary kernel LINUX /boot/Image INITRD /boot/initrd APPEND ${cbootargs} root=/dev/mmcblk1p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0

請注意,參考鏈接中顯示的是mmcblk0p1,但在這裡我有mmcblk1p1,這是因為我正在使用帶有另一個SD卡插槽(SDMMC3)的自定義載板的開發套件模組。由於開發套件模組有一個SD卡插槽(SDMMC1),我們需要進行此修正,否則它會試圖從錯誤的SD卡引導。我不確定是否需要在生產模組上進行此修正,您需要自行嘗試。

3. Change pinmux (if applicable) (更改引腳配置)

4. Modify device tree files (.dtsi) (修改設備樹文件)

5. Build kernel and device tree (構建內核和設備樹)

6. Replace dtb files (替換 dtb 文件)

7. Flash device tree (刷新設備樹)

BSP Customization

https://docs.nvidia.com/jetson/archives/l4t-archived/l4t-3261/index.html#page/Tegra Linux Driver Package Development Guide/getting_started.html#

有兩個方法可以客制化 BSP:

  • 手動 配置 和 設定 software drivers
  • 使用 NVIDIA SDK Manager

注意:
NVIDIA SDK Manager 執行以下操作:
• 安裝 NVIDIA® Jetson™ Linux 驅動程序包
• 配置或刷寫您的 Jetson 設備
• 運行樣本

1. Boot Options

The bootloader must be loaded from the internal eMMC.
The kernel and DTB can be loaded from:
•An SD card (formatted to GPT)
•A USB drive (formatted to GPT)
•A network (via DHCP/TFTP)
•An NVMe SSD (formatted to GPT)

a) Choosing a Boot Device for Jetson AGX Xavier Series Platforms

  • CBoot 引導選項 (CBO) 是一種設備樹,可用於設置某些引導配置選項,例如引導設備優先級和用於從網絡引導的 IP 地址。
  • CBO 設備樹節點的名稱是 boot-configuration。

Node Properties (device tree 修改說明)


Examples

Rebuilding the DTB (修改 DTS 並重建 DTB)

如果修改 DTS,則必須重建 DTB。

b) Choosing a Boot Device for Other Platforms

TPM SLM 9670 TPM2.0

DataSheet:
https://www.infineon.com/dgdl/Infineon-OPTIGA TPM SLB 9672 FW15-DataSheet-v01_00-EN.pdf?fileId=8ac78c8c7f2a768a017f89965f764432

參考 link: https://community.infineon.com/t5/OPTIGA-TPM/Need-Linux-device-driver-and-steps-to-interface-OPTIGA-TPM-SLM-9670-TPM2-0-with/td-p/330329

https://community.infineon.com/t5/OPTIGA-TPM/Need-Linux-device-driver-and-steps-to-interface-OPTIGA-TPM-SLM-9670-TPM2-0-with/td-p/330329

https://www.infineon.com/dgdl/Infineon-App-Note-SLx9670-TPM2.0_Embedded_RPi_DI_SLx-ApplicationNotes-v01_03-EN.pdf?fileId=5546d46267c74c9a01684b96e69f5d7b

tar xvfj public_sources.tbz2 cd Linux_for_Tegra/source/public/ tar xvfj kernel_src.tbz2 cd kernel/kernel-5.10/ make menuconfig

make menuconfig 設定


從 linux user space 查看 GPIO 對應 實體 PIN (對應 pin mux excel)

# cat /sys/kernel/debug/gpio gpiochip2: GPIOs 305-334, parent: platform/c2f0000.gpio, tegra194-gpio-aon: gpio-305 (PAA.00 ) gpio-306 (PAA.01 ) gpio-307 (PAA.02 ) gpio-308 (PAA.03 ) gpio-309 (PAA.04 ) gpio-310 (PAA.05 ) gpio-311 (PAA.06 ) gpio-312 (PAA.07 ) gpio-313 (PBB.00 ) gpio-314 (PBB.01 ) gpio-315 (PBB.02 ) gpio-316 (PBB.03 ) gpio-317 (PCC.00 ) gpio-318 (PCC.01 ) gpio-319 (PCC.02 ) gpio-320 (PCC.03 ) gpio-321 (PCC.04 ) gpio-322 (PCC.05 ) gpio-323 (PCC.06 ) gpio-324 (PCC.07 ) gpio-325 (PDD.00 ) gpio-326 (PDD.01 ) gpio-327 (PDD.02 ) gpio-328 (PEE.00 ) gpio-329 (PEE.01 ) gpio-330 (PEE.02 ) gpio-331 (PEE.03 ) gpio-332 (PEE.04 |power-key ) in hi IRQ ACTIVE LOW gpio-333 (PEE.05 ) gpio-334 (PEE.06 ) gpiochip1: GPIOs 335-503, parent: platform/2200000.gpio, tegra194-gpio: gpio-335 (PA.00 |(null) ) out lo gpio-336 (PA.01 |fixed-regulators:reg) out hi ACTIVE LOW gpio-337 (PA.02 ) gpio-338 (PA.03 |fixed-regulators:reg) out hi gpio-339 (PA.04 ) gpio-340 (PA.05 )

gpio-317 (PCC.00 ) gpio-318 (PCC.01 ) gpio-319 (PCC.02 ) gpio-320 (PCC.03 )

ls /sys/class/gpio/

sudo cat /sys/kernel/debug/gpio | grep PAA.00

echo 320 > export

root@tuljetson-desktop:/sys/class/gpio# echo 320 > export root@tuljetson-desktop:/sys/class/gpio# root@tuljetson-desktop:/sys/class/gpio# ls export gpiochip305 gpiochip335 gpiochip504 PCC.03 unexport root@tuljetson-desktop:/sys/class/gpio# cd PCC.03/ root@tuljetson-desktop:/sys/class/gpio/PCC.03# ls active_low device direction edge power subsystem uevent value root@tuljetson-desktop:/sys/class/gpio/PCC.03# cat value 0 root@tuljetson-desktop:/sys/class/gpio/PCC.03# cat direction in root@tuljetson-desktop:/sys/class/gpio/PCC.03#

*.參考資料

0. Jetson Downloads Center

1. elinux.org

2. Data-Sheet Jetson_AGX_Orin_DS-10662-001_v1.2.pdf

3. Jetson_AGX_Orin_Pin_Function_Names_Guide_DA-11060-001_v1.0.pdf

4. NVIDIA Jetson Orin - JetPack 5.0.2 - Compiling Code - Kernel

5. Linux BSP User Guide for jetson series

6. Jetson/L4T BSP development tips

7. How to build NVIDIA a Jetson Xavier NX Kernel

8. Changing Device Tree and Compiling Kernel for NVIDIA Jetson Xavier NX

9. Jetson Module Adaptation and Bring-Up
描述了如何將 Jetson Linux 和 U-Boot 引導加載程序從 Jetson 開發套件移植到其他硬體平台上。

10. Jetson Linux Developer Guide (online version)

11. Jetson Linux Development Tools
討論 NVIDIA® Jetson™ Linux (BSP) 中包含的開發工具。

12. Jetson Xavier NX and Jetson AGX Xavier Boot Flow

13. Choosing a Boot Device for Jetson AGX Xavier Series Platforms
BSP Customization ==> Boot Options

tags: Linux