General definition of Embedded System is a system designed for some specific purpose or to achieve some specific task. But in particular when we say embedded system what we mean is a computerized or electronic system designed for particular purpose.

Examples:

a. Our wrist watch is an embedded system. Its job is to provide the time.

b. Washing machine is an embedded system, set top box is embedded system, mobile phones are embedded system so is the missile. The list is unlimited.

2. What are various types of Embedded Systems?

There are 3 categories in embedded system –

a. Small scale embedded system: This kind of systems contain typically small electronic circuitry, some electro mechanical units, input, output and a battery or power source. There is not much intelligence in this and no software is required. However design of the circuit is crucial. Physical size is small.

Examples – Wrist watch, water level controllers etc.

b. Medium scale embedded system: This kind of systems is more complex than small ones. It has a microcontroller or microcomputer, small memory typically ROM or flash, input, output units, analog to digital and digital to analog converters if inputs are analog , sensors, electro mechanical units etc.

These systems are hardware and software based. Programming is very important aspect along with hardware.Physical size varies; can be from match box size to some meters.

c. Large scale embedded system: These systems are very complex. They may contain more than one computers or controllers, large electro mechanical units, many input – output interfaces, many types of sensor units. This system is combination of multiple medium scale systems. Software is complex and programming has to meet stringent requirements. Physical size is large.

Examples: Missile launchers, Space crafts, Submarines etc.

3. What are the skills required for design and development of Embedded System?

A requirement of skills depends on what kind of embedded system is involved. To generalize embedded system engineer should have knowledge of microprocessors and micro-controllers electronic circuits and operating system programming. Programming language ‘C’ is very popular in embedded domain. Modern embedded systems are often OS based, this makes the need of operating system internals as a mandatory skill.

4. It is often said that embedded system developer must have knowledge of the Hardware. Is it true?

This is very vague. Here knowledge of the hardware means knowledge of the components involved in embedded system and some knowledge of the domain where this system is being used. Let’s say we are developing temperature control system. Then you need knowledge of thermocouple which is used as sensor to get temperature. You would also need an ADC to get digital input to your circuit. So you need to know interfacing of the ADC to your microcontroller. In this case software program is required to take input from ADC, then to take decisions based on temperature and then send output to DAC to drive output circuitry. If multiple tasks are involved and need attention at a time then it may involve microkernel or embedded OS.

5. What is RTOS?

RTOS stands for real time operating system. This type of OS guarantees timeliness in performing task. General purpose operating system does not guarantee in how much time it can transfer block of data, however real time OS guarantees that. I will cover details of RTOS in next article.

6. What is hard real time and Soft real time?

For some application or devices time requirements are very critical. E.g. Missile launcher. It must do the firing at exact time otherwise results will be disastrous. In such case we need hard real timeliness. In other applications we might need the timeliness but we can afford to have some tolerance these are soft real time tasks.

7. Is Embedded OS and RTOS means same thing?

Most often yes. However Embedded OS can be general purpose multitasking OS customised as per the need. Embedded Linux is necessarily Linux customised and may involve some real timeliness.

8. What kind Operating system programming is needed in embedded?

Embedded system generally involves custom devices like HMIs or peripherals. So writing device drivers for them is needed. Secondly embedded application may require operating system services or system calls for talking to peripherals.

9. What is embedded System development environment?

Embedded System development environment involves one development host (PC), cross compilers, debuggers, optionally IDEs like keil or eclipse, host to target connectivity etc.

10. What are popular embedded platforms?

There is no such thing as a popular. However ARM with Linux has gained lot of momentum.

My Heartfelt Greetings to all Technical enthusiasts, IT Newcomers and All Learners!

I have been thinking of writing blogs for quite some time. Yet I was hesitant because these days everybody blogs. Internet is flooded with blogs and what is that I am going to give different.

I have been working with IT field for last almost 15 yrs.What I particularly observed is people who practically write codes or fix bugs or solve tickets are limiting themselves with only the area they work.

Reason they may not expand their horizons because they don’t get time.

And people who have better bigger picture do not work practically and so do not understand grass root problems at technology level. Some are good at coding but do not understand hardware. Some are best managers but uncomfortable on technical pitch…

I happen to get a chance to work both worlds. So I decided I will share this with everybody.

This is how I am blogging now. And I call it KT not just a blog.

I intend to share technical knowledge that I gained codes, business cases…. and a lot more.

I invite every technical enthusiast to read and provide feedback and contribute.