Skip to main content
Dragonwing IQ9-EVK 包含一个低速连接器(JLS1),可访问各种 GPIO、CAN、QUP 及其他接口。

引脚定义

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

GPIO

以下命令需要 root 权限。使用 sudo su 切换到 root 用户。

识别 GPIO 子系统编号

运行以下命令并查找 platform/f000000.pinctrl(gpiochip4)以确定基准 GPIO 编号。
LS1 连接器 GPIO
GPIO奇数偶数GPIO
GND12GND
5234CAN_H
5456CAN_L
557832
5391033
44111234
45131435
961516107
951718106
1001920109
992122108
402324105
41252643
422728SAIL59
PME 112930SAIL42
1403132SAIL46
IO EXP3 73334SAIL50
3.3V3536SYS PWR
5V3738SYS PWR
GND3940GND

从用户空间配置 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
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 接口。启用后,验证设备节点:
1

推送 i2c-tools

2

列出 I2C 适配器

3

将适配器映射到设备树节点

4

扫描总线 20 上的设备

5

读/写设备寄存器

SPI

SPI(串行外设接口)是一种同步全双工四线制串行总线。 引脚 11 和 13 默认配置为 SPI(GPIO 线 44 和 45,映射到 spi10 = qup1_se3 (0xa8c000))。 按照修改串行引擎节点的步骤启用 SPI 接口。