Development Process of Embedded Systems:
Development Process of Embedded Systems
Generally, in any kind of work, several tasks need to be done in the progression of
meeting the purposes and goals intended at accomplishing through that effort. In addressing
“what type of task need to be achieved”, numerous inputs and outputs and the complete
contents of these tasks are defined and planned in a logical manner, which is jointly stated to
as the “process”. In order to complete the expansion of software as a product, several types of
tasks need to be achieved with layers like in any other productions. The activities estimated
necessary in the making of a software development process will jointly become the so-
called embedded systems development process when they are planned in a logical manner.
The development process of embedded systems mainly includes hardware design
process and software design process. Unlike the design process of software on a typical
platform, the embedded system design implies that both hardware and software are being
designed similarly although this isn’t continuously the case; it is a truth for many designs
currently. The deeper implications of this concurrent design process profoundly impact how
embedded systems are designed.
What is an Embedded System?
Embedded system can be defined as one comprising a processor, associated
peripherals, and software used for a particular purpose. It performs a well-defined task and
the categories of the embedded system include the following.
Embedded System
Stand-alone embedded system
Real-time embedded system
Networked appliances
Mobile devices
Elements of Embedded System
Processor
Microprocessor
Microcontroller
DSP
Associated Peripherals
Protocol Converters
Communication Interfaces
Drivers
Software
The program of the embedded system is written in any language to control the
operation of the entire system.
Embedded System Design Process:
The different steps in an embedded system design process include the following.
Embedded System Development Cycle
Determine the requirements
Design the system architecture
Select the OS
Choose the processor and peripherals
Choose the development platform
Code the applications and optimize
Verify the software on the host system
Verify the software on the target system
Determine the Requirements
Functional and nonfunctional
Multimode or multifunctional system
Size, cost, weight, etc.
Choosing the hardware components
Application specific hardware
External interfaces
Input and output devices
Design the System Architecture
The architecture of an embedded system depends on,
Whether the system is real time
Whether operating system needs to be embedded
Cost, size, power consumption, etc.
Select the OS
If operating system we can select,
Real-time operating systems like RTLinux, VX works, pSOS, QNX, VRTX, etc.
Non-real operating systems like Windows CE, embedded Windows XP, etc.
Choose the Processor
The following processors can be used in the development of an embedded system
Microprocessors-8085, 8086, Pentium
Microcontrollers-PIC, MCS-51, MSP-430, AVR
Digital signal processor- DSP-IC, Sharp, Blackfin,Tigersharc
Choose the Development Platform
The development platforms of an embedded system include the following
The hardware platform
The programming language
The operating system
The development tools
Code the Applications and Optimize
The coding of an embedded system can be done by using the following programming
languages.
Assembly language
C language
Object oriented languages like C++, Java, etc.
Optimizing the code
Verify the Software on the Host System
Compile and assemble the source code into object file
Use a simulator to simulate the working of the system
Verify the Software on the Target System
Download the program using a programmer device
Use an Emulator or on chip debugging tools to verify the software
Install the Program in the Chip
To install the developed code into a microcontroller needs the following two items
Programmer Hardware
The hardware of an embedded system can communicate to both the microcontroller
and the PC. This allows it to get what the personal computer is saying and write those to the
microcontroller chip. Here, the USB interface is used to communicate to the PC and the ISP
interface is used to communicate with the MCU.
Programmer Software
Programmer software of an embedded system runs on your PC where you ran the IDE
tool. The main function of this tool is to read data from the hex file produced by a ‘C’
compiler and transfer them to the hardware allied on the USB port.
A Development Board
The final and most essential piece is a development board. This board makes it easy to
work with microcontroller while throughout the learning phase. A simple hardware
development board has some important features.
Power Supply Circuit
Power supply circuit helps simple connection with a DC motor. It helps in connecting
with a DC adapter. It alters 12V from an adapter to a 5v for an operation of a microcontroller.
It also makes these 5volts accessible in male headers so that the operator can get 5v for their
operation. For instance, to power the module you need to interface with a microcontroller. To
make the practice comfortable, this unit also includes a power switch to switch ON/OFF the
whole board and an LED to specify the status of the power of the board.
Crystal Oscillator
The crystal oscillator is the heart of the microcontroller unit. For exact timing of your
application, you require a crystal oscillator. It offers a temperature and voltage independent
CLK source.
ISP Header
ISP header is used to modernize the program of the MCU without changing it from
the board. Here the programmer is linked using a cable.
I/O Ports
I/O ports are used to connect the microcontroller board to the exterior world, all the
peripherals are allied using these ports. They are existing in male headers so that user can
make a construction to them very simply.
Applications of Embedded Systems
The application areas of embedded systems include Consumer electronics, Office
automation, Industrial automation, Biomedical Systems, Field Instrumentation,
Telecommunications, Wireless technology, Computer networking, Security, and Finance.
Applications of Embedded Systems
Thus, this is all about the various steps in developing the embedded systems. We hope
that you have got a better understanding of this concept. Furthermore, any doubts regarding
this concept, or to implement any electrical and electronic projects, please give your valuable
suggestions by commenting in the comment section below. Here is a question for you, what
are the programming languages used in embedded systems?