You are on page 1of 28

Hawassa University, Institute of Technology School of Electrical and

Computer Engineering

Embedded Systems (ECEg-


5702)
Lecture 4: Embedded systems development life cycles and
tools

By Demisew T. 6/30/21 1
Outline of the Lecture

Introduction

Embedded systems development life


cycles

Embedded systems development tools


Hawassa University, Institute of Technology School
of Electrical and Computer Engineering 6/30/21 2
Introduction

Unlike the design of a software application on a


standard platform, the design of an embedded
system implies that both software and hardware
are being designed in parallel.
Although this isn't always the case, it is a reality
for many designs today.
The profound implications of this simultaneous
design process heavily influence how systems are
designed.

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 3
Embedded systems development life cycle

Embedded systems design life cycle follows the


following seven phases in general:
Product specification
Partitioning of the design into its software and hardware
components
Iteration and refinement of the partitioning
Independent hardware and software design tasks
Integration of the hardware and software components
Product testing and release
On-going maintenance and upgrading

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 4
Embedded systems development life cycles

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 5
Embedded systems development life cycles

Product specification:
For many R&D engineers, designing the right product
means cramming everything possible into the product to
make sure they don't miss anything. Obviously, this wastes
time and resources.
Which is why marketing and sales departments lead (or
completely execute) the product-specification process for most
companies.
Although some methods of customer research, such as
questionnaires and focus groups, clearly belong in the realm
of marketing specialists, most projects benefit from including
engineers in some market-research activities.

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 6
Embedded systems development life cycles

Product specification:
A common factor for the successful products is that the
design team share a common vision of the product they are
designing.
When asked about the product, everyone involved - senior
management, marketing, sales, quality assurance, and
engineering - would provide the same general description.

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 7
Embedded systems development life cycles

Hardware/Software Partitioning:
Since an embedded design will involve both hardware and software
components, someone must decide which portion of the problem will be
solved in hardware and which in software.
This choice is called the “partitioning decision.”
The partitioning decision is a complex optimization problem. Many
embedded system designs are required to be
• Price sensitive
• Leading-edge performers
• Non-standard
• Market competitive
• Proprietary
These conflicting requirements make it difficult to create an optimal
design for the embedded product.
Given this n-space of possible choices, the designer or design team must
rely on experience to arrive at an optimal design.
Hawassa University, Institute of Technology School
of Electrical and Computer Engineering 6/30/21 8
Embedded systems development life cycles

Iteration and Implementation (Before Hardware


and Software Teams Stop Communicating):
This represents a somewhat blurred area between
implementation and hardware/software partitioning in which
the hardware and software paths diverge.
This phase represents the early design work before the
hardware and software teams build "the wall" between them.
Even though major blocks might be partitioned between the
hardware components and the software components, plenty of
time remains to move these boundaries as more of the design
constraints are understood and modeled.

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 9
Embedded systems development life cycles

Detailed Hardware and Software Design:

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 10
Embedded systems development life cycles

Hardware/Software Integration:
The process of integrating embedded software and hardware is
an exercise in debugging and discovery.
Discovery is an especially apt term because the software team
now finds out whether it really understood the hardware
specification document provided by the hardware team.
The difficult thing in embedded system design is to combine
the first hardware prototype, the application software, the
driver code, and the operating system software together with a
pinch of optimism and to have the design work perfectly.
this scenario is so unlikely for one thing, the real-time nature
of embedded systems leads to highly complex, nondeterministic
behavior that can only be analyzed as it occurs.
Hawassa University, Institute of Technology School
of Electrical and Computer Engineering 6/30/21 11
Embedded systems development life cycles

Product Testing and Release:


Because embedded systems usually have extremely tight
design margins to meet cost goals, testing must determine
whether the system is performing close to its optimal
capabilities.
This is especially true if the design team consists of many
developers.
The job of testing the embedded product goes to a separate
team of engineers and technicians because asking a designer
to test his own code or product usually results in erratic test
results.

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 12
Embedded systems development life cycles

Maintaining and Upgrading Existing Products:


The majority of embedded system designers (around 60
percent) maintain and upgrade existing products, rather than
design new products.
Most of these engineers were not members of the original
design team for a particular product, so they must rely on
only their experience, their skills, the existing documentation,
and the old product to understand the original design well
enough to maintain and improve it.

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 13
Embedded systems development tools

Even the development of a microcontroller-based


embedded system is a complex process.
Development tools are hardware and software
tools designed to help programmers develop and
test systems in a relatively short time.
The tools for developing software and hardware
for microcontroller-based embedded systems
include editors, assemblers, compilers, debuggers,
simulators, emulators, and device programmers.

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 14
Embedded systems development tools

A typical development cycle starts with writing the application


program using a text editor. The program is then translated into an
executable code with the help of an assembler or compiler.
If the program has several modules, a linker is used to combine
them into a single application. Any syntax errors are detected by the
assembler or compiler and must be corrected before the executable
code can be generated.
Next, a simulator is used to test the application program without the
target hardware. Simulators are helpful in checking the correctness
of an algorithm or a program with limited or no input-outputs, and
most errors can be removed during simulation.
Once the program seems to be working and the programmer is
happy with it, the executable code is loaded to the target
microcontroller chip using a device programmer, and the system
logic is tested.
Hawassa University, Institute of Technology School
of Electrical and Computer Engineering 6/30/21 15
Embedded systems development tools

Software development tools:


Software development tools are computer programs, usually
run on personal computers, that allow the programmer (or
system developer) to create, modify, and test applications
programs.
Some common software development tools are:
• Text editors
• Assemblers/compilers
• Simulators
• High-level language simulators
• Integrated development environments (IDEs)

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 16
Embedded systems development tools

Software development tools:


Many different C language compilers are available for
developing PIC18 microcontroller-based programs.
Some of the popular ones are:
• CCS C (http://www.ccsinfo.com)
• Hi-Tech C (http://htsoft.com)
• C18 C (http://www.microchip.com)
• mikroC C (http://www.mikroe.com)
• Wiz-C C (http://www.fored.co.uk)
Although most C compilers are essentially the same, each one
has its own additions or modifications to the standard
language.

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 17
Embedded systems development tools

Software development tools:


Integrated development environments (IDEs) are powerful PC-
based programs which include everything to edit, assemble,
compile, link, simulate, and source-level debug a program, and
then download the generated executable code to the physical
microcontroller chip using a programmer device.
These programs are in graphical user interface (GUI), where the
user can select various options from the program without having
to exit it.
IDEs can be extremely useful when developing microcontroller-
based systems.
Most PIC18 high-level language compilers are IDEs, thus
enabling the programmer to do most tasks within a single software
development tool.
Hawassa University, Institute of Technology School
of Electrical and Computer Engineering 6/30/21 18
Embedded systems development tools

Hardware development tools:


Numerous hardware development tools are available for the
PIC18 microcontrollers.
Some of these products are manufactured by Microchip Inc.,
and some by third-party companies. The most ones are:
• Development boards
• Device programmers
• In-circuit debuggers
• In-circuit emulators
• Breadboards

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 19
Embedded systems development tools

Hardware development tools:


Numerous hardware development tools are available for the
PIC18 microcontrollers.
Some of these products are manufactured by Microchip Inc.,
and some by third-party companies. The most ones are:
• Development boards
• Device programmers
• In-circuit debuggers
• In-circuit emulators
• Breadboards

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 20
Embedded systems development tools

Hardware development tools:


Development boards
40-pin ZIF socket for PIC
microcontroller Socket for DAC(device not
5-volt regulator included)
20MHz oscillator Socket for I2C serial EEPROM
(device not included)
Reset button
Socket for Dallas DS1307 real-
16-switch keypad time clock (device not included)
Two potentiometers Pads for Dallas DS18S20
Four LEDs temperature sensors (device
2-line by 20-character LCD module
not included)
Speaker In-circuit programming
RC servo connector connector
RS232 interface Prototyping area for additional
circuits
USB connector

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 21
Embedded systems development tools

Hardware development tools:


Development boards
2 x16 LCD display
Piezo sounder driven by PWM signal
Active RS 232 port
On-board temperature sensor
Four LEDs
Two push-button switches and master reset
Sample PIC18F4520 and PIC16F877A flash
microcontrollers
MPLAB REAL ICE/MPLAB ICD 2 connector
Source code for all programs
Demonstration program displaying a real-time clock
and ambient temperature
Generous prototyping area
Works off of a 9V battery or DC power pack

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 22
Embedded systems development tools

Hardware development tools:


Development boards
• The BIGPIC4 is a sophisticated development
kit that supports the latest 80-pin PIC18
microcontrollers.
• It includes an on-board USB port, an on-
board programmer, and an in-circuit
debugger. Two serial RS232
Forty-six buttons ports
Forty-six LEDs In-circuit debugger
USB connector Programmer
External or USB power PS2 connector
supply Digital thermometer
Two potentiometers chip (DS1820)
Graphics LCD Analog inputs
2 16 text LCD Reset button
MMC/SD memory card slot
Hawassa University, Institute of Technology School
of Electrical and Computer Engineering 6/30/21 23
Embedded systems development tools

Hardware development tools:


Device programmers
Mach X Programmer
• The Mach X programmer,
manufactured by Custom Computer
Services Inc., can program
microcontrollers of the PIC12, PIC14,
PIC16, and PIC18 series ranging from
8 to 40 pins.
• It can also read the program inside a
microcontroller and then generate a
HEX file.
• In-circuit debugging is also supported
by this programmer.

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 24
Embedded systems development tools

Hardware development tools:


Device programmers
EasyProg PIC Programmer
• The EasyProg PIC is a
low-cost programmer
used with
microcontrollers of the
PIC16 and PIC18 series
having up to 40 pins.
• It connects to a PC via a
9-pin serial cable.

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 25
Embedded systems development tools

Hardware development tools:


In-Circuit Debuggers

• The ICD2, a low-cost in-circuit


debugger manufactured by
Microchip Inc., can debug most
PIC microcontroller-based
systems.
• With the ICD2, programs are
downloaded to the target
microcontroller chip and executed
in real time.
• This debugger supports both
assembly language and C
language programs.
Hawassa University, Institute of Technology School
of Electrical and Computer Engineering 6/30/21 26
Embedded systems development tools

Hardware development tools:


In-Circuit Debuggers

• The PICFlash 2 in-circuit debugger


is manufactured by
mikroElektronika and can be used
to debug programs developed in
mikroBasic, mikroC, or
mikroPascal languages.
• The device is connected to a PC
through its USB interface.
• Power is drawn from the USB port
so the debugger requires no
external power supply.

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 27
Embedded systems development tools

Hardware development tools:


BreadBoards

Hawassa University, Institute of Technology School


of Electrical and Computer Engineering 6/30/21 28

You might also like