Quality RTOS & Embedded Software

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


FreeRTOS in iMX6 saboralilte board

Posted by yuvi1234 on January 27, 2016


Version : FreeRTOSV8.2.3 Compiler : arm-none-eabi-gcc compiler version :gcc 4.9.2

My task is to port FreeRTOS to the iMX6 saboralilte board.

I need some help in modifying the following functions :

1.vConfigureTickInterrupt with main.c 2. vApplicationIRQHandler with main.c 3. vParTestInitialise() within partest.c 4. prvSetupHardware() within main.c 5. Configuring the tick interrupt: prvSetupTimerInterrupt() within port.c

I am totally new to this topic.

Kindly add your suggestions.

FreeRTOS in iMX6 saboralilte board

Posted by rtel on January 31, 2016

[Apologies for the delay in your post showing up. This happens sometimes because the post went into moderation. The forum is set not to use moderation (as a log in is required), but very occasionally it still seems to get used, so we only check it twice a week.]

My task is to port FreeRTOS to the iMX6 saboralilte board.

This is a Cortex-A9, right? Does it use an ARM GIC (Generic Interrupt Controller), or a proprietary interrupt controller? Here are information pages for both respectively: http://www.freertos.org/Using-FreeRTOS-on-Cortex-A-Embedded-Processors.html http://www.freertos.org/Using-FreeRTOS-on-Cortex-A-proprietary-interrupt-controller.html

1.vConfigureTickInterrupt with main.c

The first thing to do is identify a suitable hardware timer. It might be that your part has a timer dedicated for this purpose, or it might be that you have to choose a peripheral timer. The timer needs to be able to automatically (with no manual re-programming) generate periodic interrupts at the frequency your require. Typically this would be between 100Hz and 1KHz, depending on your requirements.

Once you have identified the timer - forget FreeRTOS for a moment - and just create a very very simply application that does nothing but configure the timer to generate the interrupts at the frequency you want, and measure that the frequency is correct. Once the timer is doing that, you can take the timer configuration routine as your vConfigureTickInterrupt() function.

  1. vApplicationIRQHandler with main.c

This is dependent on how your hardware handles interrupts, so dependent on your answer to the questions at the top regarding the interrupt controller used.

  1. vParTestInitialise() within partest.c

The name of this file is historic, and stands for parallel port test. This is nothing more than GPIO to toggle LEDs, I'm sure you will be able to work that out.

  1. prvSetupHardware() within main.c

That is out of scope of FreeRTOS support - the chip manufacturer will normally provide start up and chip configuration routines.

  1. Configuring the tick interrupt: prvSetupTimerInterrupt() within port.c

See the answer to your first question.

FreeRTOS in iMX6 saboralilte board

Posted by yuvi1234 on February 2, 2016

Thanks for the reply. Yes,this is a Cortex-A9 and it use an ARM GIC (Generic Interrupt Controller). I have compiled the source successfully.

Can you please tell me how to modify FreeRTOSConfig.h according to imx6 saboralilte board ??

I have herewith attached the FreeRTOSConfig.h which i have edited from CORTEXA9Zynq_ZC702 demo available.


FreeRTOS in iMX6 saboralilte board

Posted by rtel on February 2, 2016

The file you have attached presumably contains the constants you need, and the web site says how to set them, but unfortunately I cannot tell you how to set them for your specific board as first I would need to download and study the data sheet - and that is outside the scope of FreeRTOS support.


By they way - your post went into moderation again and I only saw it as I happened to be logged in. Do you know why SourceForge might think your posts are not legitimate?

FreeRTOS in iMX6 saboralilte board

Posted by yuvi1234 on February 6, 2016

Even i am not sure why SourceForge might think my posts are not legitimate? I hope i did not violate any laws of Source forge .!!!!!

Anyways thanks for the reply.

I want to boot the freertos in imx6 Board where i am not getting any fundamental steps for it. I am just following the http://www.freertos.org website but it is not up to my understanding. I need a clear cut step by step procedure from scratch.

I am just a beginner . Kindly suggest me some materials , videos , or some links other than freertos.org .

Thank you .

[ 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