Pages: [1]   Go Down
Author Topic: New FreeRTOS examples for AVR and ARM  (Read 2673 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Edison Member
*
Karma: 67
Posts: 1675
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The latest versions of FreeRTOS are now located here: http://code.google.com/p/rtoslibs/

A version of FreeRTOS with many new examples is here FreeRTOSBeta20130107.zip  http://code.google.com/p/beta-lib/downloads/list.

There are sixteen new examples from the book "Using The FreeRTOS Real Time Kernel - a Practical Guide".  
http://shop.freertos.org/RTOS_primer_books_and_manual_s/1819.htm


The following examples are fully described in the above book.  I have modified the examples to run as Arduino sketches.
Quote
Example  1. Creating Tasks
Example  2. Using the Task Parameter
Example  3. Experimenting with priorities
Example  4. Using the Blocked state to create a delay
Example  5. Converting the example tasks to use vTaskDelayUntil()
Example  6. Combining blocking and non-blocking tasks
Example  7. Defining an Idle Task Hook Function
Example  8. Changing task priorities
Example  9. Deleting tasks
Example 10. Blocking When Receiving From a Queue
Example 11. Blocking When Sending to a Queue / Sending Structures on a Queue
Example 12. Using a Binary Semaphore to Synchronize a Task with an Interrupt
Example 13. Using a Counting Semaphore to Synchronize a Task with an Interrupt
Example 14. Sending and Receiving on a Queue from Within an Interrupt
Example 15. Rewriting vPrintString() to Use a Semaphore
Example 16. Re-writing vPrintString() to Use a Gatekeeper Task

I have modified existing examples to illustrate more FreeRTOS features and add a new example to illustrate Rate Monotonic Scheduling.

The importance of preemptive scheduling for hard real-time systems was demonstrated in the the seminal Liu and Layland paper [1973].  This paper introduced the concept of Rate Monotonic Scheduling and proved key theorems basic to RTOS scheduling algorithms.
« Last Edit: January 29, 2013, 12:02:17 pm by fat16lib » Logged

Smithfield, Rhode Island
Offline Offline
God Member
*****
Karma: 3
Posts: 843
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

This is fantastic, thank you!

Which edition is the best to purchase?  M3?  Standard?
Logged

0
Offline Offline
Edison Member
*
Karma: 67
Posts: 1675
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

I think M3 would be good.  It has a little Cortex M3 info but the examples are basically the same in all editions.

The examples have slight differences in each edition, things like stack size and some aspects of initializing the CPU.

I have modified these areas to provide an AVR and ARM version for Arduino.  The ARM versions run on both Due and Teensy 3.0.
Logged

Pages: [1]   Go Up
Jump to: