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


Adapting FreeRTOS demo to SAM7-P64

Posted by Bart on June 1, 2010

For 2 days now i have been struggling with adapting the FreeRTOS demo from SAM7X256-Eclipse to my Olimex SAM7-P64 board. I managed to compile the project, but when I try to change the Flash and Ram sizes in the linker script, I get two errors that say Ram and Flash are overflowed and certain sections won't fit inside them. I tried to get rid of every task in the project, because I just want to have a simple pure blank project for future use. Can anyone help me with porting the demo application? I would be very grateful. I started with changing the mem sizes of ram and flash in the ld file, and tried to comment all the tasks from main, and after that deleting some object files from the linker script. But it doesn't work. I'm running out of mana. Please help.

RE: Adapting FreeRTOS demo to SAM7-P64

Posted by Dave on June 2, 2010
Look for configTOTAL_HEAP_SIZE in FreeRTOSConfig.h. What is it set to? You will probably have to make it much smaller to switch to a chip with less RAM.

RE: Adapting FreeRTOS demo to SAM7-P64

Posted by Bart on June 2, 2010
It is set to
#define configTOTAL_HEAP_SIZE( ( size_t ) ( 24 * 1024 ) )

Is there some reference where I can find the meaning of all the #define's? I would really appreciate some help with this. So what should I set it to?

RE: Adapting FreeRTOS demo to SAM7-P64

Posted by Richard on June 2, 2010
Search for configTOTAL_HEAP_SIZE on http://www.freertos.org/a00110.html


RE: Adapting FreeRTOS demo to SAM7-P64

Posted by Bart on June 2, 2010
Thanks very much I aprreciate your help, I changed the heap size to 1024 for now and managed to remove all the tasks from the demo succesfully. I can build the .bin now. But I am not sure if I have to change the values here:

;- Top of Stack Definition
;- Interrupt and Supervisor Stack are located at the top of internal memory in
;- order to speed the exception handling context saving and restoring.
;- ARM_MODE_SVC (Application, C) Stack is located at the top of the external memory.



I_BIT EQU 0x80
F_BIT EQU 0x40

Is it ok if I leave it just like that or should i change it?

RE: Adapting FreeRTOS demo to SAM7-P64

Posted by Dave on June 2, 2010
The IRQ stack is separate and allocated by the linker. You can leave that value unmodified.

I suspect you will have to increase configTOTAL_HEAP_SIZE again when you start trying to create tasks.

RE: Adapting FreeRTOS demo to SAM7-P64

Posted by Dorian Gray on June 9, 2010
I have made this for me.

[ 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