Part Number:DRA821UOther Parts Discussed in Thread:SYSCONFIG
PDK Version 08_04
在MCU1_0 APP想用 DoMain MCSPI0 去驱动 EEP,在初始化过程中遇到如下问题
1.配置中断路由失败,
调用 Sciclient_rmIrqSet 返回失败,追踪发现由 【Sciclient_rmIrqFindRoute】返回错误导致。
具体配置代码如下:
struct tisci_msg_rm_irq_set_reqrmIrqReq;struct tisci_msg_rm_irq_set_resprmIrqResp;uint32 retVal;rmIrqReq.valid_params= TISCI_MSG_VALUE_RM_DST_ID_VALID;rmIrqReq.valid_params|= TISCI_MSG_VALUE_RM_DST_HOST_IRQ_VALID;rmIrqReq.src_id= TISCI_DEV_MCSPI0;rmIrqReq.global_event= 0U;rmIrqReq.src_index= 0U;rmIrqReq.dst_id= TISCI_DEV_MCU_R5FSS0_CORE0;rmIrqReq.dst_host_irq= CSLR_MCU_R5FSS0_CORE0_INTR_MAIN2MCU_LVL_INTRTR0_OUTL_0 + 1;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, SCICLIENT_SERVICE_WAIT_FOREVER);if((uint32)0 != retVal){ERR("Sciclient_rmIrqSet[%s] interrupt cfg err!", g_name_list[chn]);}
2.MCSPI0 初始化失败
调用 MCAL 【Spi_Init】会卡住,追踪发现执行到【 Spi_mcspiReset】,在写【SYSCONFIG】寄存器时程序卡住,没有返回
SPI_FUNC_TEXT_SECTION static void Spi_mcspiReset(uint32 baseAddr) {StatusType status;TickTypestartCount = 0U, tempCount, elaspsedCount = 0U;/* Set the SOFTRESET field of MCSPI_SYSCONFIG register. */CSL_REG32_FINS(baseAddr + MCSPI_SYSCONFIG,MCSPI_SYSCONFIG_SOFTRESET,MCSPI_SYSCONFIG_SOFTRESET_ON);.... }
Shine:
抱歉,因为英文e2e论坛这两天在维护,所以只能节后把您的问题升级到英文e2e论坛了。如果您有公司邮箱的话,也可以自己在10/3后,在英文e2e论坛上发帖。https://e2e.ti.com/
,
Cherry Zhou:
您好,我们已经把您的问题升级到英文论坛了,链接如下,如有答复将尽快回复您:
e2e.ti.com/…/dra821u-mcu1_0-configuring-domain-mcspi0-initialization-failed
,
Cherry Zhou:
您好,
您是尝试从 mcu1_0来初始化 main domain McSP吗I? 如果是这种情况,您需要确保模块已通电。
在初始化 McSPI 并且确认其是否正常工作之前,您尝试一下调用以下语句:
Sciclient_pmSetModuleState(TISCI_DEV_MCSPI0, TISCI_MSG_VALUE_DEVICE_SW_STATE_ON, TISCI_MSG_FLAG_AOP, SCICLIENT_SERVICE_WAIT_FOREVER);