Part Number: TMS320C6678
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/.../