Tool/software: TI-RTOS
Hello!
Given two tasks running on the same core
int user_task1(xdc_UArg arg0, xdc_UArg arg1) { Task_sleep(100); GateMP_Params gparams; GateMP_Params_init(&gparams); gparams.regionId = 1; gparams.name = "a"; GateMP_Handle gateHandle = GateMP_create(&gparams); GateMP_enter(gateHandle); while(true) { printf("Alive! 1\n"); Task_sleep(2000); } } int user_task2(xdc_UArg arg0, xdc_UArg arg1) { Task_sleep(200); GateMP_Params gparams; GateMP_Params_init(&gparams); gparams.regionId = 1; gparams.name = "b"; GateMP_Handle gateHandle = GateMP_create(&gparams); GateMP_enter(gateHandle); while(true) { printf("Alive! 2\n"); Task_sleep(2000); } }
Output is
Alive! 1 Alive! 1 Alive! 1
Why I cannot enter() into different gates at the same time? It looks like there is a global mutex inside GateMP module.
ipc_3_40_01_08 is latest available form here downloads.ti.com/.../