Code of task does not get started

pajk wrote on Sunday, February 15, 2009:

Hi to you all,

Let the code speak for her self:

MAIN:

int main()
{
     xTaskCreate( vTestTask, "TST_TSK", configMINIMAL_STACK_SIZE, NULL, TEST_TASK_PRIORITY, NULL );
     vTaskStartScheduler();

  return 0;
}

TASK:
void vTestTask(void * parameters)
{
  while(1)
   {
      /*can be any simple indicator that task has been started */
     IO0SET = LED_PIN; 
   }
}

I am using rowley compiler(1.7 vesion) and arch is ARM 7 -TDMI using kernel 4.8.0.

With leds-debugs i saw that i get in vTaskStartScheduler() function but task does not get started not even once
(LED have mercy and light up plz). Is something missing in the code?

I use only 1 task so priorities should not be the problem. I don use UART or other timers.

What can be wrong?
Does any body has any clue?

PS. how can i use version 4.8 traceing (goal : not to introduce other problems with tracing)

edwards3 wrote on Sunday, February 15, 2009:

Try stepping thru in the debugger to see what goes wrong. My guess is you are not calling main from Supervisor mode. Rowley requires SUPERVISOR_START to be defined.

floppel wrote on Monday, February 16, 2009:

You could test to see if the pins are properly configured.

In Partest.c ensure that the pins are initialised correctly by:

void vParTestInitialise( void )

and set the pins to high this should light up the leds.

Of course disable all tasks first. Once the LEDs are lit up you know it is the task and not the config.

Hope this helps

pajk wrote on Monday, February 16, 2009:

Hi,

first thanks for replays.

I started demo project (ARM7_LPC2138_Rowley) with above defined task and it run as it should.
So conclusion is that my code is ok, but project settings are not.

When I defined  SUPERVISOR_START in crt0.s it it worked.

Very much thanks MEdwards. Do you use rowley, sir ?

Pajk