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.

[参考译文] TDA4VH-Q1:GPIO 中断问题

Guru**** 2482105 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1422630/tda4vh-q1-gpio-interrupt-problem

器件型号:TDA4VH-Q1

工具与软件:

嗨 Neehar、

参考 常见问题解答、 可以使用单个 GPIO 中断。

但是、使用双通道时存在一种异常:无法触发第二个 GPIO 中断。

我怀疑这是中断路由存在问题。 因此、我想问:

1) WKUP_GPIO0_10的中断路由号是 CSLR_R5FSS0_CORE0_INTR_WKUP_GPIOMUX_INTR0_OUTP_16或 CSLR_WKUP_GPIOMUX_INTR0_IN_WKUP_GPIO_VIRT_10_0?

   目标内核为 MCU2_0。

2)当双通道异常时、GPIO_INTSTAT01寄存器(0x42110034u)是正常的、因此我怀疑中断路由有问题、请帮助指导、如下所示:

(gpio_cfg.intCfg[looper]).intNum = CSLR_R5FSS0_CORE0_INTR_WKUP_GPIOMUX_INTRTR0_OUTP_16;	//WKUP_GPIO0_10
if (looper == 1)
{
    (gpio_cfg.intCfg[looper]).intNum = CSLR_R5FSS0_CORE0_INTR_WKUP_GPIOMUX_INTRTR0_OUTP_17;	//WKUP_GPIO0_9
}


BR
Lei

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

    嗨蕾

    [报价 userid="491429" url="~/support/processors-group/processors/f/processors-forum/1422630/tda4vh-q1-gpio-interrupt-problem ]CSLR_R5FSS0_CORE0_INTR_WKUP_GPIOMUX_INTR0_OUTP_16 [/QUOT]

    这应该是正确的。

    您能否提供您所执行的所有中断设置?

    谢谢!

    Neehar

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

    Neehar、您好!

    我发现了一个可疑的,我会先检查它,然后回复你。

    BR、

    Lei

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

    嗨蕾

    好的、如需帮助、请随时联系。

    谢谢!

    Neehar

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

    Neehar、您好!

    1.

    您能提供您正在进行的所有中断设置吗?

    #define MAX_GPIOS_USED_IN_APP 2
    
    for (looper = 0; looper < MAX_GPIOS_USED_IN_APP; looper++)
    {
        GPIO_socGetInitCfg(looper, &gpio_cfg);
        gpio_cfg.baseAddr = ussGpioAddr[looper].gpioBaseAddr;
    
        /* config Int Router */
        (gpio_cfg.intCfg[looper]).intNum = CSLR_R5FSS0_CORE0_INTR_WKUP_GPIOMUX_INTRTR0_OUTP_16 + looper;
        //(gpio_cfg.intCfg[looper]).eventId = 0;
    
        (gpio_cfg.intCfg[looper]).intcMuxNum = INVALID_INTC_MUX_NUM;
        (gpio_cfg.intCfg[looper]).intcMuxInEvent = 0;
        (gpio_cfg.intCfg[looper]).intcMuxOutEvent = 0;
    
        GPIO_socSetInitCfg(looper, &gpio_cfg);
    }
    ...
    GPIO_init();
    GPIO_enableInt(0);
    GPIO_enableInt(1);

    2.我发现第二个中断异常是由于 Sciclient_rmIrqFindRoute 错误所致、返回-1。

    未找到更深的原因、请帮助查看。

    3.我发现第一条路由号配置为任意值,单路由中断正常。
    检查日志后、发现配置的路由号不生效、并且路由使用的号码为500。
    将数字更改为488或488+32后、单次中断回调失败。 请帮助检查。

    BR、

    Lei

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

    嗨蕾

    [报价 userid="491429" url="~/support/processors-group/processors/f/processors-forum/1422630/tda4vh-q1-gpio-interrupt-problem/5456735 #5456735"]

    我发现第一个路由号配置为任意值、单个路由中断正常。
    检查日志后、发现配置的路由号不生效、并且路由使用的号码为500。
    将数字更改为488或488+32后、单次中断回调失败。 请帮助检查。

    [报价]

    这必须是因为 GPIO_init 在 Board_initGPIO 之后调用、并且 在 GPIO_socConfigIntrPath 中被覆盖。

    谢谢!

    Neehar

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

    Neehar、您好!

    我发现第二个中断异常是由于 Sciclient_rmIrqFindRoute 错误造成的、返回-1。

    也请查看此问题。

    BR、

    Lei

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

    嗨蕾

    让我进一步了解一下这个 API 并给您回看。

    谢谢!

    Neehar

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

    嗨 Neehar、

    我想问一下分组中断和线路中断:

    1)对于 R5/A72、当针对同一组的不同 GPIO 触发中断时、中断编号是否相同?

    2) 2)如何对 MCU2-0 FreeRTOS 使用线路中断?

    BR、

    Lei

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

    嗨蕾

    [报价 userid="491429" url="~/support/processors-group/processors/f/processors-forum/1422630/tda4vh-q1-gpio-interrupt-problem/5467203 #5467203"]

    1)对于 R5/A72、当针对同一组的不同 GPIO 触发中断时、中断编号是否相同?

    [报价]

    你是指内核(例如 GIC 或 R5)上的中断编号? 在内核上、整个存储体有一条从 GPIO 模块到内核的中断线路。

    [报价 userid="491429" url="~/support/processors-group/processors/f/processors-forum/1422630/tda4vh-q1-gpio-interrupt-problem/5467203 #5467203"]

    2) 2)如何对 MCU2-0 FreeRTOS 使用线路中断?

    [报价]

    让我对此进行研究、并提供详细的答案。

    谢谢!

    Neehar

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

    嗨蕾

    很抱歉延迟、此问题是否仍然存在?

    谢谢!

    Neehar

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

    Neehar、您好!

    感谢您的答复、问题已关闭。

    BR、

    Lei