Free RTOS

I see that Free RTOS supports SAM 3X series. I have never ported an RTOS, does anyone have an idea how difficult it might be to make Free RTOS run on the Duo?

FreeRTOS is already running on the Due. I will post references within days.

Regards,
Richard FreeRTOS on the ARM Cortex-M3 SAM3S-EK2 and SAM3X-EK

Fantastic! I can't wait! Thanks!

There is now a FreeRTOS project for the Arduino Due in the latest Atmel Software Framework (ASF) release, available through the Atmel Gallery

Regards,
Richard (FreeRTOS)

FreeRTOS:
There is now a FreeRTOS project for the Arduino Due in the latest Atmel Software Framework (ASF) release, available through the Atmel Gallery

Regards,
Richard (FreeRTOS)

I have the latest Atmel Software Framework (ASF) but I can't find any freeRTOS integration.
Does anybody know how to use freeRTOS in Atmel Studio?

From the Atmel Studio menu:

File->New->Example Project From ASF

In the dialogue box that opens:

  1. On the left, select the kit. Various SAM3 and SAM4 kits have FreeRTOS demo, the drivers that are demonstrated depends on the kits.
  2. For example, expand Arduino Due (which is at the top of the list of kits).
  3. In the list of projects you will see "FreeRTOS Peripheral Control Example" - selecting that will create the project (I have not tried it on the Arduino hardware and am not sure which interfaces it will demonstrate).
  4. Read the instructions at the top of the file that contains the definition of main() - the examples use FreeRTOS+CLI which is free for use on Atmel microcontrollers.

If you create a project for the SAM4S or SAM3X EKs then you will see most (all) of the drivers demonstrated.

Regards,
Richard (FreeRTOS)

Hi Richard,

Thanks for the detailed description.

I have tried "FreeRTOS Peripheral Control Example" on the Arduino Due and it works.

Atmel has provided an application note for FreeRTOS:

Atmel AVR10008: ASF Specific FreeRTOS Functionality for Peripheral Control
http://www.atmel.com/Images/doc42049.pdf

Another possibility to integrate FreeRTOS for Arduino Due/X:

Atmel Studio 6 (Version 6.0.1996 Service Pack 2)
Atmel Studio Framework 3.5.1

  1. File -> New -> Project -> C/C++ -> ArduinoBoards -> Arduino Due/X ATSAM3X8E
  2. Add ASF Modul "FreeRTOS mini Real-Time Kernel (7.3.0)" in the Atmel Software Framework Wizzard (ASF 3.5.1.188)
  3. Workaround for bug in ASF Modul "FreeRTOS mini Real-Time Kernel" (error "portmacro.h" No such file or directory)
    Project -> Settings -> Toolcain -> ARM/GNU C Compiler -> Directories -> Include Paths ->
    Add Item "../src/asf/thirdparty/freertos/freertos-7.3.0/source/portable/gcc/arm_cm3"

Regards,
Ewald