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.
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.
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.
;------------------------------------------------------------------------------
IRQ_STACK_SIZE EQU 300
ARM_MODE_FIQ EQU 0x11
ARM_MODE_IRQ EQU 0x12
ARM_MODE_SVC EQU 0x13
I_BIT EQU 0x80
F_BIT EQU 0x40
Is it ok if I leave it just like that or should i change it?