Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Good RTOS for beginners

Status
Not open for further replies.

vinoth14

Junior Member level 1
Joined
Feb 27, 2015
Messages
19
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
184
I'm a novice programmer for RTOS. Which RTOS should I choose to learn?
Is there any developement kit for learning RTOS ?
 

vinoth14

Junior Member level 1
Joined
Feb 27, 2015
Messages
19
Helped
0
Reputation
0
Reaction score
0
Trophy points
1
Activity points
184
I have two years of experience in designing and programming embedded systems. I am working on PIC32 and comfort with C language.
 

bigdogguru

Administrator
Joined
Mar 12, 2010
Messages
9,831
Helped
2,348
Reputation
4,690
Reaction score
2,274
Trophy points
1,413
Location
Southwest, USA
Activity points
62,504
There are numerous RTOSs available ranging from free open source to commercial products with royalty fees per unit manufactured.

RTOSs basically fall into two main camps, cooperative and preemptive scheduling/multitasking, with each contains several variations and features within these two main classes.

An RTOS is NOT a "one size fits all" situation by any means, the choice of a proper RTOS depends largely on the specific application requirements and its required tasks to be performed.

A embedded programmer should learn both the advantages and disadvantages for each of the basic methods of RTOS implementation and a number of possible features they can offer, this is especially true of a novice programmer.

First a few questions:

What experience do you have designing and programming embedded systems, microcontroller based system, etc?

What specific microcontrollers do you have experience working with in your designs, AVR, PIC, ARM, etc?

What programming languages are you comfortable using while coding, C, assembly, etc?

How much experience have you had with the use of interrupts and their associated Interrupt Service Routines (ISR)?

Before you jump on a particular RTOS's bandwagon, I would strongly suggest learning to write your own basic schedulers and utilize them in a few applications.

Doing so, will help you fully understand some of the underlying principles of RTOS operation and function.

The two best textbooks which thoroughly cover the topic of RTOSs are the following:

Patterns for Time-Triggered Embedded Systems

Although, PTTES has been out-of-print for sometime, the author, Michael Pont has graciously made it available for free in PDF format and is considered one of the definitive reference texts concerning RTOS design.

An Embedded Software Primer

David Simon does an excellent job, discussing and demonstrating the use of various RTOS features like, mutexes, semaphores, spinlocks, etc, as well as providing several examples using commercially available RTOSs, uC/OS for example.

BigDog

- - - Updated - - -

I have two years of experience in designing and programming embedded systems. I am working on PIC32 and comfort with C language.

Then assuming your are familiar with timers, timer interrupts and their associated ISRs, I would recommend downloading Pont's PTTES text and porting the basic schedulers discussed in the text to the PIC32. Once you've accomplished those tasks, study the purpose of mutexes, semaphores, spinlocks and other features found in most RTOSs, using Simon's text or another resource, and then try to implement them as additional features in the schedulers you've ported to the PIC32.

By then, you'll be ready to try out a full blown RTOS, like uC/OS-II/III or FreeRTOS, however learning the basics beforehand is very important, as these full blown packages can be quite complex and very difficult to debug. Besides, a particular application will often only require a basic scheduler with a few features, rather than those RTOS packages which require a large footprint and consume vital system resources.


BigDog
 
Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Top