Support for Cortex-A9

anonymous wrote on Thursday, June 09, 2011:

Does FreeRTOS currently or in the future will have port for Cortex-A9? How about the multicore version to run on Xilinx new Zynq chip (dual-core Cortex-A9)

williamdavy wrote on Friday, June 10, 2011:


I have started working on a FreeRTOS port to the Cortex-A9. I am currently running it on QEMU using the realview-pbx-a9 virtual machine. The port is executing in co-operative and pre-emptive modes running almost all of the standard demo tests successfully but on a single core.

However, there are several features still missing like nested interrupts and possibly using the virtual memory hardware to provide memory protection unit functionality. Also, I haven’t gotten round to testing it on real hardware yet though there is no code that is specific to the emulator. Until I get the port running on hardware, I will not be entirely happy with the quality of the port so I am not willing to release it just yet.

To my knowledge, FreeRTOS is unlikely to become an SMP operating system meaning that when I do eventually start using the dual-cores, each core will be executing a separate instance of the OS, hence, AMP. Therefore, any code that I add for dual-core will be application specific configurations that each core will use to initialise itself based on the CPU ID and partitioning the memory for each CPU.

With respect to the Zynq, I have no plans to support it but it should just be a case of changing the addresses of the peripherals.

Do you have particular time scales in mind for when you want to start?


P.S. I can’t see you username for some reason?

ankanbasak wrote on Tuesday, June 14, 2011:

Hi William,

Thanks for the reply. I am evaluating some RTOS to run on the real Xilinx Zync chip when it becomes available. At the moment, I want to familiarize myself with FreeRTOS using the appropriate tools on an ARM based eval board. Right now, I have the Zync emulation board, TI’s OMAP L138(ARM 9) in house. I have been looking at development tools, so far the IAR Workbench(FreeRTOS plugin) and ARM Realview tools. I am not too worried about running FreeRTOS in dual core setup yet, because eventually we will be running Linux on the other core and one chosen RTOS on the other. The evaluation will run for few months and want to make a decision on RTOS in the next 3 months or so. Any suggestion on tools that you think I can use with FreeRTOS? How has been your impression on FreeRTOS as an RTOS to be used in embedded applications?