vSemaphoreCreateBinary ERROR

nobody wrote on Saturday, 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

nobody wrote on Saturday, December 10, 2005:

Which processor?

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