Jetson Orin Nano GPIO实战攻略,深度解析devmem操作,轻松玩转Pinmux引脚复用配置

Jetson

NVIDIA Jetson Orin Nano 是一款功能强大的边缘AI计算平台,其GPIO(通用输入输出)引脚可以通过软件进行复用配置,以适应不同的应用需求。使用`devmem`工具,你可以直接操作硬件寄存器来配置Jetson Orin Nano的GPIO引脚。以下是一个基本的步骤指南,帮助你使用`devmem`来玩转Pinmux引脚复用配置。
### 准备工作
1. "安装`devmem`工具": 你需要在Jetson Orin Nano上安装`devmem`工具,如果未安装,可以通过以下命令安装: ```sh sudo apt-get install devmem2 ```
2. "确定GPIO引脚": 首先,你需要确定你想要复用的GPIO引脚。你可以在NVIDIA提供的文档中找到关于GPIO引脚和Pinmux的信息。
### 配置Pinmux
以下是配置Pinmux的一般步骤:
1. "确定Pinmux控制寄存器": 对于每个GPIO引脚,都有一个或多个寄存器控制其功能。你需要查找这些寄存器的地址。
2. "配置功能选择寄存器": 通常,每个GPIO引脚都有几个功能选项,这些选项由功能选择寄存器控制。你需要设置这个寄存器,选择你想要的功能。
3. "配置驱动选择寄存器": 如果你选择了某个功能,可能还需要设置

相关内容:

视频讲解:Jetson Orin Nano GPIO 实战,用 devmem 玩转 Pinmux 引脚复用配置_哔哩哔哩_bilibili

测试的板子为 Jetson Orin Nano devkit,Jetpack6.2,内核版本 5.15.148-tegra

devmem 是一个直接读写寄存器的工具,通过 mmap 将 /dev/mem 中的物理地址区域映射到用户空间进程地址空间,从而实现直接读写,正常情况下在 /dev 下可以看到 mem

需要 TRM 手册查看相关寄存器,以及安装 busybox,busybox 内置了 devmem

sudo apt install busybox

读指令

sudo busybox devmem 0x11111111

写指令

sudo busybox devmem 0x11111111 w 0x123

我们测试一个 gpio,比如开发板的 J12 的 pin3

根据 TRM 手册,找到 I2C_SDA 的 pinmux 地址偏移是 0x18

寄存器地址如下为 0x0c302000

所以读取寄存器值为如下指令

sudo busybox devmem 0x0c302018

使用 gpioinfo 查看这个 pdd.02 是 input 状态

我们来对比 pinmux 寄存器来看下是否是 input

可以看到对应 bit5 bit6 分别为 1,对应配置为 E_IO_HV 为 ENABLE 以及 E_INPUT 为 ENABLE

关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章