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.

RTOS/TMS320C6678: GateMP global mutex inside?

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/.../