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.

[参考译文] AM3352:GPIO_IRQSTATUS 寄存器中未显示 IRQ

Guru**** 2542180 points
Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/579734/am3352-irq-not-seen-in-gpio_irqstatus-register

器件型号:AM3352
Thread 中讨论的其他器件:SysConfig

我们尝试使用基于 GPIO2_0上下降沿的中断。
我们可以在 GPIO_datain 寄存器和 GPIO_IRQSTATUS_RAW 寄存器中看到下降沿事件。 但是、它不会出现在 GPIO_IRQSTATUS_0寄存器中。
我们的寄存器设置如下:

GPIO_SysConfig 0x00000000
GPIO_CTRL 0x00000000
GPIO_FALINGDETECT 0x00000001
GPIO_IRQSTATUS_SET_0 0x00000001

观察到的行为如下:
施加到 GPIO2_0的下降沿
GPIO_datain 报告位0从1变为0
GPIO_IRQSTATUS_RAW_0报告位0从0变为1
GPIO_IRQSTATUS_SET_0报告位0从1变为0
GPIO_IRQSTATUS_0报告0

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

    Biser、

    对拖延答复表示歉意,重新分配了一段时间。

    无论如何、为了回答您的问题、我们将使用 QNX 6.5 SP1。 我知道您不支持 QNX、但此时我们仅读取寄存 器以响应 GPIO 上的中断、并尝试了解这些寄存器的行为、尤其是为什么它不出现在 GPIO_IRQSTATUS_0中。 除了 TRM 之外、还有描述寄存器之间行为和交互的流程图或序列图吗? 或者、您能否在 TRM 中进一步阐明他们的行为。

    我们希望获得更多信息。

    Nigel

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请检查您没有对 GPIO_IRQSTATUS_0执行任何不需要的写入。 向该寄存器写入"1"将清除 IRQ。 同时观察 GPIO_IRQSTATUS_SET_0报告位0从1变为0表明存在软件干预、特别是对 GPIO_IRQSTATUS_CLR_0的写入。 该位不会被硬件清零。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Biser、

    我们仍在努力尝试生成 IRQ、以下是我们的寄存器设置。 我们缺少什么吗?

    IME   名称         地址      值
    ----------------------------------------------------
    006690 - INTC_MIR1    0x2801A0A4 - 0xBFFFCDFC
    006391 - INTC_MIR1    0x2801A0A4 - 0xBFFFCDFC
    006391 - INTC_ITR1    0x2801A0A0 - 0x00000000
    006392 - INTC_MI_CLEAR1 0x2801A0A8 - 0x00000000
    006392 - INTC_THRESHOLD 0x2801A068 - 0x000000FF
    006393 - AM335X_CM_PER_GPIO2_CLKCTRL 0x2801B0B0 - 0x00000002

    时间名称            地址      值
    ----------------------------------------------------
    006720 - GPIO_REVISION    0x28018000 - 0x50600801
    006720 - GPIO_SysConfig   0x28018010 - 0x0000000C
    006720 - GPIO_EOI       0x28018020 - 0x00000000
    006721 - GPIO_IRQSTATUS_RAW_0 0x28018024 - 0x00000000
    006723 - GPIO_IRQSTATUS_RAW_1 0x28018028 - 0x00000001
    006724 - GPIO_IRQSTATUS_0  0x2801802C - 0x00000000
    006724 - GPIO_IRQSTATUS_1  0x28018030 - 0x00000000
    006725 - GPIO_IRQSTATUS_SET_0 0x28018034 - 0x00000001
    006725 - GPIO_IRQSTATUS_SET_1 0x28018038 - 0x00000000
    006725 - GPIO_IRQSTATUS_CLR_0 0x2801803C - 0x00000001
    006726 - GPIO_IRQSTATUS_CLR_1 0x28018040 - 0x00000000
    006726 - GPIO_IRQWAKEN_0   0x28018044 - 0x00000001
    006727 - GPIO_IRQWAKEN_1   0x28018048 - 0x00000000
    006727 - GPIO_SYSSSTATUS   0x28018114 - 0x00000000
    006727 - GPIO_CTRL       0x28018130 - 0x00000000
    006728 - GPIO_OE        0x28018134 - 0xFFFFFFFF
    006728 - GPIO_datain      0x28018138-0x00000029
    006729 - GPIO_DATAOUT     0x2801813C - 0x00000000
    006729 - GPIO_LEVELDETECT0  0x28018140 - 0x00000001
    006731 - GPIO_LEVELDETECT1  0x28018144 - 0x00000000
    006732 - GPIO_RISINGDETECT  0x28018148 - 0x00000000
    006732 - GPIO_FALINGDETECT 0x2801814C - 0x00000000
    006733 - GPIO_DEBOUNCHENABLE 0x28018150 - 0x00000000
    006733 - GPIO_DEBOUNCINGTIME 0x28018154 - 0x00000000
    006734 - GPIO_CLEARDATAOUT  0x28018190 - 0x00000000
    006734 - GPIO_SETDATAOUT   0x28018194 - 0x00000000