Embedded Systems Programming: Prof. Dr. Hassan Alansary
Embedded Systems Programming: Prof. Dr. Hassan Alansary
Programming
Lecture 1
1.1 WHAT IS AN EMBEDDED SYSTEM?
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
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?