udata_heap_1.o’ can not fit the section.

any one help me to edit the linker file for my project.actually i am using pic 18f26j50 with c18 compiler in mplab i am getting this error while compile my file
Error – section ‘.udata_heap_1.o’ can not fit the section. Section ‘.udata_heap_1.o’ length=0x00000400
how to rectify this one…

udata_heap_1.o’ can not fit the section.

Look at the file 18f452.lkr in FreeRTOS/Demo/PIC18_MPLAB.  It creates a large data bank called BIG_BLOCK to fit the FreeRTOS heap, you will have to do a similar thing in your linker script. Note that there are (documented) problems when a stack allocated from this big block crosses a page boundary, although you will find fixes for this in FreeRTOS Interactive and other locations – but still the PIC18 is far from an ideal target to run any kind of pre-emptive RTOS because of its paging scheme and hardware stack. Regards.

udata_heap_1.o’ can not fit the section.

dear sir i have edited my linker file for pic18f26j50 and it also compiled successfully but the problem now is its not working with hardware..i am getting some warnings.the warnings are shown below…
D:sathishprogramsFreeRTOSV7.1.1led.c:42:Warning  type qualifier mismatch in assignment
D:sathishprogramsFreeRTOSV7.1.1led.c:43:Warning  type qualifier mismatch in assignment
D:sathishprogramsFreeRTOSV7.1.1led.c:44:Warning  type qualifier mismatch in assignment my program is shown below.. #include “p18f26j50.h” #include “.SourceincludeFreeRTOS.h”
#include “.Sourceincludetask.h”
#include “delays.h”      #pragma config WDTEN = OFF          //WDT disabled (enabled by SWDTEN bit)#elif defined(PIC18F26J50_PIM) || defined(PIC18F_STARTER_KIT_1) || defined(PIC18F47J53_PIM)
//  defined(PIC18F26J50_PIM) || defined(PIC18F_STARTER_KIT_1) || defined(PIC18F47J53_PIM)
     #pragma config PLLDIV = 1           //Divide by 3 (12 MHz oscillator input)
     #pragma config STVREN = ON            //stack overflow/underflow reset enabled
     #pragma config XINST = OFF          //Extended instruction set disabled
     #pragma config CPUDIV = OSC1        //No CPU system clock divide
     #pragma config CP0 = ON            //Program memory is not code-protected
     #pragma config OSC = HSPLL          //HS oscillator, PLL enabled, HSPLL used by USB
     #pragma config T1DIG = OFF          //Sec Osc clock source may not be selected, unless T1OSCEN = 1
     #pragma config LPT1OSC = OFF        //high power Timer1 mode
     #pragma config FCMEN = OFF          //Fail-Safe Clock Monitor disabled
     #pragma config IESO = OFF           //Two-Speed Start-up disabled
     #pragma config WDTPS = 32768        //1:32768
     #pragma config DSWDTOSC = INTOSCREF //DSWDT uses INTOSC/INTRC as clock
     #pragma config RTCOSC = T1OSCREF    //RTCC uses T1OSC/T1CKI as clock
     #pragma config DSBOREN = OFF        //Zero-Power BOR disabled in Deep Sleep
     #pragma config DSWDTEN = OFF        //Disabled
     #pragma config DSWDTPS = 8192       //1:8,192 (8.5 seconds)
     #pragma config IOL1WAY = OFF        //IOLOCK bit can be set and cleared
     #pragma config MSSP7B_EN = MSK7     //7 Bit address masking
     #pragma config WPFP = PAGE_1        //Write Protect Program Flash Page 0
     #pragma config WPEND = PAGE_0       //Start protection at page 0
     #pragma config WPCFG = OFF          //Write/Erase last page protect Disabled
     #pragma config WPDIS = OFF          //WPFP, WPEND, and WPCFG bits ignored
void vLed1( void *pvParameters );
void vLed2( void *pvParameters );
void vLed3( void *pvParameters ); void main(void)
{
TRISA=0;
xTaskCreate(vLed1,”Led 1″, 400, NULL, 1, NULL );
xTaskCreate(vLed2,”Led 2″, 400, NULL, 1, NULL );
xTaskCreate(vLed3,”Led 3″, 400, NULL, 1, NULL );
vTaskStartScheduler();
for(;;);
} void vLed1( void *pvParameters )
{
for(;;)
{
PORTAbits.RA0=1;
Delay10KTCYx(250);
PORTAbits.RA0=0;
Delay10KTCYx(250);
}
}
void vLed2( void *pvParameters )
{
for(;;)
{
PORTAbits.RA1=1;
Delay10KTCYx(500);
PORTAbits.RA1=0;
Delay10KTCYx(500);
}
}
void vLed3( void *pvParameters )
{
for(;;)
{
PORTAbits.RA2=1;
Delay10KTCYx(1000);
PORTAbits.RA2=0;
Delay10KTCYx(1000);
}
} actually i am getting warning in task creation…the task creation in my program is correct r not..actually i am new to rtos…so i cant find out the problem help me…
thank u in advance…
sathish.N