Designing User Interfaces Spring 1999 - PowerPoint PPT Presentation

1 / 28
About This Presentation
Title:

Designing User Interfaces Spring 1999

Description:

In software development, perhaps the most critical, yet least predictable stage ... in standard ROMs rather than custom ASICs or microcontrollers with on-chip ROM ... – PowerPoint PPT presentation

Number of Views:32
Avg rating:3.0/5.0
Slides: 29
Provided by: robos
Category:

less

Transcript and Presenter's Notes

Title: Designing User Interfaces Spring 1999


1
SE 746-NT Embedded Software Systems
Development Robert Oshana Lecture
31 For more information, please
contact NTU Tape Orders NTU Media
Services (970) 495-6455
oshana_at_airmail.net
tapeorders_at_ntu.edu
2
Emulation and Debugging Technology for Embedded
Systems Part 1
3
Agenda
  • Embedded debug philosophy
  • Debug kernels
  • ROM emulators
  • Logic analyzers

4
Embedded Debug Philosophy
5
Embedded debug Philosophy
  • In software development, perhaps the most
    critical, yet least predictable stage in the
    process is debugging
  • Many factors come into play when debugging
    software applications
  • time is of utmost importance
  • The time required to set up and debug a software
    application can have significant impacts on
    time-to-market, meeting customer expectations,
    and financial impact of a well developed product
    that succeeds in the market

6
Embedded debug Philosophy
  • The integration of an application follows a model
    of multiple spirals through the stages of build,
    load, debug/tune, and change

7
Host based debugging
  • Certain amount of testing can be done on the PC
  • Eventually differences force you to the target
  • Potential problems
  • Word size
  • Byte order

8
Storing bytes in 16-bit wide memory introduces
order ambiguity
9
Remote debuggers and debug kernels
  • Embedded platforms too resource limited and
    specialized to support a full featured debugger
  • Embedded systems distribute this function
  • Portion resides on target
  • Portion resides on host
  • Communicate via comm channel (serial, ethernet)

10
Typical architecture block diagram
11
Debugger control services
  • Setting breakpoints
  • Loading programs from the host
  • Viewing or modifying memory and registers
  • Running from an address
  • Single stepping the processor

12
Resources required from target
  • Interrupt vector
  • Software interrupt

13
Schematic presentation of a debug kernel in a
target system
14
Debug kernel
  • Similar to an ISR
  • Interrupt received from device (such as a serial
    port connected to host)
  • Usually set at high enough priority level (NMI?)
    so that debugger is always serviced
  • Dont want errant interrupt to disable other
    interrupts (locked out!)

15
Debug kernel
  • Arrival of interrupt from host stops application
    code
  • Processor enters ISR (debug kernel)
  • Machine context saved
  • Debugger now in control of the target

16
How a debugger sets a breakpoint in read/write
memory
17
Advantages/disadvantages of a debug kernel
  • Advantages
  • Low cost 0 to lt 1000
  • Same debugger can be used with remote kernel or
    on host
  • Provides most of the services that a SW designer
    needs
  • Simple serial link is all that is required
  • Disadvantages
  • Depends on a stable memory subsystem in the
    target and is not suitable for initial HW/SW
    integration
  • Not real-time, so system performance will differ
    with a debugger present

18
Advantages/disadvantages of a debug kernel
  • Advantages
  • Can be used with a virtual serial port
  • Can be linked with users code for ISRs and field
    service
  • Good choice for code development when HW is
    stable
  • Can easily be integrated into a design team
  • Disadvantages
  • Difficulty in running out of ROM-based memory
    because you cant single step or insert
    breakpoints
  • Requires that the target has additional services
    which may not be possible
  • Might not always have control of the system

19
ROM emulator
  • Cabling device(s) to match the target system
    mechanical footprint of the target system ROM
    devices
  • Fast RAM to substitute for the ROM in the target
    system
  • Local control processor
  • Comm port to the host
  • Additional features such as trace memory and
    flash programming algorithms

20
Schematic of a ROM emulator
21
ROM emulator
  • Allows quick downloading new object images to run
    in the target system
  • Change cycle time is important
  • ROM emulator with TBase100 ethernet is good for
    downloading large images

22
ROM emulator
  • ROM emulator is really RAM
  • Can set breakpoints in memory
  • Gets around the write to ROM problem in your
    embedded system
  • Can be used to create virtual ports to the host

23
Advantages/disadvantages of a ROM emulator
  • Advantages
  • Cost effective (1000 - 5000)
  • Generic tool, compatible with many different
    memory configurations
  • Can download large blocks of code to the target
    system at high speed
  • Disadvantages
  • Requires that the target system memory is in a
    stable condition
  • Feasible only if embedded code is contained in
    standard ROMs rather than custom ASICs or
    microcontrollers with on-chip ROM

24
Advantages/disadvantages of a ROM emulator
  • Advantages
  • Most cost effective way to support large amounts
    of RAM substitution memory
  • Can trace ROM code activity in real time
  • Provides virtual UART function, eliminating need
    for additional services in target system
  • Disadvantages
  • Real-time trace is possible only if program
    executes directly out of ROM
  • Many targets transfer code to RAM for performance
    reasons

25
Advantages/disadvantages of a ROM emulator
  • Advantages
  • Can be integrated with other HW and SW tools such
    as commercial debuggers
  • Can set breakpoints in ROM

26
Intrusiveness and RT debugging
  • Debug kernel not as useful for trying to find
    real time problems
  • Highly intrusive
  • Tool presence modifies behavior
  • Mechanical compatibility between external tools
    as target system
  • Signal intrusion
  • Physical intrusion

27
Evaluation boards
28
SE 746-NT Embedded Software Systems
Development Robert Oshana 10 Minute
Break For more information, please
contact NTU Tape Orders NTU Media
Services (970) 495-6455
oshana_at_airmail.net
tapeorders_at_ntu.edu
Write a Comment
User Comments (0)
About PowerShow.com