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.

AM2634-Q1: delay function is not worked at 2nd core operation

Part Number: AM2634-Q1


Tool/software:

Dear Champs,

My customer is trying to use 2 separate functions on each core. e.g. function 1 will be run on R5_0_0 and function 2 will be run on R5_0_1.

While function 1 is running on R5_0_0, my customer failed to run delay functions in below and found an abort was occurred.

void software_delay_ms(unsigned int ms) {

    volatile unsigned int i, j;

    for (i = 0; i < ms; i++) {

        for (j = 0; j < 20000; j++) { // 

            __asm(" NOP"); // No Operation, 

        }

    }

}

 

main()

{

    while(1)

    {

        DebugP_log("Core 2 Running ... \r\n");

        software_delay_ms(1000); => Working well

        //const TickType_t xDelay = 1000 / portTICK_PERIOD_MS;

        //vTaskDelay(xDelay); =>  abort occurred

        //sys_msleep(1000); => abort occurred

        //ClockP_usleep(1000*1000); => abort occurred

 

    }

}

Do these delay functions like vTaskDelay(), sys_msleep(), ClockP_usleep() use internal timer HW module to calculate time and this is the reason they faced abort in R5_0_1?

Thanks and Best Regards,

SI.