0% found this document useful (0 votes)
88 views20 pages

Embedded Systems Programming: Prof. Dr. Hassan Alansary

This document discusses embedded systems and embedded system programming. It defines embedded systems as electronic devices that incorporate microprocessors to simplify design and provide flexibility. Unlike PCs, embedded systems often store software in read-only memory on chips. The document outlines the unique goals of embedded software design, including being application-specific, deadline-constrained, and resource-limited. It also discusses real-time systems, multithreading, common embedded processors, programming languages, and differences in building embedded applications.

Uploaded by

Abdallah Adel
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)
88 views20 pages

Embedded Systems Programming: Prof. Dr. Hassan Alansary

This document discusses embedded systems and embedded system programming. It defines embedded systems as electronic devices that incorporate microprocessors to simplify design and provide flexibility. Unlike PCs, embedded systems often store software in read-only memory on chips. The document outlines the unique goals of embedded software design, including being application-specific, deadline-constrained, and resource-limited. It also discusses real-time systems, multithreading, common embedded processors, programming languages, and differences in building embedded applications.

Uploaded by

Abdallah Adel
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/ 20

Embedded Systems

Programming

Prof. Dr. Hassan Alansary

Lecture 1
1.1 WHAT IS AN EMBEDDED SYSTEM?

Embedded systems are electronic devices that incorporate


microprocessors within their implementations. The main
purposes of the microprocessor are to simplify system design
and to provide flexibility. Having a microprocessor in the
device means that removing bugs, making modifications, or
adding new features are only matters of rewriting the
software that controls the device. Unlike PCs, however, Hand-held GPS Units
embedded systems may not have a disk drive and so the
software is often stored in a read-only memory (ROM) chip;
this means that modifying the software requires either
replacing or “reprogramming” the ROM.

Telematics System for Automobiles


Embedded
System Block
Diagram
Types of Embedded Processors

• Microprocessors for PCs • Computational micros (32- or 64-bit datapaths)


• Embedded processors or Microcontrollers ▫ CPU of workstations, PCs, or high-end portable devices
for embedded systems (PDAs)
▫ Often with lower clock speeds ▫ x86, PA-RISC, PowerPC, SPARC, etc.
▫ Integrated with memory and • Embedded general purpose micros (32-bit
▫ I/O devices e.g. A/D D/A PWM datapaths)
▫ Designed for a wide range of embedded applications
▫ Higher environmental specs ▫ Often scaled-down version of computational micros
▫ ARM, PowerPC, MIPS, x86, 68K, etc.
• Microcontrollers (4-, 8-, or 16-bit datapaths)
▫ Integrate processing unit, memory, I/O buses, and peripherals
▫ Often low-cost, high-volume devices
• Domain-specific processors (datapath size
varies greatly)
▫ Designed for a particular application domain
▫ Digital signal processors, multimedia processors,
graphics processors, network processors, security processors, etc.
1.2 WHAT IS UNIQUE ABOUT THE DESIGN GOALS FOR EMBEDDED SOFTWARE?

Characteristics of Embedded Systems

Application-specific functionality – specialized for one class of applications.

Deadline constrained operation – system may have to perform its function(s) within specific
time periods to achieve successful results.

Resource challenged – systems typically are configured with a modest set of resources to meet
the performance objectives Power efficient – many systems are battery-powered and must
conserve power to maximize the usable life of the system..

Form factor – many systems are light weight and low volume to be used as components in host
systems.

Manufacturable – usually small and inexpensive to manufacture based on the size and low
complexity of the hardware.
Design Challenges Design Constraints

• Does it really work?


▫ Is the specification correct?
▫ Does the implementation meet the spec?
▫ How do we test for real-time characteristics?
▫ How do we test on real data?
• How do we work on the system?
▫ Observability, controllability?
▫ What is our development platform?
FIGURE 1-4 The Vue40 vending FIGURE 1-5 The Seagate Barracuda
machine uses a 16-bit Hitachi XT disk drive incorporates two ARM
cpu. Cortex-R4 processors – one to control
the servos and the other to handle the
command and data flow.
1.3 WHAT DOES “REAL-TIME” MEAN?
One of the primary design goals of real-time systems is
minimizing response time. A soft real-time system is one
that is designed to compute the response as fast as
possible but does not have an explicit deadline. If a
deadline is imposed, the system is known as a hard
real-time system. Keeping response times of hard real-
time systems
1.4 WHAT DOES “MULTITHREADING” MEAN?

Hyper-Threading Technology is a
hardware innovation that allows more
than one thread to run on each core.
More threads means more work can be
done in parallel. ... This means that one
physical core now works like two “logical
cores” that can handle different software
threads.
1.5 HOW POWERFUL ARE EMBEDDED PROCESSORS? 1.6 WHAT PROGRAMMING LANGUAGES ARE USED?
A microcontroller unit (MCU) includes a
processor, memory, I/O ports, timers, and
multiple peripherals all on a single chip. In the
past, MCUs typically employed
8- and 16-bit processors. Today, the growing
demand for intelligent devices such as smart
phones, GPS devices, portable media players, and
network routers for the home is pushing MCU to
move to 32-bit processors that offer greater
performance and functionality. As shown in
Figure 1-8, 32-bit processors are rapidly
replacing their predecessors in new embedded
designs.
1.7 HOW IS BUILDING AN EMBEDDED
APPLICATION DIFFERENT?
1.8 HOW BIG ARE TYPICAL EMBEDDED PROGRAMS?

We have grown used to desktop application programs


that require several mega- bytes of memory and disk
space. So, it is surprising how little memory is used in
embedded products, especially when you consider that
both the embedded applica- tion and its real-time kernel
are stored in memory. Two typical examples appear in
Table 1-2.

You might also like