GPIO输出功能
GPIO输出功能1、GPIO引脚图对照表2、jetson orin super GPIO 修复1.busybox修改寄存器(以物理引脚31为例)2.更改设备树(以更改物理引脚7为例)3、程序效果
1、GPIO引脚图对照表
GPIO.BOARD 12引脚对应GPIO.BCM 18引脚:

2、jetson orin super GPIO 修复
注意:在升级到jetson orin super 之后,大部分GPIO 口由原来的双向(输入+输出)变成了仅输入,现在提供两种方案修改GPIO成双向接口。
1.busybox修改寄存器(以物理引脚31为例)
此方案为临时方案,修改完寄存器配置后每次重启会失效,如果需要保持一直生效可参考第二种方案。
图片中出现的文档可参考附件-jetson gpio中的文档,都是从官方找到下载的(软件资料\资料文档\jetson-gpio)。
经查询得知:物理引脚31 ----对应GPIO11--- 对应SOC_GPIO33,对应PADCTL_G3 地址=PADCTL_A0 为0x2430000,SOC_GPIO33对应则为0x2430070(可参考下列图片)



Pinmux寄存器地址:


-
The Offset is 0x70.
-
The Pinmux register address is 0x2430070
1.1 安装busybox
sudo apt install busybox
1.2 设置gpio引脚为输出:
xxxxxxxxxx sudo busybox devmem 0x02430070 w 0x004
1.3 测试输出

xxxxxxxxxx cd ~/jetson-gpio/samples export JETSON_MODEL_NAME=JETSON_ORIN_NANO python3 simple_out.py
设置完成后,参考BCM编码,将测试用例中的编码改为对应值,再运行下面的测试案例,即可发现物理引脚31 高低电平来回切换
2.更改设备树(以更改物理引脚7为例)
注意:此方案需要对设备树有一定了解,不建议新手操作。此方案成功后,设置的gpio 引脚会变成双向引脚,即输入+输出。
物理引脚7 对应GPIO 09 对应SOC_GPIO59 对应的设备树名称为soc_gpio59_pac6

将软件资料\资料文档\jetson-gpio里的jetson-orin-gpio-patch-main 文件放入jetson orin 中,打开pin7_as_gpio.dts 文件,将圈出来的地方更改为自己需要更改的GPIO 引脚

在jetson-orin-gpio-patch 下分别运行指令
xxxxxxxxxx dtc -O dtb -o pin7_as_gpio.dtbo pin7_as_gpio.dts #根据不同GPIO 口名称可自己改动生成的文件名称 sudo cp pin7_as_gpio.dtbo /boot sudo /opt/nvidia/jetson-io/jetson-io.py





开始测试:
xxxxxxxxxx cd ~/jetson-gpio/samples xxxxxxxxxx export JETSON_MODEL_NAME=JETSON_ORIN_NANO xxxxxxxxxx python3 simple_out.py
设置完成后,参考BCM编码,将测试用例中的编码改为对应值,再运行下面的测试案例,即可发现物理引脚7 高低电平来回切换
3、程序效果
使用杜邦线将GPIO.BOARD 6和GND引脚引出来,使用万用表可以测量引脚电压变化:
注意:请勿接错或者造成引脚短路,失误可能导致主板硬件损坏!
