Other Parts Discussed in Thread: SYSCONFIG
PDK Version 08_04
在MCU1_0 APP想用 DoMain MCSPI0 去驱动 EEP,在初始化过程中遇到如下问题
1.配置中断路由失败,
具体配置代码如下:
struct tisci_msg_rm_irq_set_req rmIrqReq;
struct tisci_msg_rm_irq_set_resp rmIrqResp;
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;
TickType startCount = 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);
....
}