Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Real time embedded FreeRTOS mailing list 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem TCP & FAT Training




Loading

udata_heap_1.o' can not fit the section.

Posted by sathish on June 12, 2012
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...

RE: udata_heap_1.o' can not fit the section.

Posted by Richard on June 12, 2012
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.

RE: udata_heap_1.o' can not fit the section.

Posted by sathish on June 12, 2012
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:\sathish\programs\FreeRTOSV7.1.1\led.c:42:Warning [2066] type qualifier mismatch in assignment
D:\sathish\programs\FreeRTOSV7.1.1\led.c:43:Warning [2066] type qualifier mismatch in assignment
D:\sathish\programs\FreeRTOSV7.1.1\led.c:44:Warning [2066] type qualifier mismatch in assignment


my program is shown below..

#include "p18f26j50.h"

#include ".\Source\include\FreeRTOS.h"
#include ".\Source\include\task.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[5:0], 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


[ Back to the top ]    [ About FreeRTOS ]    [ Sitemap ]    [ ]




Copyright (C) 2004-2010 Richard Barry. Copyright (C) 2010-2016 Real Time Engineers Ltd.
Any and all data, files, source code, html content and documentation included in the FreeRTOSTM distribution or available on this site are the exclusive property of Real Time Engineers Ltd.. See the files license.txt (included in the distribution) and this copyright notice for more information. FreeRTOSTM and FreeRTOS.orgTM are trade marks of Real Time Engineers Ltd.

Latest News:

FreeRTOS V9.0.0 is now available for download.


Free TCP/IP and file system demos for the RTOS


Sponsored Links

⇓ Now With No Code Size Limit! ⇓
⇑ Free Download Without Registering ⇑


FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Renesas Electronics Gold Alliance RTOS Partner.jpg

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers

Atmel RTOS partner supporting ARM Cortex-M3 and AVR32 microcontrollers

STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Xilinx Microblaze and Zynq partner

Silicon Labs low power RTOS partner

Altera RTOS partner for Nios II and Cortex-A9 SoC

Freescale Alliance RTOS Member supporting ARM and ColdFire microcontrollers

Infineon ARM Cortex-M microcontrollers

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

Cypress RTOS partner supporting ARM Cortex-M3

Fujitsu RTOS partner supporting ARM Cortex-M3 and FM3

Microsemi (previously Actel) RTOS partner supporting ARM Cortex-M3

Atollic Partner

IAR Partner

Keil ARM Partner

Embedded Artists