网站开发+百度编辑器wordpress重置密码忘记
原文地址:Welcome — Jetson Linux Developer Guide documentation (nvidia.com)
欢迎
本开发人员指南适用于 NVIDIA Jetson Linux版本 35.3.1 GA 。 最后更新: 2023年5月19日
NVIDIA Jetson是世界领先的边缘AI平台。其高性能、低功耗计算 深度学习 , 计算机视觉使Jetson成为计算密集型项目的理想平台。Jetson平台包括各种Jetson模块和 NVIDIA JetPack SDK。
每个Jetson模块都是一个封装为插件单元的计算系统 (模块上的系统 ( SOM ))), NVIDIA提供了各种具有不同功能的Jetson模块。
从NVIDIA Jetson Linux开始,JetPack捆绑了Jetson平台软件。Jetson Linux为Jetson平台提供了linux内核、引导加载程序、NVIDIA驱动程序、闪存实用程序、示例文件系统等。
Jetson开发人员套件和模块
Jetson开发套件包括连接到参考载板的非生产规格Jetson模块。它与JetPack SDK一起用于为您的项目开发和测试软件。Jetson开发套件不适用于生产用途。
专为在生产环境中部署而设计的Jetson模块与Jetson开发人员套件分开销售。每个Jetson模块都没有预装软件。您可以将其连接到为您的最终产品设计或采购的载板上,并使用您开发的软件映像对其进行闪存。
适用于Jetson模块和开发套件的软件
JetPack SDK是用于构建AI应用程序的综合资源,该SDK包括具有加速软件库的Jetson Linux、api、示例应用程序、开发人员工具和文档。
使用 NVIDIA SDK管理器 在Jetson开发工具包上安装Jetson Linux和其他JetPack组件。有关说明,请参阅相应的 Jetson开发工具包用户指南 。 你也可以参考 快速入门 仅使用引导加载程序和文件系统 (不包括其他JetPack组件) 刷新Jetson模块。
有关将已完成的应用程序从Jetson开发人员套件移至生产载板上的生产Jetson模块的信息,请参阅 Jetson模块适配和启动 (适用于您的Jetson模块)。
您可以自定义Jetson Linux软件以满足您项目的需求。本开发人员指南包含优化使用完整Jetson产品功能集所需的信息。
Jetson模块和开发人员套件文档
本开发人员指南是有关Jetson模块软件开发信息的主要资源。
NVIDIA发布了许多其他文档,这些文档涉及Jetson软件和硬件的特定方面。有关详细信息,请参阅 相关文档 。 Jetson下载中心 中提供了许多此类文档和其他文档。要查找文档,请在 搜索 字段中输入文档标题中的连续单词字符串。使用 Product 下拉列表将搜索范围限制为Jetson设备的文档。
NVIDIA自主机器 入门 页面包含多个文档的链接,这些文档对不熟悉人工智能 (AI) 编程或Jetson产品的开发人员很有用。此页面包含指向 入门 指南和每个Jetson模块开发人员套件的用户指南的链接。
有关Jetson Linux的其他资源和重要事实 Jetson Linux主页 NVIDIA开发者网站。
本文档支持的设备
《NVIDIA Jetson Linux开发人员指南》 介绍了将Jetson Linux与此表中所述的任何模块和参考载板组合一起使用。
|   模块类型  |   模块名称和P号  |   兼容的开发工具包  | 
|---|---|---|
|   NVIDIA Jetson Orin Nano系列  |   以下是模块名称和P编号: 
  |   Jetson Orin Nano显影剂套件 (P3766) 包括P3767-0005模块。  | 
|   NVIDIA Jetson Orin NX系列  |   以下是模块名称和P编号: 
  |   Jetson Orin Nano显影剂套件 (P3766) 包括P3767-0005模块。  | 
|   NVIDIA Jetson AGX Orin系列  |   以下是模块名称和P编号: 
  |   Jetson AGX Orin开发套件 (P3730) 包括P3701-0000模块。  | 
|   NVIDIA Jetson Xavier NX系列  |   以下是模块名称和P编号: 
  |   Jetson Xavier NX Developer Kit (P3518-0000) 包括P3668-0000模块。  | 
|   NVIDIA Jetson AGX Xavier系列  |   以下是模块名称和P编号: 
  |   Jetson AGX Xavier Developer Kit (P2972-0000) 包括P2888-0004模块。  | 
NVIDIA Jetson模块和开发套件 的P编号来自其699级部件号 (pn)。有关模块的699级部件号结构的详细信息,请参阅 JetsonEepromLayout 。
有关各种Jetson模块和开发人员套件的更多信息,请参阅 Jetson开发者网站 和 Jetson常见问题解答 。
开发人员指南主题如何识别设备
如果 开发人员指南 主题不适用于所有受支持的Jetson设备,则其标题或副标题将指定其范围。以下是范围标题的两个示例:
-  
Jetson Xavier AGX系列软件功能
 -  
Jetson AGX Orin设备的电源管理
 
副标题的一些例子:
-  
仅适用于 Jetson AGX Orin。
 -  
仅适用于 Jetson Xavier NX系列和Jetson AGX Xavier系列。
 
Jetson Xavier NX系列 指Jetson Xavier NX的所有变体。 Jetson Xavier NX 或 原装Jetson Xavier NX 仅指原装Jetson Xavier NX (P3668-0000或P3668-0001)。
Jetson AGX Xavier系列 指Jetson AGX Xavier的所有变体。 Jetson AGX Xavier 或 原装Jetson AGX Xavier 仅指原装Jetson AGX Xavier (P2888-0001)。
备注
original 一词是描述性的,仅用于澄清所引用的产品。它不是Jetson产品名称的一部分。
导言
- 欢迎
 - 快速启动 
- Jetson设备的类型和型号
 - 准备使用Jetson开发人员套件
 - 假设
 - 环境变量
 - 要刷新Jetson Developer Kit操作软件
 - Jetson模块和配置
 - 确定开发工具包是否处于强制恢复模式
 
 
体系结构
- Jetson软件架构 
- 文档
 - 示例应用程序
 - 深度学习组件
 - 计算机视觉
 - 加速计算
 - 图形
 - 多媒体
 - 传感器
 - CUDA-X
 - 董事会支持包
 - 开发人员工具
 - 其他组件 
- CUDA工具包
 - 图形
 - JetPack SDK
 
 
 - 引导体系结构 
- Jetson AGX Orin,Orin NX和Orin Nano引导流 
- BootROM
 - PSCROM
 - MB1
 - MB2 
- MB2小程序
 - MB2
 
 - UEFI
 - 冷启动序列
 
 - Jetson Xavier NX和Jetson AGX Xavier引导流程 
- BootROM
 - Bootloader组件 
- 通用驱动程序框架
 - Microboot1
 
 - TegraBoot 
- TegraBoot-BPMP
 - TegraBoot-CPU
 - NVDisp-init
 
 - UEFI
 
 - 分区配置 
- 如何描述Jetson分区配置
 - 分区配置文件
 - 分区配置文件格式 
- <partition_layout> 元素
 - <device> 元素
 - <partition> 元素
 - <partition> 子元素
 - 翻译的关键字列表
 
 - 外部存储设备分区
 
 - MB1平台配置 
- 关于MB1 BCT 
- Pinmux/GPIO配置
 - 示例
 - 通用Prod配置
 - 控制器Prod配置
 - 焊盘电压配置
 - PMIC配置
 - 安全配置
 - GPIO中断映射配置
 - 存储设备配置
 - UPHY车道配置
 - Oem-fw棘轮配置
 - BootROM重置PMIC配置
 - 杂项配置
 
 
 - 关于MB1 BCT 
 
 - Jetson AGX Orin,Orin NX和Orin Nano引导流 
 
软件功能概述
- Jetson Orin系列 
- 引导加载程序
 - 工具链
 - 内核
 - 摄像头接口
 - LSIO
 - HSIO
 - HDMI
 - DisplayPort
 - 安全引擎
 - 电源模式 (配置文件)
 - RTC
 - 系统
 - 移植到自定义平台
 - 不支持的功能
 
 - Jetson Xavier NX系列 
- 引导加载程序
 - 工具链
 - 内核
 - 摄像头接口
 - LSIO
 - HDMI
 - DisplayPort
 - PCIe
 - SDMMC
 - 安全引擎
 - USB 3.0
 - 以太网
 - 以太网控制器特性 (EQOS)
 - 电源模式 (配置文件)
 - RTC
 - 看门狗
 - 系统
 - CUDA
 - 图形 
- EGL详细信息
 - GL和Vulkan详细信息
 
 - 多媒体
 - 控制区域网络 (CAN)
 - 音频
 - 不支持的功能
 
 - Jetson AGX Xavier系列 
- 引导加载程序
 - 工具链
 - 内核
 - 调试接口
 - 摄像头接口
 - LSIO
 - HDMI
 - DisplayPort
 - PCIe
 - SDMMC
 - SATA
 - SATA-Marvel (通过PCIe)
 - UFS
 - 安全引擎
 - USB 3.0
 - 以太网
 - 以太网控制器特性 (EQOS)
 - 电源模式 (配置文件)
 - RTC
 - 看门狗
 - 系统
 - CUDA
 - 图形 
- EGL详细信息
 - GL和Vulkan详细信息
 
 - 多媒体
 - 控制区域网络 (CAN)
 - 音频
 - 不支持的功能
 
 
软件功能深入
- Flashing  
- 在你开始之前
 - 基本Flashing 基本
 - 基本Flashing 基本 
- 安装Flash要求
 - Flashing
 - 使用方便的脚本进行flash
 - Flashing
 - 闪存目标设备以挂载由分区设备名称指定的rootfs
 - 克隆Jetson设备和闪存
 - 备份和恢复Jetson设备
 - RCM引导到NFS
 
 - Flashing  
- 如何查找usb实例
 
 - Flashing  
- 手动设置闪存驱动器以进行引导
 - 手动设置闪存驱动器以用作根文件系统
 - 使用安全启动准备要从闪存驱动器启动的文件
 - 使用带有initrd的flash将USB驱动器设置为引导设备或根文件系统
 
 - Flashing  
- 手动设置NVMe驱动器以进行引导
 - 手动设置NVMe驱动器以用作根文件系统
 - 使用安全启动准备要从NVMe驱动器启动的文件
 - 使用带有initrd的flash将NVMe驱动器设置为引导设备或根文件系统
 
 - Flashing  
- 先决条件
 - 生成要Flashing 生成要
 - 使用蚀刻机将图像闪存到sd卡
 - 使用dd将图像闪存到SD卡
 - 调整根分区的大小以填充可用的sd卡空间
 - 将Jetson Xavier NX上的JetPack 4.x升级到JetPack 5.x (P3668-0000)
 
 - Flashing
 - Flashing  
- 闪存特定分区
 - 示例
 
 - 为NFS作为根Flashing  
- 将网络文件系统作为根文件系统进行闪存
 
 - 用initrdFlashing  
- 要求
 - 用initrdFlashing
 - 使用initrd克隆rootfs
 - 启动initrd Flash工具的Jetson模块
 
 - Flashing
 - 扩大根文件系统的内部内存分区 
- 为更大的分区闪存
 
 - 确定驱动程序更新是否成功 
- 确定驱动程序更新是否成功
 
 - 使用oem-config重新配置Jetson设备 
- 在闪存驱动器上手动重新启用oem-config
 - 在SD卡上手动重新启用oem-config
 - 关于通过调试端口的通信 
- 将oem-config配置为使用40针接头UART端口
 
 - Oem-config中的无头模式流程 
- 使用oem-config重新配置目标设备
 - 手动创建和启用交换文件
 
 - 正在跳过oem-config 
- 示例
 
 
 - 修改Jetson RAM磁盘 
- 修改RAM磁盘
 
 
 - 仿真闪存配置
 - 根文件系统 
- 手动生成根文件系统 
- 桌面风味根文件系统
 - 最小风味根文件系统
 - 基本风味根文件系统
 - 在非Ubuntu 20.04主机上执行脚本
 - 使用脚本
 
 - 根文件系统冗余 
- Rootfs选择
 - 创建冗余根文件系统 
- 使用冗余根文件系统刷新目标板
 - 自定义Rootfs大小
 
 - 使用nvbootctrl管理Rootfs插槽 
- 转储根文件系统插槽A和插槽B信息
 - 在根文件系统插槽A和插槽B之间切换
 - 故障切换Rootfs插槽切换
 
 - 将UUID用于根文件系统分区APP和APP_b
 - 启用Rootfs冗余的无线更新
 
 
 - 手动生成根文件系统 
 - 存储优化 
- 识别当前磁盘使用情况
 - 最小化配置
 - 删除桌面图形用户界面
 - 删除Documentation and Samples包
 - 删除Dev包和静态库
 - 从最小的Jetson Linux BSP开始
 - 验证
 
 - 引导加载程序 
- T23x引导配置表 
- BR-BCT
 - MB1-BCT
 - 内存-BCT
 - MB2-BCT
 
 - Pinmux和GPIO配置
 - 通用Prod配置
 - 控制器产品配置
 - 焊盘电压DT绑定
 - PMIC配置 
- 常用配置
 - 特定于导轨的配置
 
 - 存储设备配置 
- QSPI闪存参数
 - SDMMC参数
 - UFS参数
 - SATA参数
 
 - UPHY车道配置
 - Oem-fw棘轮配置
 - BootROM重置PMIC配置 
- 指定AO块
 
 - 杂项配置 
- MB1功能字段
 - 时钟数据
 - AST数据 
- MB1 AST数据
 
 - 切块配置 
- Coresight数据
 
 - 固件加载和入口配置
 - CPU配置
 - 其他配置 
- MB1软熔丝配置
 - 调试控件
 - 引导失败控制
 - On/Off IST模式控制
 - 频率监控控件
 
 
 - SDRAM配置 
- Carveouts
 - GSC雕刻
 - 非GSC雕刻
 
 - GPIO中断映射配置
 - MB2 BCT其他配置 
- MB2功能字段
 - MB2固件数据
 
 - 安全配置
 - UEFI自适应 
- 来源和编译
 - 引导顺序选择 
- 支持的引导设备和默认引导顺序
 - 在UEFI中选择引导设备
 - 在配置文件中自定义默认引导顺序
 - 在闪烁期间覆盖默认引导顺序
 - 在UEFI菜单中自定义默认引导顺序
 
 - 引导模式选择 
- 在配置文件中自定义默认引导模式
 - 在UEFI菜单中自定义默认启动模式
 
 - 定制Logo:
 - DTB支持
 
 - 更新和冗余 
- A/B插槽布局
 - A/B系统更新 
- 分区选择
 - 更新引擎
 
 - Bootloader实现 
- 引导加载程序暂存寄存器
 - 分区设置
 
 - 更新引导加载程序
 - 引导加载程序工具 
- 引导控制
 - Bootloader更新有效载荷生成器
 
 - 运行更新引擎 
- 更新Bootloader
 
 - 手动修改启动插槽 
- 手动修改启动插槽
 - 显示当前引导插槽
 - 显示插槽状态
 
 - 启动日志示例 
- 适用于 NVIDIA Jetson AGX Orin 、 NVIDIA Jetson Orin NX 和 NVIDIA Jetson Orin Nano
 - 适用于 NVIDIA Jetson AGX Xavier 和 NVIDIA Jetson Xavier NX
 
 - 生成引导加载程序更新有效负载 (BUP) 
- 生成单规格BUP
 - 生成指定的分区BUP
 - 生成多规格BUP
 - 生成的BUP文件的位置
 
 - 生成胶囊更新有效载荷 
- 生成多规格胶囊有效载荷
 - 手动触发胶囊更新
 - 手动将Bootloader A/B插槽与胶囊更新同步
 - 手动触发单分区映像胶囊更新
 
 
 - 控制器产品配置
 
 - T23x引导配置表 
 - 内核 
- 内核适应 
- 从Rel-32内核4.9到rel-34内核5.10 
- 编译器更新
 - 插件管理器已替换为DTBO
 - 载板定制注意事项
 - 次要版本更新
 
 
 - 从Rel-32内核4.9到rel-34内核5.10 
 - 内核定制 
- 使用Git获取内核源代码 
- 先决条件
 - 同步内核源
 
 - 手动下载和扩展内核源代码 
- 手动下载和扩展内核源代码
 
 - 构建内核 
- 构建内核
 - 构建实时内核
 - 对内核、内核dtb和initrd二进制文件进行签名和加密
 
 - 准备构建外部内核模块 
- 在Jetson系统上准备Jetson Linux内核标头
 - 在非Jetson系统上准备Jetson Linux内核标头
 - 使用手动构建的内核源代码树
 - 准备未生成的内核源代码树
 
 - 构建外部内核模块
 - 构建显示内核模块
 - 使用Jetson Linux实时内核包
 
 - 使用Git获取内核源代码 
 - 通用时间戳引擎 
- 启用GTE驱动程序 
- 启用GTE设备树节点
 - 启用和编译GTE内核驱动程序和测试驱动程序
 
 - 运行示例GTE测试 
- 运行GTE测试内核驱动程序
 - 运行GTE用户空间示例应用程序
 - 显示GTE设备和GTE事件统计信息
 
 
 - 启用GTE驱动程序 
 - BMI088 IMU驱动程序 
- 内核配置
 - BM1088驱动程序
 - 设备树 
- 必需的属性
 - 可选属性
 
 - 加速度计IIO属性
 - 陀螺仪IIO属性
 - 测试BMI088驱动程序
 - 硬件时间戳引擎 (GTE)
 - 编译和执行
 - 加速度计样本输出
 - 陀螺仪样本输出
 
 - 启动时间优化 
- 设备树节点
 - 环境配置 
- 禁用通过UART进行的控制台打印
 
 - 编译时配置
 - 异步探针 
- 将驱动程序移动到另一个线程
 
 - 减少文件系统初始化时间
 - 禁用音频配置
 - 模块化内核驱动程序
 - 禁用调试
 
 - 显示配置和启动 
- 适用于所有平台的通用显示配置 
- 设置HDMI或DP屏幕分辨率
 - 镜像或扩展显示
 
 - Orin特定显示配置 
- 更新自定义载板的DCB blob
 - 显示设备树参数
 - 在DP和HDMI之间更改显示功能
 - 已知限制
 
 - Jetson Xavier平台特定配置 
- HDMI的硬编码内核显示引导模式
 - nvimp_util: 用于计算特定显示配置 (IMP) 的内存带宽的工具
 - 无缝显示的限制
 
 
 - 适用于所有平台的通用显示配置 
 
 - 内核适应 
 - 多媒体 
- 多媒体api 
- 安装GStreamer
 - 多媒体演示应用程序 
- 关于NvGstPlayer
 - 关于NvGstCapture
 
 
 - GStreamer API
 - 基于GStreamer的相机捕捉
 - 使用ffmpeg加速解码 
- 安装ffmpeg二进制包
 - 获取ffmpeg包的源文件
 - 在Jetson Linux版本中包含ffmpeg库
 - 解码功能流
 
 - 加速的GStreamer 
- GStreamer-1.0安装和设置 
- 安装GStreamer-1.0
 - 检查GStreamer-1.0版本
 - GStreamer-1.0插件参考
 
 - 解码示例 
- 使用gst-launch-1.0的音频解码示例
 - 使用gst-launch-1.0的视频解码示例
 - 使用gst-v4l2进行视频解码
 
 - 编码示例 
- 使用gst-launch-1.0的音频编码示例
 - 使用gst-launch-1.0的视频编码示例
 - 使用gst-launch-1.0的图像编码示例
 - 支持带GStreamer-1.0的H.264/H.265/VP9/AV1编码器功能
 
 - 带GStreamer-1.0的相机捕捉 
- 用GStreamer-1.0捕捉
 - 使用nvv4l2camerasrc进行渐进式捕获
 - 原始-使用v4l2src捕获YUV
 - 使用OpenCV支持相机捕获和编码
 
 - 带GStreamer-1.0的视频播放 
- 视频播放示例
 - 使用OpenCV支持视频解码
 
 - 带GStreamer-1.0的视频流 
- 使用nvgstplayer-1.0执行视频流
 
 - 视频格式转换与GStreamer-1.0 
- Raw-YUV输入格式
 - Raw-YUV输出格式
 - NVIDIA输入和输出格式
 
 - 带GStreamer-1.0的视频缩放
 - 带GStreamer-1.0的视频裁剪
 - 使用GStreamer-1.0进行视频转码
 - CUDA视频后处理与GStreamer-1.0 
- gst-nvivafilter
 
 - 带GStreamer-1.0的视频旋转
 - 带GStreamer-1.0的视频合成 
- 合成具有不同格式的解码流
 - 合成不同的相机馈送
 
 - 视频缩放的插值方法 
- 使用双线性插值方法进行缩放
 
 - EGLStream生产者示例
 - EGL图像转换示例
 - GStreamer构建说明 
- 使用gst-install构建GStreamer
 - 手动构建GStreamer
 
 - nvgstcapture-1.0参考 
- 命令行选项
 - CSI相机支持的分辨率
 - CSI相机运行时命令
 - USB相机运行时命令
 - 运行时视频编码器配置选项
 - 备注
 
 - nvgstplayer-1.0参考 
- nvgstplayer-1.0命令行选项
 - nvgstplayer-1.0运行时命令
 
 - 视频编码器功能
 - 支持的摄像头 
- CSI摄像机
 - USB 2.0摄像头
 - 工业相机详情
 
 
 - GStreamer-1.0安装和设置 
 - Orin Nano中的软件编码 
- Argus相机软件编码示例 
- 建设和运行
 - 支持的选项
 - 流量
 
 - 关键结构和功能
 - 硬件到软件编码器属性映射
 - 缓冲区兼容性 
- NvBufSurfaceCopy输出
 
 - 性能和质量比较数字
 - 加速的GStreamer管道 
- 摄像机和编码管道
 - 转码管道
 
 
 - Argus相机软件编码示例 
 
 - 多媒体api 
 - WebRTC框架中的硬件加速 
- 典型缓冲液流量
 - 应用程序和单元测试设置 
- 设置和测试NvEncoder示例应用程序
 
 - 重要的方法调用 
- 创建启用硬件的视频编码器
 - 查询视频编码器
 - 获取支持的视频格式
 
 - WebRTC包
 - 限制
 
 - 图形 
- 图形api 
- EGL详细信息 
- 支持的EGL扩展
 
 - GL和Vulkan详细信息 
- 支持的OpenGL扩展
 - 支持的opengl-es扩展
 - 支持的GLX扩展
 
 
 - EGL详细信息 
 - 图形编程 
- 二进制着色器程序管理 
- 自动着色器缓存
 - 比较与组合
 
 - GLSLC着色器程序编译器 
- 编译着色器程序
 - 编译的着色器程序特性
 - 按需加载的库
 
 - OpenGL ES编程技巧 
- 高效编程
 - 避免内存碎片
 - 显卡驱动程序CPU使用率
 - 绩效指南
 
 
 - 二进制着色器程序管理 
 - EGLDevice 
- EGLDevice
 - EGLOutput
 - EGLStream
 - 分机
 - 运行时配置 
- 需要溪流表面的条件
 
 - 实施 
- 渲染到EGLDevice
 - 创建流曲面
 - 跨进程和跨分区EGLStream应用程序
 
 - 将表面连接到屏幕
 - 使用DRM设置显示器 
- 选择编码器、CRTC和连接器
 - 更多信息
 
 - 板到显示器连接器
 
 - EGLStream 
- EGLStream生产者
 - EGLStream使用者
 - EGLStream操作模式 
- 邮箱模式
 - FIFO模式
 
 - EGLStream管道 
- 构建简单的EGLStream管道
 - 销毁EGLStream管道
 - EGLStream状态
 
 - 构建跨进程EGLStream管道 
- 构建跨进程EGLStream管道
 - 跨进程EGLStream示例
 - 运行跨进程EGLStream管道示例
 
 
 - 示例应用程序 
- NVIDIA图形示例应用程序 
- 构建示例
 - 启动图形系统
 - 用脚本启动Weston
 - 手动启动Weston
 - 上游应用示例: 齿轮
 
 
 - NVIDIA图形示例应用程序 
 - OpenWFD 
- 支持的OpenWFD api
 - 支持的OpenWFD扩展 
- WFD_NVX_create_source_from_nvscibuf
 - WFD_NVX_commit_non_blocking
 - WFD_NVX_nvscisync
 - WFD_NVX_port_mode_timings
 
 - OpenWFD使用指南
 
 - Vulkan SC 
- Vulkan SC扩展 
- 实例扩展
 - 设备扩展
 - 窗口系统
 
 - Vulkan SC装载机
 - Vulkan SC验证层
 - Vulkan SC管道缓存编译器 (PCC) 工具
 - Vulkan SC软件包
 
 - Vulkan SC扩展 
 - Vulkan SC样品 
- 构建示例 
- 先决条件
 - 建立在目标上
 
 - 运行Vulkan SC示例 
- 运行vulkanscinfo命令
 - 运行vksc_01tri示例
 - 运行vksc_computepliticles示例
 
 
 - 构建示例 
 
 - 图形api 
 - 开窗系统 
- 韦斯顿 (韦兰) 
- 韦斯顿/韦兰建筑
 - 贝壳
 - 配置
 - 环境变量
 - GBM
 - 运行Weston 
- 用脚本启动Weston
 - 手动启动Weston
 
 - 多个显示头
 - weston.ini显示选项示例
 - 热插拔 
- 经过验证的用例
 - Weston中修复的问题
 - 已知问题
 
 - Weston中的合成模式
 - Weston中的NV16/NV24
 - 共享内存渲染 
- 运行测试用例
 
 - DMA缓冲区渲染 
- 运行经过验证的用例 (视频播放测试)
 - VPR内存
 - 运行示例案例
 - 电流限制
 
 - Weston dma-buf支持 
- 缓冲区分配
 - 缓冲区写入/从CPU读取
 - Wayland协议将dma-buf缓冲区过帐到Weston
 - Weston中的GL渲染器
 - Weston中的显示硬件合成
 - Weston dma-buf示例
 
 - weston-调试
 - GNOME Wayland桌面Shell支持 
- 启动窗口系统
 
 
 - X窗口系统 
- 手动启动X服务器 
- 启动X服务器
 - 停止X服务器
 
 - 运行时配置
 - 使用xrandr进行运行时配置
 - 查询支持的显示器和屏幕分辨率 
- 查询附加显示和检测可用模式的步骤
 
 - 获得额外帮助 
- 获得进一步帮助并查看所有可用选项
 
 - 修改静态配置 (可选)
 - 使用nvidias-xconfig配置xorg.conf 
- 获取有关nvidias-xconfig的帮助
 - 为显示指定自定义EDID
 - 设置颜色位深
 - 指定模式
 - 启用调试模式
 - 多显示器X服务器布局
 
 - 需要编辑xorg.conf的配置 
- 启用屏幕保护程序功能
 - 配置EDID轮询和本机解析
 - 启用混合和视频叠加
 
 
 - 手动启动X服务器 
 
 - 韦斯顿 (韦兰) 
 - 相机开发 
- 相机软件开发解决方案 
- 相机架构堆栈
 - 相机API矩阵
 - 验证和测试V4L2驱动程序的方法 
- 使用libargus低级api的应用程序
 - 使用GStreamer和nvarguscamerasrc插件的应用程序
 - 使用带有V4L2源插件的GStreamer的应用程序
 - 直接使用V4L2 IOCTL的应用程序
 
 - ISP配置
 - 无限超时支持
 - Mesa安装更改了符号链接
 - 其他参考资料
 
 - 传感器软件驱动程序编程 
- 相机核心库接口
 - 直接V4L2接口
 - 相机模块和设备树 
- 将摄像头模块添加到设备树
 - 模块属性
 
 - 单个成像设备 
- 设备属性
 - 分段线性压缩函数示例
 - 示例数字重叠WDR曝光帧 (3840 × 2160)
 - 端口绑定
 - 传感器像素时钟
 - SerDes像素时钟
 - 端口索引
 
 - V4L2内核驱动程序 (版本1.0) 
- 宏定义
 - 传感器-私人数据
 - 配置Regmap
 - 配置控件
 - 将控件链接到其控件处理程序
 - 设置控制寄存器
 - 电源功能
 - 设置V4L2子设备和Camera Common
 - 控制处理程序
 - 设备树解析器
 - 媒体控制器设置
 - 传感器驱动程序探测
 - 媒体控制器的设置
 - 删除传感器驱动程序
 
 - V4L2内核驱动程序 (版本2.0) 
- 宏定义
 - 传感器-私人数据
 - 寄存器映射 (regmap)
 - 传感器控制
 - 暴露控制
 - 定点格式
 - 控制处理程序
 - Setter控件处理程序 (用于编写设置)
 - 填充字符串控件处理程序 (用于读取设置)
 - 如何实施控制
 - 注册控件
 - 如何提供到控件处理程序的链接
 - 为控制处理程序设置寄存器
 - 寄存器中的读写包装
 - 电源功能
 - 流函数
 - 杂项功能
 - 控制操作
 - 启动时间初始化
 
 - 可加载内核模块 (LKM) 
- 将传感器驱动程序配置为可加载模块
 - 加载新的传感器模块
 
 - 内核配置
 - 设备注册 
- 先决条件
 - 设备树覆盖
 - 创建和应用DTB覆盖文件的步骤
 - 使用jetson-io工具
 - 使用主平台设备树文件
 - 使用主平台设备树文件注册设备
 
 - 验证V4L2传感器驱动程序 
- 运行v4l2-compliance测试
 - 运行v4l2-ctl测试
 
 - 调试提示 
- 验证驱动程序名称是否与设备树中的名称匹配
 - 验证所有设备名称是否与设备树匹配
 - 验证设备树的值是否与硬件匹配
 - 验证函数是否运行完成
 - 验证默认值是否正确链接
 - 验证控制寄存器值是否正确
 - 验证特定于模式的设置是否正确
 - 验证I2C访问是否正常工作
 - 将传感器驱动程序配置为可加载内核模块 (LKM)
 
 - 模式表 
- 添加寄存器模式表
 - 寄存器模式表注意事项
 
 - 相机传感器驱动程序移植 
- 如何找到版本28和当前版本之间的差异
 - V4L2 API的更改
 - 对设备树属性的更改
 - 将版本1.0驱动程序移植到版本2.0
 - 设备树
 - 驾驶员
 
 
 - 带GMSL摄像机框架的Jetson虚拟通道 
- 参考设置
 - GMSL协议
 - GMSL摄像机
 - CSI连接 
- Jetson AGX Orin
 - Jetson Xavier NX系列
 - Jetson AGX Xavier系列
 
 - 硬件模块连接
 - 软件框架和编程 
- 驱动程序框架
 - 设备树编程
 
 - 约束条件
 - 验证
 - 已知问题 
- 一般问题
 - Xavier-特定
 - 插件管理器板ID
 
 
 - Argus NvRaw工具 
- 使用的先决条件
 - 相机传感器模式
 - nvargus_nvraw命令 
- nvargus_nvraw用法
 - 基本示例
 - 显示传感器信息
 - 捕获图像
 - 其他业务
 - 限制
 
 
 - 摄像头驱动程序移植 
- 配置更改
 - 传感器驱动程序文件名更改
 - 保护内核版本特定的代码
 - dev_err() 函数
 - I2C API
 - NVIDIA捕获驱动程序代码路径
 
 
 - 相机软件开发解决方案 
 - 安全 
- 安全启动 
- 整体融合和签名二进制文件流程
 - Prerequisites安全启动
 - 保险丝和安全
 - 保险丝配置文件 
- Jetson Orin Fuse配置文件
 - Jetson Xavier NX和Jetson AGX Xavier保险丝配置文件
 
 - 生成PKC密钥对 
- 从PKC密钥对生成 PublicKeyHash 值
 
 - 准备SBK密钥
 - 准备K1/K2/KEK密钥
 - 准备保险丝配置文件
 - 使用保险丝配置文件烧毁保险丝
 - 签名和闪存保护的图像 
- 一步签署和闪存安全的图像
 - 在单独的步骤中签名和闪存保护的图像
 
 - 对Xavier SoC的安全启动的传统支持
 - 燃烧PKC、KEK和SBK保险丝 
- odmfuse.sh选项
 - 使用l4t_initrd_flash.sh脚本通过initrd进行签名和闪烁
 
 - UEFI Secureboot 
- 先决条件
 - 参考资料
 - 准备PK,KEK,db密钥
 - 生成签名的UEFI有效负载
 - 在闪烁时启用UEFI Secureboot
 - 通过从Ubuntu提示符运行UEFI实用程序启用UEFI Secureboot
 
 
 - Op-tee: 开放可移植可信执行环境 
- Jetson Linux中的op-tee
 - 体系结构 
- 执行步骤
 
 - 可信应用程序和客户端应用程序开发 
- 如何实现新的受信任应用程序或移植现有应用程序
 - 受信任的应用程序类型
 
 - Fuse密钥和自定义密钥的密钥派生函数 
- 加密的keyblob
 - 加密的Keyblob概述
 - 加密的Keyblob格式
 - EKB标头
 - EKB内容
 - EKB二进制大小限制
 - 加密的Keyblob生成和设备配置
 - 加密的Keyblob解密
 - SE Keyslot Clearing
 
 - 安全样品 
- 伪可信应用程序示例: jetson_user_key_pta
 - Hwkey-agent受信任的应用程序
 - nvhwkey-应用程序客户端应用程序
 
 - 关键维护和EKBs 
- 保险丝钥匙的KDF
 - NIST-SP-800-108的伪代码
 - EKB生成
 - EKB提取
 - 用于生成EKB的工具
 - EKB提取样本
 
 - jetson_user_key_pta中的AES-256硬件密钥派生函数 
- AES-256硬件KDF的流程
 - API函数
 
 
 - 磁盘加密 
- 设置准备
 - 操作细节
 - 威胁模型
 - Jetson Linux中的磁盘加密实现 
- 加密磁盘的布局
 - 如何创建文件系统映像
 - 如何在主机上创建加密的Rootfs
 - 如何将加密的Rootfs闪存到外部存储设备
 - 增强initrd以解锁加密的Rootfs
 - 修改initrd以解锁其他加密文件系统
 - 摘要
 
 - 制造工艺
 
 - 安全存储 
- Jetson Linux中的安全存储
 - SSK和HUK
 - RPMB密钥管理
 
 - 回滚保护 
- 概述
 - MB1-BCT、MB2和更高版本组件的回滚保护 
- MB1-BCT
 - MB2及更高版本的组件
 - 递增MB2及更高版本组件的版本号
 
 
 - 内存加密
 
 - 安全启动 
 - 通信 
- PCIe端点模式 
- 硬件要求
 - 刷新Jetson NX Xavier系列系统上的PCIe端点
 - 刷新Jetson AGX Xavier系列系统上的PCIe端点
 - 刷新Jetson AGX Orin系列系统上的PCIe端点
 - 连接和配置设备
 - 测试程序 
- 准备测试
 - 访问端点设备上的共享RAM
 - 访问根端口系统上的共享RAM
 - 测试双向数据传输
 
 - 通过PCIe启动以太网接口 
- 自定义端点函数驱动程序
 
 
 - 启用蓝牙音频 
- 启用蓝牙音频
 
 - 音频设置和开发 
- 用于Jetson产品的ASoC驱动程序 
- ALSA
 - DAPM
 - 设备树
 - ASoC驱动程序
 
 - 音频集线器硬件架构
 - ASoC驱动程序软件体系结构 
- 平台驱动程序
 - 编解码器驱动程序
 - ASoC机器驱动程序
 - 时钟和电源管理
 
 - 高清晰度音频 
- 支持的功能
 - 软件驱动程序详细信息
 
 - USB音频 
- 支持的功能
 - 软件驱动程序详细信息
 
 - 板接口
 - 40针GPIO扩展接头 
- Pinmux配置
 - 自定义声卡的设备树配置
 - 启用编解码器驱动程序
 - 更新机器驱动程序以支持自定义音频卡
 
 - HD音频标头 
- 支持的音频格式
 - 使用指南
 
 - 用法和示例 
- 示例: I2S
 - 示例: DMIC
 - 示例: DSPK
 - 示例: MVC
 - 示例: AMX
 - 示例: ADX
 - 示例: SFC
 - 示例: 混合器
 - 示例: HDMI/DP播放
 - 示例: USB
 
 - 故障排除 
- 未找到声卡
 - 听不到声音或没有录音
 - I2S软件重置失败
 - 在播放或捕获期间观察到的XRUN
 - 音频弹出声和咔嗒声
 - 在NVIDIA开发者论坛上获取更多帮助
 
 
 - 用于Jetson产品的ASoC驱动程序 
 
 - PCIe端点模式 
 - 时钟 
- 检查时钟状态
 - 覆盖默认时钟速率
 - 配置GPU时钟 
- 以固定频率运行GPU
 
 - 配置VIC时钟
 - VIC动态电压和频率调节
 - DVFS控制的Sysfs路径 
- 用于DVFS控制的Sysfs节点的路径名
 - VIC DVFS控制术语
 - 启用或禁用VIC DVFS
 - 使用控制旋钮自定义VIC DVFS
 
 - 设置静态VIC频率 
- 设置静态VIC频率
 
 - 配置时钟 
- 更改内核设备驱动程序模块中的时钟配置
 - 使用PLLAON作为时钟源
 - 可以将PLLAON作为父时钟
 
 
 - 平台功率和性能 
- Jetson Orin Nano系列、Jetson Orin NX系列和Jetson AGX Orin系列 
- 交互特征
 - 内核空间节能功能 
- 芯片组电源状态
 
 - 时钟和电压管理 
- 调节器框架
 
 - CPU电源管理 
- 使用cpufreq进行频率管理
 - 使用cpuidle进行空闲管理
 
 - 内存电源管理 
- EMC频率扩展策略
 
 - 支持的模式和电源效率 
- 电源模式控制
 
 - 风机剖面控制 
- 风扇配置文件配置
 - nvfancontrol
 
 - 热管理 
- Linux散热框架
 - 热区
 
 - Linux中的热管理 
- 热传感器
 - 热冷却
 
 - BPMP中的热管理 
- 热传感
 - SOC_THERM
 - BPMP热框架
 - 硬件节流
 - 硬件热关断
 
 - 热规格
 - 基于软件的功耗建模 
- Jetson AGX Orin系列
 - 示例
 - Jetson Orin NX系列和Jetson Orin Nano系列
 - 示例
 
 - 相关工具和技术 
- CPU热插拔
 - CPU频率缩放
 - GPU 3D频率缩放
 - 获取和设置频率
 - 最大限度地提高Jetson Orin系列的性能
 - 风扇速度控制
 - nvpmodel GUI
 - Jetson Power GUI
 
 
 - Jetson Xavier NX系列和Jetson AGX Xavier系列 
- 交互特征
 - 内核空间节能功能 
- 芯片组电源状态
 
 - 时钟和电压管理 
- 调节器框架
 
 - CPU电源管理 
- 使用cpufreq进行频率管理
 - 使用cpuidle进行空闲管理
 
 - 内存电源管理 
- EMC频率扩展策略
 
 - 支持的模式和电源效率 
- 电源模式控制
 
 - 风机剖面控制 
- 风扇配置文件配置
 - nvfancontrol
 
 - 热管理 
- Linux散热框架
 - 热区
 
 - Linux中的热管理 
- 热传感器
 - 热冷却
 
 - BPMP中的热管理 
- 热传感
 - SOC_THERM
 - AOTAG
 - BPMP热框架
 - 硬件节流
 - 硬件热关断
 
 - 热规格
 - 基于软件的功耗建模 
- Jetson Xavier NX系列
 - Jetson AGX Xavier系列
 - 示例
 
 - 相关工具和技术 
- CPU热插拔
 - CPU频率缩放
 - GPU 3D频率缩放
 - 获取和设置频率
 - 最大限度地提高Jetson Xavier的性能
 - 风扇速度控制
 - nvpmodel GUI
 - Jetson Power GUI
 
 
 
 - Jetson Orin Nano系列、Jetson Orin NX系列和Jetson AGX Orin系列 
 - 软件包和更新机制 
- 安装其他软件包
 - 重新打包Debian包
 - 自己构建内核Debian软件包
 - 使用包 
- 包依赖关系
 - nvidia-l4t-kernel 
- 前依赖项和依赖项
 - 软件包脚本
 
 - nvidia-l4t-kernel-dtbs 
- 前置依赖项和依赖项
 - 软件包脚本
 
 - nvidia-l4t-kernel-headers 
- 前置依赖项和依赖项
 - 软件包脚本
 
 - nvidia-l4t-jetson-io 
- 前置依赖项和依赖项
 - 软件包脚本
 
 
 - 空中更新 
- 从NVIDIA APT服务器更新 
- 更新Jetson设备
 - 更新主机
 - NVIDIA APT服务器上的Debian软件包
 - 自定义Debian软件包
 
 - 下载Debian软件包供以后使用
 - 使用基于映像的空中更新更新Jetson Linux 
- 术语和缩写
 - 整体高级别流程
 - 准备基于图像的OTA更新
 - 用于触发OTA的实用程序
 - 使用分区布局更改进行更新
 - 备份和还原应用程序分区上的文件
 - 外部设备上的OTA升级
 - 完整和安全的OTA
 - 自定义
 - 使用自定义的更新程序和映像更新Rootfs分区
 - 用户发布版本
 - 更新ESP分区
 
 
 - 从NVIDIA APT服务器更新 
 
 - 与源一起工作
 
硬件参考
- Jetson Developer Kit设置
 - Jetson EEPROM布局 
- 供应商指定的MAC地址的配置
 - CRC-8字节的值
 
 - Jetson模块适配和启动 
- Jetson AGX Orin系列 
- 主板配置
 - 电路板命名
 - CPU拆分锁定功能
 - 移植说明中的占位符
 - 摄像头连接器引脚差异
 - 根文件系统配置
 - MB1配置更改 
- Pinmux更改
 - 识别GPIO编号
 
 - MB2配置更改 
- 修改EEPROM
 
 - 更改Pinmux
 - 更改GPIO引脚
 - 移植linux内核
 - PCIe控制器配置 
- PCIe控制器特性
 
 - 移植通用串行总线 
- USB结构
 - USB SerDes通道分配
 - 所需的设备树更改
 - 在usci_ccg节点下
 - Jetson AGX或in Devkit默认PCIe配置
 - 在客户CVB设计中启用PCIe
 - 调试PCIe链接失败
 - 启用PCIe ASPM
 - 为PCIe启用更多SPI中断
 - 用于PHY
 - 用于开关
 - 对于RGMII
 
 - UPHY车道配置 
- 闪烁生成映像
 - 设置可选环境变量
 
 - 启用eMMC EUDA
 - EMMC生命周期和数据保留/更新 
- 设备运行状况/寿命终止
 - 保留/刷新
 
 
 - Jetson AGX Xavier系列 
- 主板配置
 - 电路板命名
 - 移植说明中的占位符
 - 摄像头连接器引脚差异
 - 根文件系统配置
 - MB1配置更改 
- Pinmux更改
 - GPIO更改
 - PMIC变化
 - 为看门狗超时启用WDT_RESET_OUT_N引脚
 
 - 移植linux内核
 - PCIe控制器配置 
- PCIe控制器特性
 
 - 移植通用串行总线 
- USB结构
 - UPHY车道分配
 - 所需的设备树更改
 - Jetson AGX Xavier Devkit默认PCIe配置
 - 在客户CVB设计中启用PCIe
 - 调试PCIe链接失败
 
 - 闪烁生成映像 
- 设置可选环境变量
 - 闪烁生成映像
 
 
 - Jetson Orin NX和Nano系列 
- 主板配置
 - 命名董事会
 - 移植说明中的占位符
 - 根文件系统配置
 - MB1配置更改 
- 生成Pinmux dtsi文件
 - 更改Pinmux
 - 启用VPR Carveout
 
 - 识别GPIO编号
 - 更改GPIO引脚
 - EEPROM修改
 - 移植linux内核设备树文件
 - 配置PCIe控制器 
- PCIe控制器特性
 - 在客户载波板设计中启用PCIe
 
 - 移植通用串行总线 
- USB结构
 - 通用物理层通道分配
 - 所需的设备树更改
 - 配置UPHY车道
 - T234的ODM数据
 - HSIO UPHY车道映射选项
 - GBE UPHY车道映射选项
 - 闪烁生成映像
 - 设置可选环境变量
 
 
 - Jetson Xavier NX系列 
- 主板配置
 - 电路板命名
 - 根文件系统配置
 - MB1配置更改 
- Pinmux更改
 - GPIO更改
 - PMIC变化
 
 - 移植linux内核
 - PCIe控制器配置 
- PCIe控制器特性
 
 - 移植通用串行总线 
- USB结构
 - 所需的设备树更改
 - Jetson Nx Xavier Devkit默认PCIe配置
 - 在客户CVB设计中启用PCIe
 - 调试PCIe链接失败
 - 启用PCIe ASPM
 
 - 闪烁生成映像 
- 设置可选环境变量
 - 闪烁生成映像
 
 
 - 检查单 
- 硬件提出清单 
- 通电前
 - 初次通电
 - 初始软件闪烁
 - 电源
 - 电源优化
 - USB 2.0 PHY
 - USB 3.0
 - HDMI
 - DisplayPort
 - 音频
 - UART
 - SD卡引脚
 - 风扇
 - 传感器I2C: 一般
 - 传感器I2C: 触摸屏 (可选)
 - PEX (可选)
 - SATA (可选)
 - PCIe (可选)
 - 嵌入式显示器 (可选)
 - 成像仪 (可选)
 
 - 软件启动检查表 
- 准备工作
 - 调出硬件验证
 - 启动验证
 - 内核和外围设备、端口和验证
 - 系统电源和时钟
 
 
 - 硬件提出清单 
 
 - Jetson AGX Orin系列 
 - 硬件参考文档
 - 配置Jetson扩展标头 
- 运行jetson-io 
- 主屏幕: 选择页眉
 - 标题屏幕
 - 兼容的硬件屏幕
 - 扩展标题配置屏幕
 - 配置CSI连接器
 - 主屏幕: 保存
 - 命令行界面 
- config-by-pin: 按Pin查看标题配置
 - 按功能配置: 按特殊功能配置标头
 - 按硬件配置: 按硬件模块配置标头
 
 
 - 添加对自定义硬件的支持 
- 设备树覆盖图
 - 创建简单的设备树覆盖
 - 创建自定义设备树覆盖
 
 
 - 运行jetson-io 
 - 控制器局域网 (CAN) 
- 重要特征
 - Jetson平台详细信息
 - 启用CAN 
- 内核DTB
 - Pinmux
 
 - 内核驱动程序 
- 加载CAN内核驱动程序
 
 - 管理网络 
- 设置接口属性
 - 要安装CAN实用程序
 - 传输数据包
 
 - 调试方法 
- 环回测试 
- 执行环回测试
 
 - 其他方法
 
 - 环回测试 
 - 获得更高的比特率 
- 为更高的比特率配置TDCR
 
 - 在T194平台上更改可以父时钟
 - 更改CAN时钟速率
 
 
应用程序和工具
- 板自动化 
- 主机系统设置
 - 基本电路板控制 
- 对于Jetson AGX Orin
 - 适用于Jetson AGX Xavier系列
 
 - UART访问
 
 - Jetson Linux工具链 
- 工具链信息
 - 下载工具链
 - 提取工具链
 - 设置CROSS_COMPILE环境变量
 
 - Jetson Linux开发工具 
- 在Jetson平台上调试 
- 调试改进
 - CoreSight Trace汇入ETF和ETR
 - AMBA跟踪ID (ATID) 映射
 - Uncore: 性能监控单元 
- 特定于设备的功能和限制
 
 - 在安全目标上启用JTAG支持 
- 在安全目标上启用JTAG接口
 - 通过BCT配置文件启用调试功能
 
 
 - 程序跟踪宏单元
 - 调试内核 
- 重新配置和重建内核 
- 确定是否必须修改内核配置
 
 - 修改内核配置文件
 - 使用KGDB 
- 从内核命令行启动KDGB
 
 
 - 重新配置和重建内核 
 - Tegrastats实用程序 
- 报告的统计数据 
- T194平台的输出示例
 
 - 运行tegrastats 
- 运行tegrastats
 - 停止tegrastats
 
 - 重新部署tegrastats 
- 重新部署tegrastats
 
 - tegrastats命令行选项
 
 - 报告的统计数据 
 
 - 在Jetson平台上调试 
 - 如何提交Bug报告 
- 提交bug报告
 
 
参考材料
- 包清单 
- 引导加载程序
 - 内核 
- 内核补充TBZ2
 - 内核头文件TBZ2
 
 - 工具
 - NV Tegra 
- Nvgstapps TBZ2
 - 配置TBZ2
 
 - 图形演示 
- NVIDIA驱动程序TBZ2
 - 手术三通
 - NVIDIA工具TBZ2
 - 韦斯顿TBZ2
 
 
 - 相关文档 
- 应用说明和其他文件
 - READMEs
 
 - 法律信息
 
