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.