This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] RTOS/DRA718:DRA718 DSP GPIO 中断

Guru**** 2539500 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/709560/rtos-dra718-dra718-dsp-gpio-interrupts

器件型号:DRA718

工具/软件:TI-RTOS

你(们)好

现在,我需要使用 GPIO (GPIO7) 来检测 来自外部设备的信号变化。

我将其配置为在检测下降沿模式时工作。

(1)  配置 GPIO_OE  reg 以禁用 GPIO 输出(启用 GPIO 输入)。

(2) 配置  GPIO_FAULINGDETECT  寄存器以启用下降检测。

(3) 配置 GPIO_IRQSTATUS_SET_0寄存器以启用 GPIO 中断。

但我将 sinciagle-gpio 更改为 pio,GPIO_IRQSTATUS_RAW_0仍然为零。  我无法从 GPIO 获取中断。

请看一下,我还应该做些什么来启用中断?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    您能否查看该示例 \packages/ti\cSL\examples\gpio\gpio_interrupt\main.c、并查看它是否适合您。
    如果您未使用 Processor SDK、则 Vision 可以共享寄存器 GPIO_OE、GPIO_FAULINGDETECT 和 GPIO_IRQSTATUS_SET_0的值。

    此致、
    Rishabh
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    我不使用 Vision SDK。 我转储了下面的 GPIO7寄存器、请看一下。 Thx。
    DEBUG_HW_RD_REG:ADDR = 0x48051010值= 0x1d
    DEBUG_HW_RD_REG:ADDR = 0x48051014值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051018值= 0x0
    Debug_HW_RD_REG:Addr = 0x4805101c 值= 0x0
    Debug_HW_RD_REG:Addr = 0x48051020值= 0x0
    Debug_HW_RD_REG:Addr = 0x48051024值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051028值= 0x0
    Debug_HW_RD_REG:Addr = 0x4805102c 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051030值= 0x0
    DEBUG_HW_RD_REG:Addr = 0x48051034值= 0xb80
    DEBUG_HW_RD_REG:ADDR = 0x48051038值= 0x0
    DEBUG_HW_RD_REG:Addr = 0x4805103c 值= 0xb80
    DEBUG_HW_RD_REG:ADDR = 0x48051040值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051044值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051048值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x4805104c 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051050值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051054值= 0x0
    Debug_HW_RD_REG:Addr = 0x4805358值= 0x0
    Debug_HW_RD_REG:Addr = 0x4805105c 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051060值= 0x0
    Debug_HW_RD_REG:Addr = 0x48051064值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x4805968值= 0x0
    Debug_HW_RD_REG:Addr = 0x4805106c 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051070值= 0x0
    Debug_HW_RD_REG:Addr = 0x48051074值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051078值= 0x0
    Debug_HW_RD_REG:Addr = 0x4805107c 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051080值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051084值= 0x0
    Debug_HW_RD_REG:Addr = 0x48051088值= 0x0
    Debug_HW_RD_REG:Addr = 0x4805108c 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051090值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051094值= 0x0
    Debug_HW_RD_REG:Addr = 0x48051098 value = 0x0
    DEBUG_HW_RD_REG:ADDR = 0x4805109c 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510a0值= 0x0
    Debug_HW_RD_REG:Addr = 0x480510a4值= 0x0
    Debug_HW_RD_REG:Addr = 0x480510a8值= 0x0
    Debug_HW_RD_REG:Addr = 0x480510ac 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510b0值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510b4值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510b8值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510bc 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510c0值= 0x0
    Debug_HW_RD_REG:Addr = 0x480510c4值= 0x0
    Debug_HW_RD_REG:Addr = 0x480510c8值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510cc 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510d0值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510d4值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510d8值= 0x0
    Debug_HW_RD_REG:Addr = 0x480510dc 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510e0值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510e4值= 0x0
    Debug_HW_RD_REG:Addr = 0x480510e8值= 0x0
    Debug_HW_RD_REG:Addr = 0x480510ec 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510f0值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510f4值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x480510f8值= 0x0
    Debug_HW_RD_REG:Addr = 0x480510fc 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051100值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051104值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051108值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x4805110c 值= 0x0
    Debug_HW_RD_REG:Addr = 0x48051110值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051114值= 0x1
    DEBUG_HW_RD_REG:ADDR = 0x48051118值= 0x0
    Debug_HW_RD_REG:Addr = 0x4805111c 值= 0x0
    Debug_HW_RD_REG:Addr = 0x48051120值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051124值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051128值= 0x0
    Debug_HW_RD_REG:Addr = 0x4805112c 值= 0x0
    Debug_HW_RD_REG:Addr = 0x48051130值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051134值= 0xffffffff
    Debug_HW_RD_REG:Addr = 0x48051138值= 0xccc72384
    DEBUG_HW_RD_REG:Addr = 0x4805113c 值= 0xb80
    DEBUG_HW_RD_REG:ADDR = 0x48051140值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051144值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051148值= 0x0
    DEBUG_HW_RD_REG:Addr = 0x4805114c 值= 0xb80
    Debug_HW_RD_REG:Addr = 0x48051150值= 0x0
    Debug_HW_RD_REG:Addr = 0x48051154值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051158值= 0x0
    Debug_HW_RD_REG:Addr = 0x4805115c 值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051160值= 0x0
    DEBUG_HW_RD_REG:ADDR = 0x48051164值= 0x0
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你(们)好
    我解决了这个问题。
    DEBUG_HW_RD_REG:Addr = 0x4805103c 值= 0xb80 "值不正确、我们发现 DSP 上的 GPIO 功能与内核中的 GPIO 配置冲突。 我们删除了内核中的配置,现在 GPIO 中断运行良好。
    感谢你的帮助。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    感谢您的确认。

    此致、
    Rishabh