器件型号: AM6441
因为我将以下代码添加 到 sciclient_default boardcfg_rm.c 中
{
num_resource = 2、
.type = TISCI_RESASG_UTYPE (TISCI_DEV_MAIN_GPIOMUX_INTROUTER0、TISCI_RESASG_subtype_IR_OUTPUT)、
start_resource = 16、
.host_id = TISCI_HOST_ID_ALL、
}、
并重新构建电路板配置。
显然、sciclient 正在进行更改并返回 OK。
GPIO 引脚为 GPIO1_7 (从 osisiloscope,我们看到中断正确发送为低电平有效)
src_id = 3
src_index = 180、
DST_HOST_IRQ = 16 (AM64X_DEV_DMASS0_INTAGGR_0)
DST_HOST_IRQ = 3 (AM64X_DEV_MAIN_GPIOMUX_INTROUTER0)
GLOBAL_EVENT = 0xC418 (这是 L2G 全局事件)
Local_Event = 0x18 这是 L2G BLAOCK
rSciclient_rmIrqSetRaw 具有上述配置。
2.接下来、将本地 GPIO 事件转换为全局事件。
相同
3. 注册虚拟中断
* boardcfg 中 R5 的全局事件范围从 16 开始,大小为 256。 结果为 IMAP 寄存器 0x481000000+(8*16)= 0x48100080 */
global_event 基于 rm 的电路板配置、其值为 16。 (此全局事件表示来自 GPIO 的中断。)
在 A53 中、应该是
(在 A53 虚拟 Num = 5 中 、将由中断号 69 触发)不工作
AM64X_DEV_DMASS0_INTAGGR_0 28 5 AM64X_DEV_GICSS0 SPI 69
(在 R5F 中、virtual Num 为 44、将由中断号 68 触发 、并且在 R5F 下工作正常
AM64X_DEV_DMASS0_INTAGGR_0 28 44 AM64X_DEV_R5FSS0_CORE0 intr 68
)
请参阅
https://software-dl.ti.com/tisci/esd/11_01_02/5_soc_doc/am64x/interrupt_cfg.html
我注册中断处理程序、
在 R5F 中、一切运行正常。 但在 A53 中、它根本不会触发中断。
我的问题:
问题可能是什么?
如何分步调试。 从 GPIO 到 DMSS、 配置应该完全相同?
到 R5F 或 A53 的 DMSS 虚拟中断、但略有不同。 它应该都能正常工作。
* boardcfg 中 R5 的全局事件范围从 16 开始,大小为 256。 结果为 IMAP 寄存器 0x481000000+(8*16)= 0x48100080 */
例如:对于 A53 和 R5F、这应该相同。
基本上、我应该将 VINT5 映射到 IRQ69 吗?
谢谢。 