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.

[参考译文] TDA4VL-Q1:无法触发 GPIO 外部中断、我希望专家可以帮助我解决这个问题

Guru**** 2426510 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1536261/tda4vl-q1-the-gpio-external-interrupt-cannot-be-triggered-i-hope-the-expert-can-help-me-solve-it

器件型号:TDA4VL-Q1


工具/软件:

您好、TI 团队:

   我发现使用 GPIO 的中断触发器时不能触发中断、在 pdk10.0 中、我参考了 GPIO 模块测试文件夹下 led_blink 的代码、我使用了主域的 gpio0_15、将其设置为输出、首先调用 Board_initGPIO ()、然后调用 gpio_init ()、然后调用 gpio_setCallback ()、然后调用 gpio_appconfig(切换调用 gpio_plevel、使能调用 gpiocto () 但中断实际上不会被触发,甚至进入 GPIO_V0_hwiFxn() 时,GPIO0 的 BINTEN、DIR01、SET_DATA01、SET_RIS_TRIG01 寄存器的值与设置相同,但 INTSTAT01 相应位的值为 0,表示没有发生中断,具体寄存器的值已被设定为紧急中断,请尽快见以下专家,请尽快把指令输入, 问题是尽快的。

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

    代码实现如下所示

    寄存器的值如下

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

    您好、

    由于美国节假日、预计回复会延迟。

    此致、

    Josiitaa

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

    我已经查看了一些帖子、并希望提供更多信息来帮助您更快地找到问题。 GPIO socConfigIntrPath 的返回值为 CSL_PASS。 2. boardCfg=Board_init_module_clock 已添加到 Board_initGPIO () 函数中、后跟 Board_init (boardCfg)。 3. gpio0 的时钟频率为 125,000,000、gpio0_15 被配置为驱动我们项目板上的一个 LED。 调用 GPIO_TOGGLE 成功切换照明、确认 GPIO0_15 输出正确。 4.我还尝试使用来自 WKUP 域的 GPIO、特别是 WKUP 域 GPIO0_11、但无法触发中断。 同样、在 led_blink 中使用 GPIO0_11 也无法触发中断。

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

    您好、

    由于美国节假日、回复可能会延迟。

    谢谢、

    Neehar

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

    尊敬的客户、

       您能否添加要求、要求您希望通过 GPIO0_15 接收中断的内核?  谢谢。

    Linjun

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

    您好、感谢您的回复、我们使用的核心是 MCU 域的 R5_0、这个工程很紧急、希望您能尽快帮我们解决这个问题。

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

    这意味着主域 GPIO 中断源将路由到 Mcu1_0。  通常、对于 MCU1_0 的 WKUP_GPIOMUX_INTRRT0 的有限资源、默认将使用组中断。  

    这里有一些需要您输入的内容、

    1 哪个主域 GPIO 将路由器到 MCU 域作为中断?

     2 哪个 MCU 域 GPIO 将路由器进入主域作为中断?

    确定您的要求、我们将为您的下一步提供支持。  

    谢谢。  

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

    您好、我想查询 PDK 软件包中提供的测试代码。 主域中 GPIO 的中断路由位于何处? 为什么它无法触发中断? 我们正在使用 GPIO0_15 进行验证、因为 GPIO0_15 上的电平变化会导致项目电路板上的指示灯闪烁、从而更容易观察到这种现象。 我们还尝试了 WKUP 域中的 GPIO 上的中断、但同样无法触发它们。 验证完成后、我们将根据项目要求进行调整。 目前、我们的工程只需要 WKUP_GPIO0_5 和 WKUP_GPIO0_61 即可实现 GPIO 中断。

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

    至于中断映射是一个系统级资源计划、因此需要您输入要求。 当前、如果仅使用 WKUP_GPIO0_5 和 WKUP_GPIO0_61  作为 MCU1-0 的中断、请在遇到问题时进行调试。  请转储寄存器并通过以下脚本放置在此处。 我会帮助检查状态。  

    /cfs-file/__key/communityserver-discussions-components-files/791/TDA4VL_5F00_gpio_5F00_byd.gel

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

    您好、

    我们还尝试了 WKUP 域中的 GPIO 中断、但同样无法触发这些中断。 [/报价]

    在设置 WKUP_GPIO 中断时、您能否确认 GPIO_socConfigIntrPath () 返回值?

    目前、我们的工程只需要 WKUP_GPIO0_5 和 WKUP_GPIO0_61 即可实现 GPIO 中断。

    您正在使用哪些进行测试? 还是使用  WKUP_GPIO0_11 进行测试? 我正在尝试了解您使用的银行。   

    谢谢、

    Neehar

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

    您好、

    设置 WKUP_GPIO 中断时、您能否确认 GPIO_socConfigIntrPath () 返回值?

    我在前面提出了以下问题

    GPIO_socConfigIntrPath 的返回值为 CSL_PASS
    您使用哪一个进行测试? 还是使用  WKUP_GPIO0_11 进行测试? 我正在尝试了解您使用的银行。  [/报价]

    目前、我们尝试了 GPIO0_15、GPIO0_31、GPIO0_11、WKUP_GPIO0_11、WKUP_GPIO0_5 WKUP_GPIO0_61 和 WKUP_GPIO0_6、但它们都无法触发中断。

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

    根据寄存器转储、目前仅配置了 CSL_WKUP_GPIOMUX_INTRTR0 的“Reg_0x42200010 = 0x0001006A“。  这意味着配置了 WKUP_GPIO0_GPIO_BANK_3 (WKUP_GPIO0_48 至 WKUP_GPIO0_63) 中断。   WKUP_GPIO0_61 应正常工作。  请注意、您已启用 存储体 EOC 中断。  

    如果您的用途是 WKUP_GPIO0_5 和  WKUP_GPIO0_61 分别在中断模式下工作、请遵循以下设置

    *(volatile unsigned int *)(0x42200004)= 0x10005;// WKUP_GPIO0_5 MCU1_0 中断号 124

    *(Volatile unsigned int *)(0x42200008)= 0x1003D;// WKUP_GPIO0_61 MCU1_0 中断数 125

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

    您好、

     WKUP_GPIO0_61 应该工作

    如果配置正确、为什么不生成 WKUP_GPIO0_61 中断?

    *(volatile unsigned int *)(0x42200004)= 0x10005;// WKUP_GPIO0_5 MCU1_0 中断号 124

    *(Volatile unsigned int *)(0x42200008)= 0x1003D;// WKUP_GPIO0_61 MCU1_0 中断数 125

    [/报价]

    您能告诉我具体寄存器的名称吗? 这对我来说很容易找到和设置

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

    下面是两个演示函数、用于将 WKUP_GPIO0_5 和 WKUP_GPIO0_61 设置为中断。

    静态空 MCU_GPIO0_5_configIntRouter ()

       INT             状态;

        结构 tisci_msg_rm_irq_set_req rmIrqReq;

        结构 tisci_msg_rm_irq_set_resp rmIrqResp;

           memset (&rmIrqREQ、0x0、sizeof (rmIrqREQ));

           memset (&rmIrqResp、0x0、sizeof (rmIrqResp));

           rmIrqReq.secondary_host = TISCI_MSG_VALUE_RM_UNUSED secondary_host;

           rmIrqReq.src_id = TISCI_DEV_WKUP_GPIOMUX_INTRTR0;//125

           rmIrqReq.src_index = 5;

           rmIrqReq.dst_id = TISCI_DEV_WKUP_GPIOMUX_INTRTR0

           rmIrqReq.DST_HOST_IRQ = 0;

           

           rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_ID_VALID;

           rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID;

           

           Sciclient_rmIrqSetRaw (const struct tisci_msg_rm_irq_set_req *)&rmIrqREQ、

                                   rmIrqResp (&R)、

                                   SCICLIENT_SERVICE_WAIT_FOREVER);  

           if (status==CSL_pass)

           {

               UART_printf(“ok \n“);

           }

           暴露

           {

               UART_printf(“Faile\n")“);

           }

    }

     

    静态空 MCU_GPIO0_61_configIntRouter ()

        INT             状态;

        结构 tisci_msg_rm_irq_set_req rmIrqReq;

        结构 tisci_msg_rm_irq_set_resp rmIrqResp;

           memset (&rmIrqREQ、0x0、sizeof (rmIrqREQ));

           memset (&rmIrqResp、0x0、sizeof (rmIrqResp));

           rmIrqReq.secondary_host = TISCI_MSG_VALUE_RM_UNUSED secondary_host;

           rmIrqReq.src_id = TISCI_DEV_WKUP_GPIOMUX_INTRTR0;//125

           rmIrqReq.src_index = 61;

           rmIrqReq.dst_id = TISCI_DEV_WKUP_GPIOMUX_INTRTR0

           rmIrqReq.DST_HOST_IRQ = 1;

           

           rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_ID_VALID;

           rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID;

           

           Sciclient_rmIrqSetRaw (const struct tisci_msg_rm_irq_set_req *)&rmIrqREQ、

                                   rmIrqResp (&R)、

                                   SCICLIENT_SERVICE_WAIT_FOREVER);  

           if (status==CSL_pass)

           {

               UART_printf(“ok \n“);

           }

           暴露

           {

               UART_printf(“Faile\n")“);

           }

    }

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

    您好、  

    向您发送 wbex 会议邀请。 请加入。 谢谢。

    Linjun

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

    您好、我没有看到会议邀请、您是在哪里发送的

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

    请检查您的邮箱。  

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

    大家好、我们公司有多个项目团队使用同一个 TI 账户、因此该账户不是我的邮箱、我的邮箱无法接收外部邮件。

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

    请发送电子邮件至 fdkjwaiyou@byd.com、主题行中包含“发送至 li.xiao49@byd.com “

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

    好的、您是否收到了我的 Webex 邀请?

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

    我还没有收到、fdkjwaiyou@byd.com 可能需要一点时间才能将电子邮件转发给我

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

    好的。  如果目标是 wkup_GPIO0_5 和 wkup_GPIO0_61 单独触发 MCU1_0 中断、请按照我的演示代码并转储寄存器、让我进行检查。

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

    GPIO_INIT_V0 () 用于 组中断。 你可以共享你的办公室电话号码;我会直接给你打电话。  

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

    确定、我的电话号码是 15290006072

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

    这意味着 WKUP_GPIO0_5 设置为输出、请更改为输入模式(位 5 应为 1、实际值为 0 作为输出)

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110038 = 0xDFFFFFFF

     WKUP_GPIO0_61 设置为输出、请更改为输入模式(位 29 应为 1、实际值为 0 作为输出)

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

    大家好、将中断更改为输入后无法触发中断、寄存器值如下所示

    MCU_Cortex_R5_0:GEL 输出:reg_0x0011C03C = 0x00030007

    MCU_Cortex_R5_0:GEL 输出:reg_0x4301C0D4 = 0x00070007

    MCU_Cortex_R5_0:GEL 输出:reg_0x4301C0BC = 0x00070007

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200004 = 0x00010067

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200008 = 0x0001003D

    MCU_Cortex_R5_0:GEL 输出:reg_0x4220000C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200010 = 0x0001006A

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200014 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200018 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x4220001C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200020 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200024 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200028 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x4220002C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200030 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200034 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200038 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x4220003C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200040 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200044 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200048 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x4220004C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200050 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200054 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200058 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x4220005C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200060 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200064 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200068 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x4220006C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200070 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200074 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200078 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x4220007C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200080 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110000 = 0x44832905

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110004 = 0x00000001

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110008 = 0x00000009

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110000C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110010 = 0xFFFFF7FF

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110014 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110018 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x4211001C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110020 = 0x07FA6026

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110024 = 0x00000020

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110028 = 0x00000020

    MCU_Cortex_R5_0:GEL 输出:reg_0x4211002C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110030 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110034 = 0x00000020

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110038 = 0xFFFFFFFF

    MCU_Cortex_R5_0:GEL 输出:reg_0x4211003C = 0x20000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110040 = 0x20000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110044 = 0x20000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110048 = 0x8300003C

    MCU_Cortex_R5_0:GEL 输出:reg_0x4211004C = 0x20000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110050 = 0x20000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110054 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110058 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x4211005C = 0x20000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110060 = 0xFFFFFFFF

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110064 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110068 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x4211006C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110070 = 0x00800-7

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110074 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110078 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x4211007C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110080 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110084 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110088 = 0xFFFFFFFF

    MCU_Cortex_R5_0:GEL 输出:reg_0x4211008C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110090 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110094 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42110098 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x4211009C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100A0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100A4 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100A8 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100AC = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100B0 = 0xFFFFFFFF

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100B4 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100B8 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100BC = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100C0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100C4 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100C8 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100CC = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100D0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x421100D4 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80400 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80420 = 0x30000080

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80440 = 0x00000008

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80460 = 0x80000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80480 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F804A0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F804C0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F804E0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80500 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80520 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80540 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80560 = 0x00100000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80580 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F805A0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F805C0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F805E0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80404 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80424 = 0x00000080

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80444 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80464 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80484 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F804A4 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F804C4 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F804E4 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80504 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80524 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80544 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80564 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80584 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F805A4 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F805C4 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F805E4 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80408 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80428 = 0x00000080

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80448 = 0x000003C0

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80468 = 0x30000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80488 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F804A8 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F804C8 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F804E8 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80508 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80528 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80548 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80568 = 0x07000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80588 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F805A8 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F805C8 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F805E8 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80410 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80430 = 0x00000080

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80450 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80470 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80490 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F804B0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F804D0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F804F0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80510 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80530 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80550 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80570 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80590 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F805B0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F805D0 = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F805F0 = 0x00000000

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

    MCU_Cortex_R5_0:GEL 输出:reg_0x0011C03C = 0x00030007

    MCU_Cortex_R5_0:GEL 输出:reg_0x4301C0D4 = 0x00070007

    MCU_Cortex_R5_0:GEL 输出:reg_0x4301C0BC = 0x00070007

    [/报价]

    PADCONFIG 寄存器不正确。 请更改为 0x50007、即位 16 为 1、位 18 为 1。(禁用上拉/下拉,并启用反向器。)

    请在 J721S2_pinmux_data.c 中按以下方式修改代码

    PIN_WKUP_GPIO0_5、PIN_MODE (7)|\
    ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) 和 (~PIN_PULL_DIRECTION))

    }、

    PIN_WKUP_GPIO0_61、PIN_MODE (7)|\
    ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) 和 (~PIN_PULL_DIRECTION))

    }、

    PIN_GPIO0_15、PIN_MODE (7)|\
    ((PIN_PULL_DISABLE | PIN_INPUT_ENABLE) 和 (~PIN_PULL_DIRECTION))

    }、

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

    当前已启用 bank3 中断。 和中断号 127 起。 以下是原始中断。 我假设这是由 GPIO0_61 导致的。

    MCU_Cortex_R5_0:GEL 输出:reg_0x40F80460 = 0x80000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200004 = 0x00010067

    正如我预期的那样、Reg_0x42200004 = 0x00010005、为什么在此处启用 bank0?

    您能否确保更改输出值与下面相同?

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200004 = 0x00010005

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200008 = 0x0001003D

    MCU_Cortex_R5_0:GEL 输出:reg_0x4220000C = 0x00000000

    MCU_Cortex_R5_0:GEL 输出:reg_0x42200010 = 0x00000000

    谢谢。

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

    您好、

    目前、我们尝试了 gpio0_15、gpio0_31、gpio0_11、WKUP_gpio0_11、WKUP_gpio0_5、 WKUP_GPIO0_61 和 WKUP_GPIO0_6、但它们均无法触发中断。

    此外、您能否确认所有 GPIO 和 WKUP_GPIO 引脚的 GPIO_socConfigIntrPath 的返回值为 CSL_PASS?

    谢谢、

    Neehar

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

    您好、您的同事让我使用他提供的代码来调试 GPIO 中断、看到您提出的问题、我再次使用了 PDK 软件包中的方法、并确认 GPIO_socConfigIntrPath 的返回值通过日志输出 CSL_PASS、但目前我们仅使用 WKGPIO0_5 和 WKUPGPIO0_61、我仅确认了这两个。 日志输出如下所示:

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

    当前 Wkup_GPIO0_5 为上升沿触发中断。  因此、初始化的 逻辑应该为低电平以触发中断。

    MCU_Cortex_R5_0:GEL 输出:reg_0x4211004C = 0x20000000

    WKUP_GPIO0_61 也是上升沿触发中断。 因此、初始化的逻辑 也应为低电平。

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

    您好、现在可以正常地将我们的中断触发到回调函数中、非常感谢您的帮助、但我们使用 PDK 软件包中的代码执行触发、调整测试代码、但您说的 0x40F80460 此寄存器的值始终为 0、但 0x4211005C 和 0x42110034 的值正确、将中断触发。μ s

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

    ISR 执行后、中断状态将是干净的。  读取的 0x40F80460 值是在 ISR 之前还是结束 ISR?