工具与软件:
您好!
大家好,我想在不同的内核(例如 MCU2_0上的 GPIO0_23 和 MCU2_1上的 GPIO0_24 )上在同一组中实现 GPIO interrput。 我的版本信息是:
Linux:ti-processor-sdk-linux-j7-evm-08_02_00_03-Linux-x86-Install.bin
RTOS:ti-processor-sdk-rtos-j721e-evm-08_02_00_05.tar.gz
我已经根据这篇文章 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1392363/faq-tda4vm-how-do-i-use-gpio-interrupts-in-pdk-and-how-are-they-routed 了解了 GPIO 中断的原理 、并 根据 https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/09_02_00_05/exports/docs/linux/How_to_Guides/Host/K3_GPIO.html 分配了资源 Resource_Partitioning_Tool。完成上述步骤后、在 MCU2-0上成功配置了 GPIO 中断。 但是、无法在 MCU2_1上配置 GPIO 中断。 我在以下代码中发现错误。
rmIrqReq.secondary_host = TISCI_MSG_VALUE_RM_UNUSED_SECONDARY_HOST;
rmIrqReq.src_id = src_id;
rmIrqReq.src_index = src_index; /* This is the event coming out of the peripheral */
/* Set the destination interrupt */
rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_ID_VALID;
rmIrqReq.valid_params |= TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID;
/* Set the destination based on the core */
rmIrqReq.dst_id = dst_id;
rmIrqReq.dst_host_irq = dst_host_irq;
if (GPIO_PinBankUsageCount[portNum][bankNum] == 0U)
{
retVal = Sciclient_rmIrqSet(
(const struct tisci_msg_rm_irq_set_req *)&rmIrqReq,
&rmIrqResp,
SCICLIENT_SERVICE_WAIT_FOREVER);
if (retVal == CSL_PASS)
{
/* Increase the bank usage count for this port */
GPIO_PinBankUsageCount[portNum][bankNum]++;
}
}
else
{
/* The interrupt path is already allocated, no need to re-allocate it */
retVal = CSL_PASS;
}
Sciclient_rmIrqSet 返回-1。
但是我从 TISCI 文档 https://software-dl.ti.com/tisci/esd/latest/5_soc_doc/j721e/interrupt_cfg.html 中了解到 、SCI 接口仅管理 GPIO 组中断、而与 GPIO 引脚中断相关的配置需要参考 TRM。 但是、我在 TRM 中没有找到任何相关介绍或寄存器(spruil1c.pdf、 J721E_registers1.pdf 、J721E_registers2.pdf 、J721E_registers3.pdf、J721E_registers4.pdf、 J721E_registers5.pdf)。 我从这篇文章 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1386233/tda4vm-gpiomux_intrtr0_muxcntl-vanished-from-spruil1b-9-9-9-2-2-to-spruil1c-intended-or-mistake 了解到 、最新的 TRM 存在错误、并且省略了相关寄存器的引入。 是否有解决此问题的方法? 或者您能否提供这篇文章 https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1386233/tda4vm-gpiomux_intrtr0_muxcntl-vanished-from-spruil1b-9-9-9-2-2-to-spruil1c-intended-or-mistake?中提到的 SPRUIL1B TRM
期待您的回复。