Saturday, January 15, 2022

Real Time Operating Systems

Real Time Operating System or RTOS is an operating system that is used to perform time-bound tasks. Unlike a GPOS (General Purpose Operating System), if a hard-real time OS is delayed, it can have catastrophic effects.
In order to get into RTOS, one must be aware of the OS fundamentals:- kernel, task scheduling, threads, multi-threading and multi-processing, priority, mutexes, semaphores, data passing, etc.
Bare-metal programming can be done in cases where number of tasks are limited and project is simple.
RTOS is designed in a way that it assigns a priority to each task so that it is executed in a deterministic manner.
RTOSs are categorized as hard-real time operating systems and soft-real time operating systems. When the penalty of a deadline miss is high, that system is a hard-real time operating system. For example, an airbag in a car. Any latency can be fatal in this case.
I will add pages explaining each concept in a simpler manner.

Saturday, November 27, 2021

Update : A new tab added.

More information on Microprocessors in the Microprocessors tab. To view the navigation bar, view the blog in Desktop Mode.

Tuesday, November 2, 2021

Update

When I learn about micro processors and program on them. That content will also be updated.

Sunday, October 3, 2021

Getting started with Embedded Programming.

1) Just Start. Don't wait for the right time to start learning or implementing. There is never a "right" time.
2) Take formal classes or self-study if you are very confident.
3) Learn basic programming. At least C. To begin with.
4) Practice programming daily till you get a hang of it.

HARDWARE

1) You need to be aware of the very basic circuit elements. Eg. Voltage, current. Passive elements like capacitor, resistor, inductor. Diodes : Forward & Reverse bias. Transistors (Its purpose), relays, switches, etc.

2) Get your concepts clear because when you work on software and you make mistakes, you can debug and nothing much gets affected. But this type of trial and error cannot be done on hardware components or it will cost you big time.

3) Once the basic understanding is there, you can start with 8051 microcontroller.

(I started with P89V51RD2 from NXP.)

4) Begin with interfacing:

  • LED
  • Switch
  • Keypad
  • LCD
  • Motors
  • A combination of the above.

5) Then start learning about Communication Protocols.

Eg. Types of Communication : Serial , Parallel
Advantages of using one of these types over the other.
Understand about various architectures like I2C, CAN, SPI, RS-232, etc.



I will try and implement whatever I am learning, and I am open to more suggestions.
Whatever I implement, I shall post here in my blog.