Orin Nano&NX JetPack6 GPIO教程
1. 获取 GPIO 口的寄存器地址
1.1 GPIO 口位置图

1.2 PADCTL 基地址与 GPIO 口偏移量
PADCTL 基地址:
text
PADCTL_A0(PADCTL_G3) 0x02430000
PADCTL_A4(PADCTL_G4) 0x02434000
PADCTL_A16(PADCTL_EDP) 0x02440000
PADCTL_A24(PADCTL_G7) 0x02448000各引脚对应的寄存器地址(引脚号 / GPIO / PADCTL 名称 / 偏移量 / gpio 编号 / 引脚名 / 寄存器地址):
text
7号 GPIO09 PADCTL_G7_SOC_GPIO59_0 0x30 gpio-492 PAC.06 0x02448030
15号 GPIO12 PADCTL_EDP_SOC_GPIO39_0 0x20 gpio-433 PN.01 0x02440020
29号 GPIO01 PADCTL_G3_SOC_GPIO32_0 0x68 gpio-453 PQ.05 0x02430068
31号 GPIO11 PADCTL_G3_SOC_GPIO33_0 0x70 gpio-454 PQ.06 0x02430070
32号 GPIO07 PADCTL_G4_SOC_GPIO19_0 0x80 gpio-389 PG.06 0x02434080
33号 GPIO13 PADCTL_G4_SOC_GPIO21_0 0x40 gpio-391 PH.00 0x024340401.3 (可选)参考官方教程
NVIDIA Jetson Orin NX/Nano Series — Changing the Pinmux
2. 使用命令行控制 GPIO
2.1 安装 busybox 与 libgpiod2
bash
sudo apt install busybox libgpiod22.2 获取寄存器地址与 GPIO 名称
以 31 号引脚为例,0x02430070 为寄存器地址,PQ.06 为 GPIO 名称。
具体值请通过上一节「1.2 PADCTL 基地址与 GPIO 口偏移量」查询。
2.3 设置 GPIO 为输入模式
上电默认为输入模式,也可以通过命令行再次设置为输入模式:
bash
sudo busybox devmem 0x02430070 w 0x58获取 GPIO 当前状态,返回值 1 为高电平,0 为低电平:
bash
gpioget $(gpiofind "PQ.06")2.4 设置 GPIO 为输出模式
通过命令行设置为输出模式:
bash
sudo busybox devmem 0x02430070 w 0x0设置 GPIO 输出,1 为高电平,0 为低电平:
bash
gpioset --mode=wait $(gpiofind "PQ.06")=1