0% found this document useful (0 votes)
55 views27 pages

Embedded Systems (Eceg-5702) : Lecture 3: Embedded Systems Development Life Cycles and Tools

The document discusses embedded systems development life cycles and tools. It describes the typical 7 phases of an embedded systems development life cycle: product specification, hardware/software partitioning, iteration and refinement, independent hardware and software design, integration, testing and release, and ongoing maintenance. It also outlines some common embedded systems development tools used at each stage, including editors, assemblers, compilers, debuggers, simulators, emulators and programmers.

Uploaded by

Elihu Getachew
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
55 views27 pages

Embedded Systems (Eceg-5702) : Lecture 3: Embedded Systems Development Life Cycles and Tools

The document discusses embedded systems development life cycles and tools. It describes the typical 7 phases of an embedded systems development life cycle: product specification, hardware/software partitioning, iteration and refinement, independent hardware and software design, integration, testing and release, and ongoing maintenance. It also outlines some common embedded systems development tools used at each stage, including editors, assemblers, compilers, debuggers, simulators, emulators and programmers.

Uploaded by

Elihu Getachew
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 27

Hawassa University, Institute of Technology School of

Electrical and Computer Engineering

Embedded Systems (ECEg-5702)


Lecture 3: Embedded Systems Development Life
Cycles and Tools

5/16/2020 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 5/16/2020 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 5/16/2020 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 5/16/2020 4
Embedded systems development life cycles

Hawassa University, Institute of Technology


School of Electrical and Computer Engineering 5/16/2020 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 5/16/2020 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 5/16/2020 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
• 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 5/16/2020 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 5/16/2020 9
Embedded systems development life cycles

Detailed Hardware and Software Design:

Hawassa University, Institute of Technology


School of Electrical and Computer Engineering 5/16/2020 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 especially appropriate 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 5/16/2020 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 5/16/2020 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 5/16/2020 13
Embedded systems development tools
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 5/16/2020 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 5/16/2020 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 5/16/2020 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 5/16/2020 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 5/16/2020 18
Embedded systems development tools

Hardware development tools:


Numerous hardware development tools are available for the
PIC 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 5/16/2020 19
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
Reset button (device not included)
Socket for Dallas DS1307 real-
16-switch keypad time clock (device not
Two potentiometers included)
Four LEDs Pads for Dallas DS18S20
2-line by 20-character LCD- temperature sensors (device
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 5/16/2020 20
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 5/16/2020 21
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 5/16/2020 22
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 5/16/2020 23
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 5/16/2020 24
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 5/16/2020 25
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 5/16/2020 26
Embedded systems development tools

Hardware development tools:


BreadBoards

Hawassa University, Institute of Technology


School of Electrical and Computer Engineering 5/16/2020 27

You might also like