引脚定义
下图显示了 IQ-9075 EVK 40 针 LS 连接器的默认功能。

GPIO
以下命令需要 root 权限。使用
sudo su 切换到 root 用户。识别 GPIO 子系统编号
运行以下命令并查找platform/f000000.pinctrl(gpiochip4)以确定基准 GPIO 编号。
| LS1 连接器 GPIO | |||
|---|---|---|---|
| GPIO | 奇数 | 偶数 | GPIO |
| GND | 1 | 2 | GND |
| 52 | 3 | 4 | CAN_H |
| 54 | 5 | 6 | CAN_L |
| 55 | 7 | 8 | 32 |
| 53 | 9 | 10 | 33 |
| 44 | 11 | 12 | 34 |
| 45 | 13 | 14 | 35 |
| 96 | 15 | 16 | 107 |
| 95 | 17 | 18 | 106 |
| 100 | 19 | 20 | 109 |
| 99 | 21 | 22 | 108 |
| 40 | 23 | 24 | 105 |
| 41 | 25 | 26 | 43 |
| 42 | 27 | 28 | SAIL59 |
| PME 11 | 29 | 30 | SAIL42 |
| 140 | 31 | 32 | SAIL46 |
| IO EXP3 7 | 33 | 34 | SAIL50 |
| 3.3V | 35 | 36 | SYS PWR |
| 5V | 37 | 38 | SYS PWR |
| GND | 39 | 40 | GND |
从用户空间配置 GPIO
在用户空间使用libgpiod 库控制 GPIO,以获得更好的性能。
1
安装 Arm64 工具链
2
下载并解压 libgpiod
3
配置源码以进行静态链接
4
编译库
编译会生成链接后的二进制文件。
5
构建静态链接的二进制文件
6
将二进制文件推送到设备
7
列出设备上的 GPIO 芯片
运行 示例输出:
gpiodetect 列出 GPIO 芯片。8
显示 GPIO 线信息
运行 示例输出:
gpioinfo 查看特定芯片的线。9
设置 GPIO 值
要设置 示例输出:
gpiochip4 上的 GPIO 线 54,运行:10
读取 GPIO 值
要读取 示例输出:读取该值后,示例输出:
gpiochip4 上的 GPIO 线 0,运行:gpioinfo 显示该线已恢复为输入模式。UART
引脚 5 和 7 默认配置为 UART(GPIO 线 54 和 55,映射到uart12 = qup1_se5 (0xa98000))。
按照修改串行引擎节点的步骤启用 UART 接口。启用后,设备节点出现在 /dev/ttyHS3。
- Shell
1
连接引脚
用杜邦线短接引脚 5 和引脚 7。

2
配置 UART
3
打开两个 SSH 终端
终端 1(RX):终端 2(TX):

I2C
I2C(内部集成电路总线)是一种用于 IC 间控制的双向两线制总线。总线上的每个设备都有唯一地址。I2C 核心支持多控制器模式、10 位目标寻址和 10 位可扩展寻址。 引脚 8 和 10 默认配置为 I2C(GPIO 线 32 和 33,映射到i2c4 = qup0_se4 (0x990000))。
按照修改串行引擎节点的步骤启用 I2C 接口。启用后,验证设备节点:
- Shell
1
推送 i2c-tools
2
列出 I2C 适配器
3
将适配器映射到设备树节点
4
扫描总线 20 上的设备
5
读/写设备寄存器
SPI
SPI(串行外设接口)是一种同步全双工四线制串行总线。 引脚 11 和 13 默认配置为 SPI(GPIO 线 44 和 45,映射到spi10 = qup1_se3 (0xa8c000))。
按照修改串行引擎节点的步骤启用 SPI 接口。
