Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


FreeRTOS for iMX6 Quad

Posted by ypivenix on November 4, 2014

I am interested in getting FreeRTOS working with the Freescale iMX6 processor (quad). How do I get started to get the kernel to build and run on this target. This is a arm a9 processor. It is likely that 3 cores will be running linux while the other core will be for FreeRTOS.


FreeRTOS for iMX6 Quad

Posted by edwards3 on November 4, 2014

There are A9 demo projects for Xilinx, Altera and Renesas parts. You can use those to get started. There is also this page http://www.freertos.org/Using-FreeRTOS-on-Cortex-A-Embedded-Processors.html

FreeRTOS for iMX6 Quad

Posted by ypivenix on November 5, 2014

Can I use the FreeRTOSSourceportableGCCARM_CA9 port files for the imx6 CA9 assuming using GCC ?

FreeRTOS for iMX6 Quad

Posted by rtel on November 6, 2014

If you are using GCC, and the iMX6 chip you are using has a standard GIC (Generic Interrupt Controller from ARM) then that is the correct port layer to use. You already have a link to the generic "FreeRTOS on ARM Cortex-A" page in a post above. You will also find examples of how to set the constants referred to on that page in the Xilinx Zinq, Altera Cyclone 5 SoC and Renesas RZ demo projects - although tose projects may or may not be using the GCC compiler the stitching between the project files and the FreeRTOS Cortex-A port layer is the same whichever compiler is used.


FreeRTOS for iMX6 Quad

Posted by ypivenix on November 6, 2014

Directly from that imx6 datasheet: The ARM Cortex A9 MPCore™ complex includes: • General Interrupt Controller (GIC) with 128 interrupt support

So it appears that I can use the existing port layer. Is there documentation on what specific function need to exist in port.c?

It seems that they are:

pxPortInitialiseStack xPortStartScheduler vPortEndScheduler prvSetupTimerInterrupt vPortEnterCritical vPortExitCritical

However, other ports have additional functions. I would have expected all the same functions name in every port.c. Is this incorrect ?


FreeRTOS for iMX6 Quad

Posted by rtel on November 6, 2014

You don't need to edit anything in the port.c file - just build it. The prototypes for the portable layer functions called by the core kernel code are in portable.h - so the functions in that header file must be implemented, any other functions would be port specific.


[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

NXP tweet showing LPC5500 (ARMv8-M Cortex-M33) running FreeRTOS.

Version 10.1.1 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers


STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner