Porting freertos on AM1808

nikitbiraj wrote on Tuesday, March 20, 2012:

Hello sir,
I have worked on freertos with STM32F103 and i have decided to port freertos on AM1808. This processor dosen’t support freertos. I would like to know steps in porting freertos that dosen’t support freertos. Freertos.org has very limited information.
Please do help

rtel wrote on Tuesday, March 20, 2012:

Always start with a working project, and incrementally add the FreeRTOS code.  Use an existing FreeRTOS demo to see the source files that are required, and the include paths that need to be configured.  Once you have a working project - add in the required FreeRTOS files with the functions in port.c just stubbed out - then once that is compiling implement the port.c functions one by one until everything is ready to try creating a task.

As far as I know that part has an ARM9 core.  Your best starting point would be to use an existing FreeRTOS ARM9 port layer, and adapting that to the AM1808.  The main kernel port, as far as context saving and restoring, will be identical on all ARM9 devices.  The main porting job will be finding a suitable tick interrupt source, which would normally be a peripheral timer on an ARM9.  With the tick source selected, update prvSetupTimerInterrupt() in port.c to configure the timer, and configure vPortTickISR() as the timer interrupt service routine.

You will need to ensure the interrupt vectors are set correctly to service IRQ and SWI interrupts - but again you can copy a vector table from an existing ARM9 (or in fact ARM7, as it will be the same) port.

Hope that helps.

nikitbiraj wrote on Wednesday, March 21, 2012:

Thank you for response. This would help me.