SK-AM62-LP: SDL MCU BIST and ECC (Not AM62A)

Expert 2350 points
Part Number: SK-AM62-LP

Tool/software:

When  I integrated ecc_app_am62x-sk_r5fss0-0_freertos_ti-arm-clang to ipc_rpmsg_echo_linux_am62x-sk_r5fss0-0_freertos_ti-arm-clang.

I found that after performing MCU BIST, the ecc_main(Null) will be stuck at 

ECC Example Application
ECC_Example_init: Init MAIN ESM complete

void main_thread(void *args)
{
    int32_t status = SystemP_SUCCESS;

    /* Open drivers */
    Drivers_open();
    /* Open flash and board drivers */
    status = Board_driversOpen();
    DebugP_assert(status==SystemP_SUCCESS);

    /* wait for PBIST completion */
    status = App_waitForMcuPbist();
    DebugP_log("McuPbist = %d\n\r",status);

    /* start MCU LBIST*/
    status = App_startMcuLbist();

    /* wait for LBIST completion */
    status = App_waitForMcuLbist();
    DebugP_log("Lbist = %d\n\r",status);

    /* Init LPM specific data */
    Sciclient_initDeviceManagerLPMData(&gDMLPMData);

    sciServer_init();

    ecc_main(NULL);

    ipc_rpmsg_echo_main(NULL);

    /* Close board and flash drivers */
    Board_driversClose();

    vTaskDelete(NULL);
}

If I do not execute MCU LBIST, it will work as normally.

The stuck function is below.

result = SDL_ESM_init(SDL_ESM_INST_WKUP_ESM0, &ECC_Test_esmInitConfig_WKUP, SDL_ESM_applicationCallbackFunction, ptr);

  • Hello, 

    Since the BIST test is destructive in nature, it might be causing some issues in the MCU/Wkup ESM functionality. Since, you are executing BIST from R5F application, you may have reset the MCU core as done in SBL and then try initialising the ESM again.

    Regards,

    Nihar Potturu

  • Dear Nihar.

    thanks for the feedback. Will ask Zheng to check.

    two more questions.

    1. customer use SPL boot mode. Now they migrate SDL code to ipc_rpmsg_echo_linux image which runs on DM R5. is it good? may I ask your suggestion?

    2. except MCU BIST, which one also need reset?

    3. assuming it is a rule that BIST need reset, is there any other rules to do migrate SDL code?

    thanks a lot!

    yong

  • I checked example of sbl_ospi_nand_stage1_am62x-sk-lp_r5fss0-0_nortos_ti-arm-clang.

    I did not find where reset the MCU core and re-initialize the ESM

  • Hello,

    I did not find where reset the MCU core and re-initialize the ESM

    We don't re-initialize the ESM. Inside the Bootloader_loadCpu API, we perform a reset of each of the cores before loading their respective appimages. That must be helping in getting the cores in a clean state before starting the actual application. 

    Regards,

    Nihar Potturu