FreeRTOS ans SAM3S4A

pc-mesnil wrote on Monday, May 12, 2014:

Hello,
I would like to use FreeRTOS on a SAM3S4A chip. I see that there is 2 demo for the board of Atmel, but I could not modify it to work on a other Microcontroler that the SAM3SD8C. Do you know if it exist a demo project on atmel for generic processeur, or a specific one foe SAM3S4?
Thanks in advance.

rtel wrote on Monday, May 12, 2014:

The FreeRTOS Cortex-M port will run on any Cortex-M chip that has enough RAM. To get the kernel running it should just be a matter of ensuring the linker script is correct for the device being used. Getting a demo application running may require different start up code (if the chip family is changed), adding or removing demo tasks if the amount of RAM available is different, and updating FreeRTOSConfig.h settings that set the CPU speed and amount of heap available. A page is provided that includes information on doing this http://www.freertos.org/porting-a-freertos-demo-to-different-hardware.html - were you able to follow the instructions there? If not then you will need to provide information on the actual problem you are having in order for somebody to be able to suggest a solution.

Regards.

pc-mesnil wrote on Tuesday, May 13, 2014:

I tried to start from the ATSAM3S-EK2 demo, and I get this error when I tried to run :

Atmel Studio was unable to start your debug session.
Please verify device selection, interface settings, target power and connections to the target device.

Timestamp: 2014-05-13 14:37:04.372
Severity: ERROR
ComponentId: 20100
StatusCode: 131101
ModuleName: TCF (TCF command: Processes:launch failed.)

Unexpected Chip Identifier 0x28800960 (expected 0x29ab0a60).*

It seems that the only chip supported is SAM3SD8C.
I don’t know how to swich it to my device with is SAM3S4A.

davedoors wrote on Tuesday, May 13, 2014:

I don’t think your problem is connected to FreeRTOS at all, it is simply that you are telling Atmel Studio that you are connecting to a SAM3SD8C when you are actually connecting to a SAM3S4A. Change the device setting in the project.

pc-mesnil wrote on Tuesday, May 13, 2014:

Thanks a lot Dave.
You were right about the project target.
But now my demo blinking LED does not compile on RTOS (it compile and blink if I do it manually on the main) because it need too much RAM:

Error 2 Program Memory Usage : 19800 bytes 7,6 % Full
Data Memory Usage : 50736 bytes 103,2 % Full (Memory Overflow) RTOSDemo 0 0 RTOSDemo

Does someone can give me a clue on how reduce the size of the RAM, my soft is pretty simple, I need a lightest heart as possible.

rtel wrote on Tuesday, May 13, 2014:

The following two links should provide the information you need to reduce the data size:

http://www.freertos.org/a00111.html
http://www.freertos.org/FAQMem.html#RAMUse2

Hope that helps.

Regards.

pc-mesnil wrote on Wednesday, May 14, 2014:

Ok,
I appology for needing so much jelp, but thanks to your doc I succeed to reduce my ram consumption.
Now the soft compile and run on my board, but stay stuck in the

xPortStartScheduler( void )

function, more precisely in the

prvPortStartFirstTask();

It could be a issue with portmap, but I can not figure what I should change to make it work.

davedoors wrote on Wednesday, May 14, 2014:

Are the interrupt vectors installed? point #1 on http://www.freertos.org/FAQHelp.html