TI中文支持网
TI专业的中文技术问题搜集分享网站

[FAQ] TDA4VM: 如何测试 GPIO 中断

Part Number:TDA4VM

是否有办法测试 GPIO 中断的功能,而无需以物理方式驱动线路作为输入并在外部控制引脚状态?

Annie Liu:

TDA4/J721e/J7200 上 GPIO 的中断路径:

GPIO -> INTR(GPIO 中断路由器)> GIC500

另请注意,在 Linux 驱动程序中,仅支持分组中断,而不支持无分组中断。

我们可以验证上述整个 GPIO 中断路径,甚至无需从外部控制GPIO 引脚。下面是一个简单的代码片段,用于配置 GPIO 引脚并注册中断处理程序。

生成/伪装中断的诀窍是将 GPIO 配置为输出并切换 GPIO 的状态。 0001-davinci_gpio-Test-interrupts.patch

将上述补丁应用于 PSDKLA 8.0 的 Linux 目录

 

cd $PSDKLA_PATH/board-support/linux*git am 0001-davinci_gpio-Test-interrupts.patch
cd ../..
make linux
Insert the SD card
Edit Rules.make to point DESTDIR to rootfs of SD card: DESTDIR=/media/$USER/rootfssudo make linux_install
sync

这应该会为 wkup_GPIO 模块 GPIO_52 注册一个测试中断处理程序。

启动后,我们需要在 Linux 中为 wkup_GPIO_52 确定 GPIO 编号

cat /sys/class/gpio/gpiochip372/label

42110000.gpio

因此,wkup_GPIO 模块以 372 开头,而 wkup_GPIO_52 将为 372+52=424

echo 424 > /sys/class/gpio/export
echo out > /sys/class/gpio/gpio424/direction
echo 1 > /sys/class/gpio/gpio424/value

可以从 wkup_GPIO_52 测试中断处理程序查看打印内容。

[   83.608230] test_irq: irq 293, val=0

我们还可以检查中断计数增加:

cat /proc/interrupts | grep key-gpio 293: 2 0 GPIO 52 Edge -davinci_gpio key-gpio

赞(0)
未经允许不得转载:TI中文支持网 » [FAQ] TDA4VM: 如何测试 GPIO 中断
分享到: 更多 (0)