vSemaphoreCreateBinary ERROR

Posted by Nobody/Anonymous on December 10, 2005
I port FreeRTOS to a new CPU.And it can run in simple 2 tasks which have the same priority using preemption.

Now I use vSemaphoreCreateBinary to create a Semaphore to let 2 tasks giving and taking Semaphore.But run fail when vTaskStartScheduler()

CODE HERE
=================================================
xTaskCreate( vTestTask, "Task 1", configMINIMAL_STACK_SIZE, (void *) &task1id,tskIDLE_PRIORITY + 2, NULL );
gdb_putc(1);
xTaskCreate( vTestTask, "Task 2", configMINIMAL_STACK_SIZE, (void *) &task2id,tskIDLE_PRIORITY + 2, NULL );

vSemaphoreCreateBinary( xSemaphore );

if(xSemaphore != NULL)
{
gdb_putc(5);
}
gdb_putc(7);
vTaskStartScheduler(); // FAIL HERE

RE: vSemaphoreCreateBinary ERROR

Posted by Nobody/Anonymous on December 10, 2005
Which processor?

vTaskStartScheduler will return if there is insufficient RAM to create the idle task.