Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

What is an Embedded System

By definition, embedded systems are application specific electronics systems embedded in larger electro-
mechanical systems. Examples of such embedded systems which we encounter in day to day life are
washing machine controller, microwave controller, elevator controller, digital clock, air-conditioning
remote, TV remote, printers, mobile phones, engine control system etc. All of these devices are either
doing very specific job or a set of specific jobs. Life is unimaginable without these devices as we are
heavily dependent on these. Having so many embedded devices around us, no wonder why embedded
systems design offers plenty of jobs and opportunities.


Which Companies Work in Embedded Systems



What are the Components of Embedded Systems

Embedded system design has the following components.

Architecture

A typical embedded system is designed around embedded processors. These processors could be 8 bit
microcontrollers or 16 and 32 bit embedded processors. Prominent 8 bit microcontroller manufactures are
Microchip, Atmel, SiliconLabs etc.and prominent 16 and 32 bit embedded processors companies are
ARM, MIPS, Freescale, Infineon, Fujitsu etc. As part of system architecture, many decisions have to be
taken. Examples of these decisions are what and how many processors to be used, how to interact with
the user interface, how to perform communication among various components and so on. Since these
systems could be complex such as the one for a mobile phone, designers have to rely on extensive
simulation and analysis to ensure correctness of the system before it comes down to board level design.
Typical job functions at this level are creating the simulation platform, creating meaningful testcases,
Segments Example Companies
All consumer electronics companies Samsung, LG, Philips, GE, Apple, Sony, Fujitsu, Panasonic,
Nokia
Automotive and Aircraft manufacturers Toyota, GM, Ford, BMW, Boeing, Airbus
Semiconductor companies offering
hardware and software
Texas Instruments, ARM, Microchip, Intel, Freescale, ST
Microelectronics, NXP, Infineon, CISCO
Companies providing embedded software Google (android), Samsung
Electronic design automation companies
providing software tools
Synopsys, Cadence, Mentor Graphics
Defense companies ISRO, DRDO, HAL, BEL
Indian companies Wipro, HCL, TCS, Tejas Networks
Other embedded application development
companies
Sourcebits
automating tests and regressions, analysis, performance and power benchmarking, visualizing
benchmark results etc.

Board level design and testing

Once the architecture is decided, it must be implemented in a board. This involves designing printed
circuit boards, mounting physical components such as processors, memories and peripherals on the
board followed by the testing of the board for correctness.

Software development

Depending on whether the system is doing single task or multiple tasks, an operating system (OS) may or
may not be required. For example, in a washing machine controller, no OS is required as it is doing just
one task driven by some 8 bit microcontroller. On the other hand, in a mobile phone, multiple services
around voice, data and other applications are provided. Hence an embedded operating system such as
Android, Symbian etc. are required. Typically writing or customizing OS is done by a small set of
experienced developers.

Since the system will be interacting through a set of peripherals such as USB port, HDMI port,
touchscreens, very specific programs need to written to send instructions to these devices and read data
from it. These programs are called device drivers. As there are a number of variations of peripherals,
more developers will be needed to write, enhance and test the drivers. Further, device drivers may have
to be integrated in the OS, strong knowledge of the OS is a must.

The bulk of the software are developed in the form of applications or apps in short. These applications
can be utilities like calculator, alarm clock, notes or games or client for mails, social networking sites etc.
Possibilities in the area of applications are endless and that is where the most of the job opportunities
exist.

Various entry level and advanced positions are outlined as follows. These are the most common ones.
There are obviously many more opportunities.

What are the Entry Level Positions

Typical entry level positions involve the following job functions.
Device testing
Board bring-up
Simple device drivers and testing
Embedded application testing
What are the skills needed for entry level jobs

At the least the following skills are needed for entry level jobs in embedded systems.

Bachelors in engineering/technology in computer science, electronics or similar areas
Sound knowledge of basics of digital systems and computer architecture
C Programming Language
Experience on working on Linux or other embedded OS
Problem solving
What are the advanced positions

Typical advanced level position may involve one or more of the following.

Design and verification of embedded processor architecture
Design and verification of system on chip
Application parallelization
Implementation and integration of software stack
What are the skills needed for advanced jobs

Apart from basic skills, the following may also be needed for advanced level positions.

Advanced C
Low level programming in C and analysis
C++
Linux device drivers
Open source models and flows
Board level debug and analysis
Interface/protocol understanding e.g. PCI, USB etc.
Strong domain knowledge
How can VirtuQ
TM
help

VirtuQ
TM
helps acquiring the above skills through various programming courses. The course on 8051
micro-controller helps in understanding the architecture and low level programming. Exposure to the
assembly level programming helps a lot in writing firmware, performance analysis and programming
under constraints. Apart from this, there are courses on "Unix", 'C' and 'C++'. The focus of these courses
is not only to teach languages, but also software engineering and writing predictable code.

You might also like