Real-time operating system fundamentals

I am trying to learn RTOS from scratch and I am using freeRTOS.org as a reference for this. I recognize this site as the best resource for learning RTOS. However, I have some doubts and I tried to find out but couldn't get exact answers.

1) How do you know that a device has real-time capability, eg. Does some controller have (TI Hercules) and others don't (MSP430)?

2) Does it depend on the CORE architecture (ARM Cortex-R CPU in TI Hercules TMS570)?

I know these questions are causing trouble, but I don't know how to get these questions answered.

Thank you in advance

EDIT:

Another query I have, what does "OS" mean in RTOS? Does this mean the same OS as the others, or does it just contain the source code file for the API?

+3


source to share


4 answers


Ascertaining whether a device is a "real-time" feature is somewhat arbitrary and depends on your project timing requirements. If you have very high time requirements, you will want to use a faster microcontroller / processor.

Using an RTOS (such as FreeRTOS , eCOS , or uCOS-X ) can help ensure that a job runs at a predictable time. The FreeRTOS website gives a good discussion of what operating systems are and what it means for an operating system to demand real-time capabilities. http://www.freertos.org/about-RTOS.html



You can also see in the uC / OS-X and FreeRTOS ports pages that they can run on various microcontrollers / microprocessors.

+3


source


Real-time opportunity is a matter of degree. A 32-bit DSP running at 1 GHz has more real-time capabilities than an 8-bit microcontroller running at 16 MHz. A more powerful microcontroller can be paired with faster memory and ports and can handle applications that require large amounts of data and computation (such as real-time video processing). A less powerful microcontroller will be limited to less demanding applications that require relatively little data and computation (possibly real-time motor control).

The MSP430 has real-time capabilities and is used in a variety of real-time applications. There are many RTOSs that have been ported to the MSP430 including FreeRTOS.



When choosing a microcontroller for a real-time application, you need to consider the data throughput and computational requirements of the application. How much data needs to be processed in what time? Also consider the range and precision of the data (integer or floating point). Then find out which microcontroller can support those requirements.

+3


source


Whereas Cortex-R is optimized for hard real-time; this does not mean that other processors are not suitable for real-time applications, or even better suited for a particular application. What to consider is whether a particular RTOS and processor combination will meet the real-time application limits; even then, the most important factor is your software design, not the platform.

+3


source


Some theoretical knowledge would be quite useful, for example. figuring out whether a given set of jobs is scheduled with a given scheduling (sometimes it may not be), the difference between static priority and dynamic priority allocation, priority inversion problem, etc.

0


source







All Articles