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.

[参考译文] CCS/TMDSEVM572X:不触发 DSP 中断

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/669095/ccs-tmdsevm572x-dsp-interrupts-do-not-trigger

器件型号:TMDSEVM572X

工具/软件:Code Composer Studio

我有 AM572x EVM。 我想在按下按钮1时触发中断、如下所示。 问题是不会触发中断。  

根据用户指南、这连接到 GPIO2_23。 下面是我使用的代码、我使用这些代码从 pdk 目录中的代码(C:\ti\pdk_am57xx_1_0_9\packages/ti\CSL\examples\gpio\gpio_interrupt)进行了调整、

uint32_t gPinDirection = GPIO_DIR_OUTPUT;

uint32_t GPIO_base_address = CSL_MPU_GPIO2_regs;
uint32_t GPIO_pin = 23;
uint32_t interrupt_num = 29;
uint32_t Xbar_cfg_required = 0;
int i=0;
volatile uint32_t GPIO_PIN_VALUE = 0;

void configurGpioInterrupt()

CSL_xbarIrqConfigure (CSL_XBAR_IRQ_CPU_ID_DSP1、CSL_XBAR_INST_DSP1_IRQ_56、CSL_XBAR_GPIO2_IRQ_1);

INTC_Init();
INTC_IntEnable (0);

INTC_IntRegister (interrupt_num、(IntFuncptr) gpioIsr、(void *) 0);
intc_IntPrioritySet (interrupt_num、1、0);
INTC_SystemEnable (interrupt_num);

我知道按钮的工作原理是按下 按钮、我看到它从1变为0。 不会触发中断。 我出了什么问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    RTOS 团队已收到通知。 他们将在这里作出回应。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    我们有 GPIO 驱动程序示例 processors.wiki.ti.com/.../Processor_SDK_RTOS_GPIO、这是 LED 切换。 您可以在 AM572x EVM 上参阅该代码。 然后、考虑到您使用了不同的 GPIO 引脚、对于底部的推送、您还需要 PRCM 域的代码以及 GPIO2的 PAD 设置。 此外、GPIO 方向是输入。

    此致、Eric
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已经完成了 PRCM 和焊盘设置。 这就是按下按钮时 GPIO 状态从高电平变为低电平的原因。 我现在遇到的问题是不触发中断的原因。 这就是为什么我添加了中断配置代码、以便有人查看我所做的错误。 配置 GPIO 时没有问题。 您提供的链接不讨论中断。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    链路是 GPIO LED 测试、它注册了 GPIO 中断 ISR 并使用 ISR 切换 LED。 这将有助于您查看是否正确执行了中断。

    此致、Eric