Embedded Software
Embedded Software
Lecture: 2 SWS
Lab: 2 SWS
Lecturers: Prof. Dr. Faruk Bağcı, Prof. Dr. Mesut Güneş
Lab-Support:
• For example:
• Artificial eye: several approaches, e.g.:
• Camera attached to glasses; computer worn at
belt; output directly connected to the brain,
“pioneering work by William Dobelle”. Previously at
[www.dobelle.com]
• Railways
• Telecommunication
• Consumer electronics
• Robotics
• Public safety
• Smart homes
• Military systems
Mostly cyber-physical
• Sophisticated functionality
• Real-time operation
• Low manufacturing cost
• Application dependent processor
• Restricted memory
• Low power
• ES must be dependable,
• Reliability R(t) = probability of system working correctly provided that it
was working at t=0
• Maintainability M(d) = probability of system working correctly d time
units after error occurred.
• Availability A(t): probability of system working at time t
• Safety: no harm to be caused
• Security: confidential and authentic communication
• Even perfectly designed systems can fail if the assumptions about the
workload and possible errors turn out to be wrong.
• Making the system dependable must not be an afterthought, it must be
considered from the very beginning
Prof. Dr. Faruk Bağcı
EFFICIENCY
• ES must be efficient
• Code-size efficient (especially for systems on a chip)
• Run-time efficient
• Weight efficient
• Cost efficient
• Energy efficient
• Hardware
• Processing element
• Peripherals
• Input and output devices
• Interfacing sensors and actuators
• Interfacing protocols
• Memory
• Bus
• Software
• System software
• Application
Prof. Dr. Faruk Bağcı
HARDWARE EVOLUTION
• Systems-on-Chip
• Application-specific processors
• DSPs
• General-purpose
microprocessors and
microcontrollers
• Top-down Design:
• Start from most abstract description
• Work to most details
• Bottom-up Design:
• Work from small components to big system
• Real designs typically use both techniques
• Bare-Metal programming:
• Refers to run a program or a software directly on hardware
level
• Without support of any operating system
• Low-level method of programming specific to the hardware
• Program a microcontroller directly with C or Assembler-code
• Alternative: Embedded Linux
• User space applications with support of a kernel
• Later more detailed information!
• Linux advantages:
• Easily scalable
• HW-independent (Portability)
• Multi-threading and priorities
• Free prebuilt drivers available (faster development)
• Less bugs (mature OS code rather than new own code)
• Community support
• Linux drawbacks:
• Complex for small applications
• steeper learning curve than bare metal
• Require a minimum (powerful) hardware to run the Kernel
• Security protection needed
• Updates of the system may be needed
Prof. Dr. Faruk Bağcı
DEVELOPMENT ENVIRONMENT
• Linux advantages:
• Easily scalable
• HW-independent (Portability)
• Multi-threading and priorities
• Free prebuilt drivers available (faster development)
• Less bugs (mature OS code rather than new own code)
• Community support
• Linux drawbacks:
• Complex for small applications
• steeper learning curve than bare metal
• Require a minimum (powerful) hardware to run the Kernel
• Security protection needed
• Updates of the system may be needed
Prof. Dr. Faruk Bağcı
EMBEDDED SYSTEMS VS GENERAL-PURPOSE SYSTEMS