tasks not invoked - PIC18F4455

manusha wrote on Sunday, February 17, 2008:

hi,
i’ve build the MPLAB port of FreeRTOS and created a simple application with two simple tasks.
during debugging, breakpoints at the beginning of the tasks are not hit.(i use the ICD2 debugger). but when tried with simulator they get hit and it runs as expected. the device im using is PIC18F4455 and below is my program.

/* Scheduler include files. */
#include "FreeRTOS.h"
#include "task.h"

void wait(int delay)
{
    int i = 0;
    for(; i < delay; ++i);
}

void vHandleLED1( void *pvParameters )
{           
    while(1)
    {
        PORTA = PORTA | 0b00000001; //set zero bit
        wait(10000);
        PORTA = PORTA & 0b00000010; //reset zero bit
        wait(10000);
    }   
}

void vHandleLED2( void *pvParameters )
{
    while(1)
    {
        PORTA = PORTA | 0b00000010; //set first bit
        wait(1000);
                PORTA = PORTA & 0b00000001; //reset firstbit
        wait(1000);
    }
}

void main()
{
    portBASE_TYPE result;
    PORTA = 0x00;
    ADCON1 = 0x0F;
    CMCON = 0x07;
    TRISA = 0x00;

    result = xTaskCreate( vHandleLED1, ( signed portCHAR * ) "LED1", 100, ( void * ) NULL, 2, ( xTaskHandle * ) NULL );
    result = xTaskCreate( vHandleLED2, ( signed portCHAR * ) "LED2", 100, ( void * ) NULL, 2, ( xTaskHandle * ) NULL );

    vTaskStartScheduler();
}

picmeup wrote on Monday, February 18, 2008:

If you step through the code in the debugger, how far do you get. You should be able to see where the program goes.

manusha wrote on Monday, February 18, 2008:

i tries stepping through the debugger inside vTaskStartScheduler(), but never reached any of the tasks.

manusha wrote on Monday, February 18, 2008:

hi,
i think i have mis configured something, which i dont know… but it started to work…
thanks for the help…