工具/软件:
尊敬的 TI 专家:
1.我使用 J722s SDK v11 示例代码作为环境。 SDcard、spl 引导模式。
2.我想在 mcub20 中产生 GPIO 组中断、代码 基于 vision_apps/platform/j722s/rtos/MCU2_0/
3. 首先移植 mcu_plus_sdk_j722s_11_00_00_12/examples/drivers/gpio/gpio_input_interrupt 演示代码
4.单个引脚 GPIO0_xx 正常、
5. 但当需要 GPIO1_xx 或 GPIO0/1 组 IRQ 失败。 为什么会导致该问题。 我有许多 GPIO 引脚、必须使用组 IRQ 模式。
我的问题是:
1. 如何 在 vision_app mcu20 工程中申请 GPIO 组 IRQ 路由。
这是我的代码和日志。
static int Sciclient_gpioIrqSet(uint32_t srcId, uint32_t srcIdx, uint32_t dstId, uint32_t dstIdx)
{
int32_t retVal;
struct tisci_msg_rm_irq_set_req rmIrqReq;
struct tisci_msg_rm_irq_set_resp rmIrqResp;
rmIrqReq.valid_params = 0U;
rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_ID_VALID;
rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID;
rmIrqReq.global_event = 0U;
// rmIrqReq.src_id = TISCI_DEV_GPIO0;
// rmIrqReq.src_index = CSLR_MAIN_GPIOMUX_INTROUTER0_IN_GPIO0_GPIO_35;
// rmIrqReq.dst_id = TISCI_DEV_R5FSS0_CORE0;
// rmIrqReq.dst_host_irq = CSLR_R5FSS0_CORE0_INTR_MAIN_GPIOMUX_INTROUTER0_OUTP_16;
rmIrqReq.src_id = srcId;
rmIrqReq.src_index = srcIdx;
rmIrqReq.dst_id = dstId;
rmIrqReq.dst_host_irq = dstIdx;
rmIrqReq.ia_id = 0U;
rmIrqReq.vint = 0U;
rmIrqReq.vint_status_bit_index = 0U;
rmIrqReq.secondary_host = TISCI_MSG_VALUE_RM_UNUSED_SECONDARY_HOST;
retVal = Sciclient_rmIrqSet(&rmIrqReq, &rmIrqResp, SystemP_WAIT_FOREVER);
appLogPrintf("Sciclient event config %d-%d, %d-%d: %d\r\n", srcId, srcIdx, dstId, dstIdx, retVal);
return retVal;
}
Sciclient_gpioIrqSet(TISCI_DEV_GPIO1, CSLR_MAIN_GPIOMUX_INTROUTER0_IN_GPIO1_GPIO_12, TISCI_DEV_R5FSS0_CORE0, CSLR_R5FSS0_CORE0_INTR_MAIN_GPIOMUX_INTROUTER0_OUTP_16);
Sciclient_gpioIrqSet(TISCI_DEV_GPIO1, CSLR_MAIN_GPIOMUX_INTROUTER0_IN_GPIO1_GPIO_BANK_0, TISCI_DEV_R5FSS0_CORE0, CSLR_R5FSS0_CORE0_INTR_MAIN_GPIOMUX_INTROUTER0_OUTP_16);
Sciclient_gpioIrqSet(TISCI_DEV_GPIO0, CSLR_MAIN_GPIOMUX_INTROUTER0_IN_GPIO0_GPIO_BANK_0, TISCI_DEV_R5FSS0_CORE0, CSLR_R5FSS0_CORE0_INTR_MAIN_GPIOMUX_INTROUTER0_OUTP_16);
Sciclient_gpioIrqSet(TISCI_DEV_GPIO0, CSLR_MAIN_GPIOMUX_INTROUTER0_IN_GPIO0_GPIO_36, TISCI_DEV_R5FSS0_CORE0, CSLR_R5FSS0_CORE0_INTR_MAIN_GPIOMUX_INTROUTER0_OUTP_16);
日志: GPIO1、GPIO0/1 组请求全部失败。 只有最后一个 GPIO0 单个引脚正常。
[MCU2_0] 717.901302 s:Sciclient 事件配置 78-102,262-104:–1
[MCU2_0] 717.901324 s:Sciclient 事件配置 78-180,262-104:–1
[MCU2_0] 717.901343 s:Sciclient 事件配置 77-190,262-104:–1
[MCU2_0] 717.901477 s:Sciclient 事件配置 77-36,262-104:0
[MCU2_0] 717.901517s:启用组 IRQ:601000、12、0
谢谢