跳转到主要内容

JetPack6 GPIO配置说明

1.获取GPIO口的寄存器地址

1.GPIO口位置图

Jetson_Orin_Nano_Expansion_Header_J12_Pinout.jpeg

2.PADCTL基地址与GPIO口偏移量

PADCTL_A0(PADCTL_G3) 0x02430000
PADCTL_A4(PADCTL_G4) 0x02434000
PADCTL_A16(PADCTL_EDP) 0x02440000
PADCTL_A24(PADCTL_G7) 0x02448000

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 0x02434040

3.(可选)参考官方教程

https://docs.nvidia.com/jetson/archives/r36.4.3/DeveloperGuide/HR/JetsonModuleAdaptationAndBringUp/JetsonOrinNxNanoSeries.html#changing-the-pinmux

 

2.使用命令行控制GPIO


1.安装busybox与libgpiod2

sudo apt install busybox libgpiod2

2.获取寄存器地址与GPIO名称

以31号引脚为例,0x02430070为寄存器地址,PQ.06为GPIO名称

请通过上一节1.2 PADCTL基地址与GPIO口偏移量 查询具体值

3.设置GPIO为输入模式

上电默认为输入模式,也可以通过命令行再次设置为输入模式

sudo busybox devmem 0x02430070 w 0x58

获取GPIO当前状态,返回值1为高电平,0为低电平

gpioget $(gpiofind "PQ.06")

4.设置GPIO为输出模式

通过命令行设置为输出模式

sudo busybox devmem 0x02430070 w 0x0

设置GPIO输出,1为高电平,0为低电平

gpioset --mode=wait $(gpiofind "PQ.06")=1