Select operating system for embedded system

Select operating system for embedded system

Here I will cover basically 3 operating systems and that is all you want to know…

1)Linux

2)WinCE

3)VxWorks

1)Linux:

This is the most widely used operating system in the world of embedded designs.There are lots of advantages associated in using linux in your embedded designs.

Pros:

First: It is free

This is the primary reason for the wide popularity of linux in the field of embedded design.You  just need to download source from the git repository and can start building linux kernel from scratch.

Second :Open source

In the field of embedded design we always use custom hardware,that may cluster system or a hand held system ,so many a times custom hardware needs some modifications in the kernel itself or the drivers.It can be easily done here. Device driver devepoment is relatively easy.

Third:Build tools

Yocto is most widely used build tool for linux and you can get a lot of documentation for configuring it online.In addition there are lots of recepies(packages) available for it freely.It supports multiple architectures like x86 ,OMAP, ARM.

Fourth: HELP

You cannot do anything just by yourself,you need a lot of help.This is freely available in case of linux.There are lots of communities out there like Freescale community and lots of blogs who will help you in setup and problem redressal .

Cons:

First: Standardization

If your customer wants everything according to some standard then its hard to fit linux in that demand, being open source no one can be held responsible.Still some companies like Redhat and  Windriver provies standardization to some degree.

Second: Reliability

Linux is not considered as reliable as other operating systems like RTOS(Real time operating systems)

 

2)WinCE

This is the second choice of embedded developers. WinCE come in versions like 5.0 ,6.0 ,7.0 & 2013.Only 7,2013 are still relevant.It is only available to OEM`s ie original equipment manufacturers. So if one fine day you decide to make hardware of your own , you simply can`t port it.

Pros:

First: Reliable

It is considered very reliable. If a program runs once, its very unlikely that it will fail in future.

Second: Standardization & Support

If you buying hardware from OEM then its very easy to standardize, in addition Microsoft provides support for it on its msdn site.

Third: Tools

Tools (Microsoft visual studio, Platform Builder) come very handy for building images and compiling and cross compiling programs. They need far less technical know how as compared to for example yocto in linux.

Cons:

First: Licensing Policy

Though cheap Microsoft`s WinCE is licensed ,so it you need to ship 60 boards ,you need to purchase 60 licences  and it will definitely add to your BOM

Second: Closed source & no community help

So you can  use the API`s but can`t modify or even view the source, this can prove hurdle sometimes but as documentation is good this is rare scene.Unlike Linux windows lacks a strong community to help you out.

Third: Programming languages

Win32 API language is official language of WinCE & you need a good time to learn it, though its C++  but you need to even know new datatypes like TCHAR for simple char etc. Frameworks like direct show(windows substitute to OpenCV) are really time taking to start with and lacks proper tutorials. Device driver programing is relatively difficult(may be not for you,if you have first hand experience).

 

3)VxWorks:

Developed by company windriver, this OS falls in category of  hard real time operating system. It  is used in systems which have hard time constraints and need very mission critical. It has different consumer base of its own.

Pros:

First: Vendor Neutral

So there is no concept of OEM, if your architecture supports it then you can port it.

Second: Truly RTOS

It is exclusively used for mission critical in the fields like aerospace and defense as is truly multiprocessing and with preemptive scheduling.

Third: Tools

Workbench (IDE) is one stop solution for your development with support.

 

Cons:

There are as such no cons apart from the fact that it comes with a price tag of nearly 8 lack rupees for a year for one system

There are other RTOS out there like QNX and Free RTOS but I do not have first hand working experience with them so cannot comment, if you have you can share here in comments.If you have addition info about other OS ,you can share them below.


Like what you read?
Do you think you have knowledge to fetch Overseas Jobs and Projects?
Register here and start posting...
The following two tabs change content below.

Embedded Design Engineer by profession .Extremly intrested in Emedded Systems,Linux and Electronics.I truely believe in open source , join me in this mission by registering .

How to Integrate Google “No CAPTCHA reCAPTCHA” on Your Website


3 Comment

  1. r.jeff345 says:

    QNX is far better option.

  2. Not worked with QNX yet so can`t comment

Leave a Reply