This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MCU-PLUS-SDK-AM263X: Calling Bootloader_loadCpu and it gets stuck polling ptrTopRCMRegs->R5SS_CLK_STATUS in SOC_rcmsetR5SysClock

Part Number: MCU-PLUS-SDK-AM263X

On line 1943 in soc_rcm.c , SOC_rcmExtract8 (ptrTopRCMRegs->R5SS_CLK_STATUS, 7U, 0U) always returns with a value of 1 instead of 4. Therefore, I gets stuck in the while loop. I have been able to get the sample sbl qspi project to work but not in my project. Any help on how to debug this would be lovely.

Thanks,

  • Hi Jett,

    The SBL expert is currently on leave. The response may be delayed. Thank you for your patience!

    Best regards,

    Ming

  • * New Info *

    I found that line 1938 in soc_rcm.c does not set the register with 0x222 in my project. Is there a setting that is locking me out of writing to this register?

    /* 4. After the divider configuration, update the R5SS GCM register with the value of 0x222 to select the PLL_CORE_CLOCKOUT0 as its source, R5SS_CLK_SRC_SEL.CLKSRCSEL= 0x222
    */
    /* Select CLKOUT0 as clock for R5 Core */
    ptrTopRCMRegs->R5SS_CLK_SRC_SEL = SOC_rcmInsert16 (ptrTopRCMRegs->R5SS_CLK_SRC_SEL, 11U, 0U, gR5SysClkSrcValMap[SOC_RcmPeripheralClockSource_DPLL_CORE_HSDIV0_CLKOUT0]);

  • *** SOLVED MY ISSUE *** TI MAY NEED AN UPDATE FOR THE SOC or Bootloader Driver API ***

    The locks for TOP_RCM were locked in my project and not for the example projects, because I was calling SOC_getWarmResetCause (for debugging resets) before calling Bootloader_loadCpu. I do think that the API code should unlock and then relock whenever they write to lockable register