NVIDIA 配置 Jetson 扩展针座

news2025/1/16 6:02:59

系列文章目录


前言

每个 Jetson 开发套件包括多个扩展接头和连接器(统称 "接头"):

40 针扩展接头: 可让您将 Jetson 开发套件连接到现成的 Raspberry Pi HAT(顶部附加硬件),如 Seeed Grove 模块、SparkFun Qwiic 产品等。许多引脚可用作 GPIO 或 "特殊功能 I/O"(SFIO),如 I2C、I2S 等。

CSI 连接器: 该连接器上的引脚既可用作 GPIO,也可用作 DMIC、DSPK、I2S 等 "特殊功能 I/O"(SFIO)。

M.2 Key E 插槽: 该连接器上的引脚既可用作 GPIO,也可用作 I2S 等 "特殊功能 I/O"(SFIO)。

该表显示了每个 Jetson 平台上可用的扩展头:

Jetson Platform

40-pin header

M.2 Key E slot

CSI connector *

NVIDIA® Jetson Orin™ NX and Jetson Orin™ Nano series

NVIDIA® Jetson AGX Orin™

NVIDIA® Jetson Xavier™ NX series

NVIDIA® Jetson AGX Xavier™ series

* Jetson-IO 将 Jetson Xavier NX 系列设备上的 CSI 连接器识别为 "CSI Nano 连接器"。CSI Nano 连接器是一个 30 针连接器。其他 NVIDIA® Jetson™ 设备上的 CSI 连接器是标准的 128 针连接器。

Jetson 开发套件上所有 I/O 引脚的配置都是静态定义的,并在闪存时编程到设备中。要直接更改引脚配置,必须更新平台的 pinmux 电子表格,然后将新配置闪入 Jetson 设备。

这是配置生产系统的合适方法,但对开发系统来说非常不便。因此,英伟达提供了 Jetson 扩展头工具(又称 Jetson-IO),这是一个在 Jetson 开发套件上运行的 Python 脚本,可让用户通过图形用户界面更改引脚配置。Jetson-IO 会修改设备树 Blob (DTB) 固件,以便在重启开发套件时应用新的扩展头配置。


一、运行 Jetson-IO

要启动 Jetson-IO,请在开发套件上输入以下命令:

sudo /opt/nvidia/jetson-io/jetson-io.py

1.1 主屏幕: 选择扩展头

启动 Jetson-IO 时会显示主屏幕,其中列出 Jetson 设备支持的扩展头。例如,在 Jetson AGX Xavier 上,主屏幕如下所示:

选择其中一个选项可显示标题屏幕,您可以用它来配置所选标题。

1.2 扩展头屏幕

页眉屏幕显示所选页眉的当前配置。例如,在 Jetson AGX Xavier 上,40 针扩展针座的针座屏幕如下所示:

头屏幕为您提供了两个配置 I/O 引脚的选项:

  • 为兼容硬件配置: 显示 "兼容硬件 "屏幕,让您从可连接到针座的硬件模块配置列表中进行选择。
  • 手动配置针座引脚: 显示 "扩展针座配置 "屏幕,让您指定要在针座上启用的功能。
  • 返回: 返回主屏幕。

1.3 兼容硬件屏幕

兼容硬件屏幕显示选定针座与特定硬件模块接口的配置列表。例如,在 Jetson AGX Xavier 上,40 针扩展针座的兼容硬件屏幕如下所示:

选择配置后,Jetson-IO 会返回头屏幕,更新头配置以反映所选硬件模块:

页眉屏幕还会显示一组不同的选项:

  • 保存针脚更改: 保存针座的新配置并返回主屏幕;请参阅主屏幕: 保存,如下。
  • 丢弃针脚更改: 丢弃针头的新配置更改,并重新显示带有原始选项集的先前配置(见上文 "针头屏幕")。您可以再次选择配置选项,或选择 "返回 "返回主屏幕。

1.3 扩展头配置屏幕

扩展头配置屏幕显示所选头支持的特殊功能列表。括号中显示了与功能相关的引脚。例如,在 Jetson AGX Xavier 上,40 针针座的扩展针座配置屏幕如下所示:

要切换引脚功能,请按向上箭头和向下箭头键突出显示该功能,然后按 Enter 或空格键。

有关支持功能的更多详情,请参阅开发套件中 Jetson SoC 的《技术参考手册》(TRM)。

要接受所选功能集,请选择 "返回"。Jetson-IO 重新显示页眉屏幕,更新以反映所选功能的新状态。头屏幕还显示 "保存引脚更改 "和 "放弃引脚更改 "选项,如 "兼容硬件屏幕 "中所述,另外还有一个选项:

  • 导出为设备树覆盖: 将所选头配置导出为新的设备树覆盖(DTBO)。它将文件存储在 /boot/ 目录中。

1.4 配置 CSI 连接器

适用于 仅适用于 Jetson Xavier NX 系列

主菜单选项 "Configure Jetson Nano CSI Connector(配置 Jetson Nano CSI 连接器)"可让您配置 Jetson Xavier NX 上的 CSI 连接器。

  1. 从主菜单中选择 "Configure Jetson Nano CSI Connector(配置 Jetson Nano CSI 连接器)"。
  2. Jetson-IO 显示 CSI 连接器屏幕。
  3. 从兼容硬件列表中选择。您可以添加自定义配置,如传感器软件驱动程序编程主题中的内核配置所示。
  4. 选择 "保存针脚更改",保存所做的选择:
  5. 选择 "保存并重新启动以重新配置引脚 "完成重新配置:
  6. Jetson-IO 会显示所修改 DTB 文件的名称,并提示您重新启动设备:

1.5 主屏幕: 保存

完成对针座配置的更改并选择针座屏幕的 "保存针脚更改 "选项后,Jetson-IO 将重新显示主屏幕。

主屏幕允许您配置或重新配置另一个针座,并显示一些附加选项:

  • 保存并重新启动以重新配置引脚: 通过为标头配置应用设备树覆盖创建新的 DTB,更新用于启动 Linux 的配置文件(/boot/extlinux/extlinux.conf),并重新启动开发套件。
  • 保存并退出,无需重启: 与 "保存并重启 "一样,创建新的 DTB 并更新 extlinux.conf,但不会重启开发工具包。您可以自行选择重启时间,应用新配置。
  • 丢弃所有针脚更改: 丢弃对所有标头所做的更改;以原始选项集重新显示主屏幕。

注意事项

Jetson-IO 会保留您保存在配置文件中的所有配置,而不仅仅是最新的配置。如果除默认配置外还保存了一个或多个配置,每次启动时开发套件都会显示一个配置菜单,允许您选择当前配置或任何较旧的配置。

1.6 命令行界面

如果您喜欢通过命令行而不是菜单配置头文件,NVIDIA 提供了一套命令行实用程序,可提供相同的功能。下文将介绍这些实用程序。

config-by-pin: 按引脚查看头配置
显示支持的头的当前配置:

config-by-pin.py [<options>]

命令行选项指定要显示的配置部分。如果没有指定选项,则显示整个配置。

下表描述了命令行选项。

命令行选项含义

-h

–help

显示使用信息并退出。

-l –list

列出目标平台支持的头和每个头的头编号。(命令行实用程序使用头文件编号来指代特定的头文件)。

-n <h>

–header <h>

指定头的头编号。如果未指定,则默认为 1,目前代表 40 引脚扩展头。该选项与 -p 一起使用,可指定一个针座和该针座上的引脚。

-p <p>

–pin <p>

显示扩展头编号 <h> 上引脚 <p> 的当前配置。

示例:

sudo /opt/nvidia/jetson-io/config-by-pin.py
sudo /opt/nvidia/jetson-io/config-by-pin.py -l
sudo /opt/nvidia/jetson-io/config-by-pin.py -p 5
sudo /opt/nvidia/jetson-io/config-by-pin.py -p 10 -n 2

config-by-function: 按特殊功能配置标头
显示并配置所有支持的标头的 I/O 功能:

config-by-function.py -h
config-by-function.py ‑l {all,enabled}
config-by-function.py ‑o {dtb,dtbo} <hfs> <hfs> ...

下表介绍了命令行选项。

命令行选项含义

-h

–help

显示使用信息并退出。

-l {all,enabled}

–list {all,enabled}

列出标头支持的功能。
 all 列出所有功能;enabled 仅列出当前已启用的功能。

-o {dtb,dtbo}

–out {dtb,dtbo}

创建新的 DTB 或一个或多个设备树覆盖,其中包含对标头所做的配置更改。

dtb: 创建新的 DTB 文件。Linux 启动配置文件(/boot/extlinux/extlinux.conf)将更新为使用该 DTB 启动的新选项。

dtbo: 为每个重新配置的头创建设备树覆盖文件。

<hfs> <hfs> …

与 -o 一起使用,可在一个或多个标头中启用一个或多个功能。每个 <hfs> 都有以下一种形式:

<hn>="<f1> <f2> ..."
<hn>=<f1
其中

<hn> 是页眉编号,如 1 或 2。

<f1> <f2> ...是该标头要启用的一个或多个功能的列表。

如果只指定一个功能,可以省略引号。

您也可以以其中一种形式指定 <hfs>,以便只配置标头编号 1:

"<f1> <f2> ..."
<f1>

示例:

sudo /opt/nvidia/jetson-io/config-by-function.py -l all
sudo /opt/nvidia/jetson-io/config-by-function.py -l enabled
sudo /opt/nvidia/jetson-io/config-by-function.py -o dtb i2s4 spi1
sudo /opt/nvidia/jetson-io/config-by-function.py -o dtbo i2s4 spi1
sudo /opt/nvidia/jetson-io/config-by-function.py -o dtb 1="i2s4 spi1" 2=dmic2
sudo /opt/nvidia/jetson-io/config-by-function.py -o dtbo 1="i2s4 spi1" 2=dmic2

config-by-hardware: 按硬件模块配置头
显示支持的硬件模块配置列表,并为给定的硬件模块配置 Jetson 设备:

config-by-hardware.py -h
config-by-hardware.py -l
config-by-hardware.py -n <hds> <hds> ...

下表介绍了命令行选项。

Command line option

Meaning

-h

–help

显示使用信息并退出。

-l

–list

显示可用硬件模块配置列表。

‑n <hds> <hds> …

‑name <hds> <hds> …

配置一个或多个头以连接指定的硬件模块。每个 <hds> 的格式如下

<hn>=<模块
其中

<hn> 是标头编号,如 1 或 2。

<module> 是要配置标头的硬件模块。

您也可以将 <hds> 单独指定为 <module>(不含 <hn> 或 "="),以仅配置标头编号 1。

该选项会为指定的硬件模块生成一个新的 DTB 文件,并更新 Linux 启动配置文件 /boot/extlinux/extlinux.conf,加入使用该 DTB 启动的新选项。

示例:

sudo /opt/nvidia/jetson-io/config-by-hardware.py -l
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n "Adafruit SPH0645LM4H"
sudo /opt/nvidia/jetson-io/config-by-hardware.py -n 1="Adafruit SPH0645LM4H"

二、添加对定制硬件的支持

通过为硬件模块创建设备树覆盖层,您可以使用 Jetson-IO 支持自定义硬件模块。下面几节将介绍这一过程。

2.1 设备树覆盖

要在 Jetson-IO 中添加对定制硬件的支持,你必须了解 Jetson-IO 是如何管理硬件附加组件的。硬件模块的支持由设备树覆盖文件(.dtbo 文件)处理。

硬件模块的设备树覆盖文件必须定义

  • 覆盖名称(overlay-name)属性,用于指定硬件模块的名称;一个可将此覆盖与其他覆盖区分开来的唯一名称
  • jetson-header-name 属性,用于指定与硬件模块相关联的扩展标头;必须根据硬件模块与哪个标头相关联,指定下表中描述的值之一

    jetson-header-name values

    Header

    Value

    40-pin expansion header

    Jetson 40pin Header

    M.2 Key E slot

    Jetson M.2 Key E Slot

    CSI connector (Jetson AGX Xavier series/Orin)

    Jetson AGX Xavier CSI Connector

  • 兼容属性表示覆盖层支持哪种 Jetson 模块和载板组合;必须指定下表中所述的一个或多个值,具体取决于支持哪些 Jetson 平台

    Jetson Platform

    compatible property values

    Jetson Xavier NX (development,P3668-0000)

    nvidia,p3509-00000+p3668-0000

    Jetson Xavier NX (production,P3668-0001)

    nvidia,p3509-0000+p3668-0001

    Jetson AGX Xavier series

    nvidia,p3509-0000+p3668-0001

    Jetson AGX Orin

    nvidia,p3737-0000+p3701-0000

    nvidia,p3737-0000+p3701-0004

    nvidia,p3737-0000+p3701-0005

    Jetson Orin NX and Nano series

    nvidia,p3768-0000+p3767-0000

    nvidia,p3768-0000+p3767-0001

    nvidia,p3768-0000+p3767-0003

    nvidia,p3768-0000+p3767-0004

    nvidia,p3768-0000+p3767-0005

    nvidia,p3509-0000+p3767-0000

    nvidia,p3509-0000+p3767-0001

    nvidia,p3509-0000+p3767-0003

    nvidia,p3509-0000+p3767-0004

    nvidia,p3509-0000+p3767-0005

  • 为针座定义的特殊功能 I/O 引脚(如有

  • 模块上任何设备(如音频编解码器等外部集成电路)的节点和/或属性

用户可通过输入以下命令为其 Jetson 平台获取正确的兼容字符串。如果您有 Jetson Nano 开发套件,该命令还可识别 PCB 修订版:

cat /sys/firmware/devicetree/base/compatible

以 "FE-PI Audio V1 和 Z V2 "模块为例。在目标机的 /boot/ 目录中,有名称符合模式的覆盖文件:

*-fe-pi-audio.dtbo

您可以使用 fdtdump 实用程序检查覆盖文件的内容,查看覆盖名称、jetson-header-name 和兼容属性。例如,在 Jetson Nano Developer Kit 上,输入以下命令即可显示这些属性:

fdtdump /boot/tegra194-p3668-all-p3509-0000-fe-pi-audio.dtbo

2.2 创建简单的设备树覆盖层

要为 Jetson AGX Xavier 开发套件创建一个简单的设备树覆盖层以添加新的自定义属性并将其附加到 40 针扩展头,请在目标平台上创建一个名为 my-overlay.dts 的文件,内容如下:

/dts-v1/;
/plugin/;

/ {
    overlay-name = "My Jetson Overlay";
    jetson-header-name = "Jetson 40pin Header";
    compatible = "nvidia,p2822-0000+p2888-0001";

    fragment@0 {
        target-path = "/";
        __overlay__ {
            my-custom-property = "This Is My Overlay";
        };
    };
};

输入以下命令将 DTS 源文件编译成叠加文件:

dtc -O dtb -o my-overlay.dtbo -@ my-overlay.dts

将新的覆盖文件复制到 /boot/ 目录后,Jetson-IO 会找到覆盖文件并允许您应用它:

sudo cp my-overlay.dtbo /boot
sudo /opt/nvidia/jetson-io/config-by-hardware.py -l

Header 1 [default]: Jetson 40pin Header
  Available hardware modules:
  1. Adafruit SPH0645LM4H
  2. Adafruit UDA1334A
  3. FE-PI Audio V1 and Z V2
  4. My Jetson Overlay
  5. ReSpeaker 4 Mic Array
   6. ReSpeaker 4 Mic Linear Array
Header 2: Jetson AGX Xavier CSI Connector
  Available hardware modules:
  1. Camera Dual IMX274
  2. Camera IMX274
  3. Jetson Camera Dual-IMX274
  4. Jetson Camera E3331 module
  5. Jetson Camera E3333 module
  6. Jetson Camera IMX185
  7. Jetson Camera IMX390
Header 3: Jetson M.2 Key E Slot
  No hardware configurations found!

sudo /opt/nvidia/jetson-io/config-by-hardware.py -n "My Jetson Overlay"

2.3 创建自定义设备树覆盖

如果你想为自定义硬件模块创建一个覆盖层,并将其连接到支持的标头之一,最简单的方法是使用 Jetson-IO 按需配置标头,并将配置导出为覆盖层。你可以使用菜单化的 Jetson-IO 脚本或相关的 config-by-... 命令行工具来完成。

例如,要为 Jetson AGX Xavier 创建一个覆盖,启用 40 针扩展针座上的 I2S 接口,请输入以下命令:

sudo /opt/nvidia/jetson-io/config-by-function.py -o dtbo i2s2
Configuration saved to /boot/kernel_tegra194-p2888-0001-p2822-0000-hdr40-user-custom.dtbo.

然后,您可以输入此命令将覆盖图转换为设备树源文件:

dtc -I dtb -O dts -o my-overlay.dts /boot/kernel_tegra194-p2888-0001-p2822-0000-hdr40-user-custom.dtbo

你可以根据自己的定制硬件修改生成的设备树源代码,添加硬件模块所需的任何额外节点和/或属性。然后重新编译设备树源代码,并将其放入 /boot/ 目录供 Jetson-IO 使用:

dtc -O dtb -o my-overlay.dtbo -@ my-overlay.dts
sudo cp my-overlay.dtbo /boot

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1659187.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

智慧公厕:打造智能、安全、舒适的公共厕所新时代

随着智慧城市建设的不断推进&#xff0c;公共设施的智能化也已成为一种必然趋势。在这一背景下&#xff0c;智慧公厕作为城市管理的一个重要方面&#xff0c;正逐渐走进人们的视野。通过对所在辖区内所有公共厕所的全域感知、全网协同、全业务融合以及全场景智慧的赋能&#xf…

保姆级Lora炼丹教程,让你实现真人模特定制

最近发现很多朋友学会了Stable Diffusion后&#xff0c;都是停留在“玩”的层面。但我觉得让大家“用”起来&#xff0c;才是关键 于是我思考了很久&#xff0c;找出了SD在“应用”层面&#xff0c;最重要的两个功能&#xff1a;Lora和ControlNet Lora负责把自己生活中有关联的…

一篇教你学会HTML:常用标签 | 表格 | 表单 | 特殊符号转义

标题标签 <h1></h1>....<h6></h6> <h1>一级标题</h1><h2>二级标题</h2><h3>三级标题</h3>我们可以添加 align属性 来改变标签的位置 (左对齐&#xff0c;居中&#xff0c;右对齐)&#xff0c;还可以设置颜色等。 …

InfiniGate自研网关实现四

13.服务发现组件搭建和注册网关连接 以封装 api-gateway-core 为目的&#xff0c;搭建 SpringBoot Starter 组件&#xff0c;用于服务注册发现的相关内容处理。 这里最大的目的在于搭建起用于封装网关算力服务的 api-gateway-core 系统&#xff0c;提供网关服务注册发现能力。…

什么是包装ERP软件

在当今的商业环境中&#xff0c;ERP软件已经成为了企业管理的关键工具。然而&#xff0c;许多企业主可能还不完全明白什么是ERP软件&#xff0c;特别是包装ERP软件。 首先&#xff0c;我们需要了解ERP软件的基本概念。它是一种集成的软件应用程序&#xff0c;旨在帮助企业管理…

HTML+VUE3组合式+ELEMENT的容器模板示例(含侧栏导航,表格,...)

一个简单的在html中使用Vue3及Element-plus vue-icons的整合示例&#xff1a; 一、示例截图 二、文件代码 直接复制到html文件在浏览器打开即可预览 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title&g…

智慧仓储可视化大屏,以最直观的形式展示海量数据。

智慧仓储可视化大屏是一种通过数据可视化技术&#xff0c;将仓储管理系统中的海量数据以图表、地图、仪表盘等形式直观展示在大屏上的解决方案。它可以帮助仓储管理人员更清晰地了解仓库的运营情况&#xff0c;从而做出更明智的决策。 智慧仓储可视化大屏通常包括以下功能和特点…

React 第二十六章 Hook useCallback

useCallback 是 React 提供的一个 Hook 函数&#xff0c;用于优化性能。它的作用是返回一个记忆化的函数&#xff0c;当依赖发生变化时&#xff0c;才会重新创建并返回新的函数。 在 React 中&#xff0c;当一个组件重新渲染时&#xff0c;所有的函数都会被重新创建。这可能会…

如何通过汽车制造供应商协同平台,提高供应链的效率与稳定性?

汽车制造供应商协同是指在汽车制造过程中&#xff0c;整车制造商与其零部件供应商之间建立的一种紧密合作的关系。这种协同关系旨在优化整个供应链的效率&#xff0c;降低成本&#xff0c;提高产品质量&#xff0c;加快创新速度&#xff0c;并最终提升整个汽车产业的竞争力。以…

vue2基础语法01——基础语法使用了解

vue2基础语法01——基础语法使用了解 1. vue模板语法1.1 插值语法1.2 指令语法1.3 简单测试完整代码 2. vue中各选项使用&#xff08;简单说几个&#xff09;2.1 el选项2.2 data选项2.2.1 简述2.2.2 data选项的两种类型2.2.3 注意&#xff08;限制&#xff09;2.2.4 更多了解参…

JAVA快速工具代码集

一、前言 在开发过程中&#xff0c;特别是维护老系统&#xff0c;有时候想使用的工具类却使用不了。又要重新造轮子。所以准备点工具类代码是必须的&#xff0c;无奈之举。 二、JSON数据转换 String content cdfQhOrderResModel.getContent(); List<CdfQH…

Python 数据库操作- sqlite3 模块

Python sqlite3 模块 1. 安装 SQLite3 可使用 sqlite3 模块与 Python 进行集成。sqlite3 模块是由 Gerhard Haring 编写的。它提供了一个与 PEP 249 描述的 DB-API 2.0 规范兼容的 SQL 接口。用户不需要单独安装该模块&#xff0c;因为 Python 2.5.x 以上版本默认自带了该模块…

在uniapp里面使用 mp-html 并且开启 latex 功能

在uniapp里面使用 mp-html 并且开启 latex 功能 默认情况下 mp-html 是不会开启 latex 功能的, 如果需要开启 latex 功能是需要到代码操作拉取代码自行打包的。 这里说一下 mp-html 里面的 latex 功能是由 https://github.com/rojer95/katex-mini 提供的技术实现&#xff0c;…

【Spark】Spark编程体验,RDD转换算子、执行算子操作(六)

Spark编程体验 项目依赖管理 <dependencies><dependency><groupId>org.scala-lang</groupId><artifactId>scala-library</artifactId><version>2.12.10</version></dependency><dependency><groupId>org.ap…

通过 Java 操作 redis -- zset 有序集合基本命令

目录 使用命令 zadd&#xff0c;zrange 使用命令 zcard 使用命令 zrem 使用命令 zscore 使用命令 zrank 关于 redis zset 有序集合类型的相关命令推荐看Redis - Zset 有序集合 要想通过 Java 操作 redis&#xff0c;首先要连接上 redis 服务器&#xff0c;推荐看通过 Jav…

武汉凯迪正大—超声波探伤仪的主要功能

武汉凯迪正大超声波探伤仪的主要功能 高精度定量、定位&#xff0c;满足了较近和较远距离探伤的要求&#xff1b; 近场盲区小&#xff0c;满足了小管径、薄壁管探伤的要求&#xff1b; 自动校准&#xff1a;一键式自动校准&#xff0c;操作非常便捷&#xff0c;自动测试探头的…

基于springboot实现贸易行业crm系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现贸易行业crm系统演示 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了基于springboot的贸易行业crm系统的开发全过程。通过分析基于springboot的贸易行业crm系统管理的不足&#xff0c;创建…

element ui的无法关掉的提示弹框

使用element的$alert组件的属性把X去掉和确定按钮和取消按钮去掉&#xff1b; import { MessageBox } from element-ui; MessageBox.alert(AI功能已到期或暂未开启, 友情提示, {showClose: false,showCancelButton: false,showConfirmButton: false }); 如果在router的路由守…

华为ensp中BFD和OSPF联动(原理及配置命令)

作者主页&#xff1a;点击&#xff01; ENSP专栏&#xff1a;点击&#xff01; 创作时间&#xff1a;2024年5月6日20点26分 BFD通常指的是双向转发检测。BFD是一个旨在快速检测通信链路故障的网络协议&#xff0c;提供了低开销、短延迟的链路故障检测机制。它主要用于监测两个…

PCIe协议之-TLP路由基础

✨前言&#xff1a; 在PCI Express (PCIe) 技术中&#xff0c;数据包的路由方式对于确保信息能够高效、准确地传送至目标设备至关重要。PCIe定义了几种路由方式&#xff0c;主要有以下几种。 &#x1f31f;地址路由&#xff08;Address Based Routing&#xff09; 这是最基本…