Characteristics of Realtime and Embedded Systems - PowerPoint PPT Presentation

About This Presentation
Title:

Characteristics of Realtime and Embedded Systems

Description:

Compile and Link. Compiler converts the high level language code into ... Compiler organizes the compiled code into system-defined as well as user-defined ... – PowerPoint PPT presentation

Number of Views:31
Avg rating:3.0/5.0
Slides: 18
Provided by: bina1
Learn more at: https://cse.buffalo.edu
Category:

less

Transcript and Presenter's Notes

Title: Characteristics of Realtime and Embedded Systems


1
Characteristics of Realtime and Embedded Systems
  • Chapter 1

2
Embedded Systems
  • Embedded systems are computing systems with
    tightly coupled hardware and software
    integration.
  • Designed to perform dedicated function
  • Embedded means that the system is a integral part
    of a larger system
  • Multiple embedded systems can co-exist in a
    single system.
  • General purpose processor are typically not aware
    of the applications.
  • An embedded processor is application-aware.

3
Embedded Systems (contd.)
  • Hardware and software co-design hardware and
    software for the embedded system are developed in
    parallel.
  • Cross-platform development Both embedded system
    and its application use the cross-platform
    development method.
  • Software is developed on one platform but runs on
    another.
  • Software storage will have to be chosen to allow
    for upgradeability.
  • Of course, the SoC, PoE, etc.

4
Realtime Systems
Real-time systems
Synchronous Asynchronous Outputs
Synchronous asynchronous Events
Timing constraints
5
Real-time Systems
  • Real-time systems are those systems in which the
    overall correctness of the system depends on both
    the functional correctness and the timing
    correctness.
  • Realtime systems also have a substantial
    knowledge of the system it controls and the
    applications running on it.
  • Deadline dependent.
  • Predictability is important.

6
Hard and soft Real-time Systems
  • A hard real-time systems is a real-time system
    that must meet its deadlines with a near zero
    degree of flexibility. Deadlines must be met,
    otherwise catastrophes occur.
  • A soft-time system is a real-time system that
    must its deadlines but with a degree of
    flexibility. The deadlines contains various
    levels of tolerance, even statistical
    distribution of response times with different
    degrees of acceptability.
  • An important requirement scheduling algorithms

7
Real-time Embedded Systems
RTS
EMB
RTEMB
Railway monitoring and scheduling RTS Cell
phone EMB Heart pacemaker RTSEMB
8
Chapter 2 Basics of Development for Embedded
Systems
  • Typical cross-platform development environment
  • Host system essential tools are cross compiler,
    linker, source level debugger
  • Executable image contains RTOS, Kernel,
    application program compiled and linked
  • Target system where to store the executable
    image, and how?
  • Connections ethernet and serial
  • See figure 2.1

9
Making of an Executable
  • Makefile
  • Demo

10
Compile and Link
  • Compiler converts the high level language code
    into native machine code or object code
  • Linker does symbol resolution and symbol
    relocation to generate the executable code
  • See Figure 2.3
  • Symbol resolution is the process by which the
    linked goes through each object file and
    determines where the external symbols in it are
    located. Then it copies the required file into
    the final image.
  • Symbol relocation is the process in which the
    linker maps symbol reference to its definition.

11
ELF (Executable Linker Format)
  • An object file contains
  • file size, binary code, data size, source file
    name and other general information
  • Machine architecture specific binary instructions
    and data
  • Symbol table and relocation table
  • Debug information, which the debugger uses
  • There are standards for organizing object file
    formats. ELF is very commonly used format.

12
ELF (contd.)
  • Compiler organizes the compiled code into
    system-defined as well as user-defined content
    groupings called sections.
  • Example sections binary code, symbol table
  • Each section also has important information about
    load address and run address.
  • Section header and program header Listing 2.1
  • A section header table is an array of section
    header sections of an object file.
  • A program header table is array of program header
    structures describing a loadable segment of an
    image.

13
Section Types (sh_types)
  • PROGBITS code or initialized data
  • SYMTAB etc.
  • Some common system created default sections are
    .text, .data, .sdata
  • Section attributes (sh_flags) WRITE, ALLOC,
    EXECINSTR
  • sh_addr is the section address and p_addr is the
    program address on the target machine

14
User defined sections
  • You could add user-defined sections
  • .section mysection
  • If you were to create the embedded program from
    scratch you will define it in terms of sections
    as defined above.
  • Remember the .data and .text sections from your
    MIPS code (of cse341).

15
Mapping Executable Images into Target Embedded
Systems
  • Multiple source files (C/C, assemble) have been
    compiled and assembled into object files, a
    linker must combine these object files and merge
    sections from different object files into program
    segments.
  • The process creates a single executable image for
    the target embedded system.
  • Embedded system developer uses linker directives
    to control how the linker combines sections and
    allocates segments into target system.
  • Common directives are MEMORY and SECTION (see
    examples Listing 2.2 and 2.3)

16
Memory Map of the Target System
  • See fig 2.5 and compare it with MEMORY directive
    listing 2.2
  • Also check out the memory map of XINU
  • Section .text can be mapped to ROM, Flash or Ram
    where the section .data has to be mapped to RAM.

17
Generating Executable Image
  • Combining multiple sections into executable
    image fig. 2.6
  • Mapping executable image into target memory fig
    2.7
  • Module upgradability through flash memory.
  • Use SDRAM for code /data that require fast access
    and DRAM for the rest of the code/data.
  • See Listing 2.5 and Figure 2.8 for examples.
Write a Comment
User Comments (0)
About PowerShow.com