12
Presenter : Chien-Hung Chen Tsung-Cheng Lin Kuan-Fu Kuo 20090331 EICE team Open On-Chip Debugger Ch6. Design and Architecture

Presenter : Chien-Hung Chen Tsung-Cheng Lin Kuan-Fu Kuo 20090331 EICE team Open On-Chip Debugger Ch6. Design and Architecture

  • View
    214

  • Download
    0

Embed Size (px)

Citation preview

Presenter : Chien-Hung Chen

Tsung-Cheng LinKuan-Fu Kuo

20090331

EICE team

Open On-Chip DebuggerCh6. Design and Architecture

Software Modules Configuration Management and CLI Module JTAG Module Target Module Flash Module GDB Module

2

3

The daemon is the first part that is initialized,

and controls the remaining components

The program configuration by evaluating the command line arguments,

Accesses the hardware being debugged

The GDB module is invoked after the

daemon

The Flash module is only accessed via the command interface

The configuration To configure the debugger To describe target initialization

The LGPL licensed libcli implements a telnet server

The libcli library defines two modes。 An execution mode。 A configuration mode

Every module registers its configuration commands with the CLI module

4

High-level command Read or write test data registers and control the TAP

state machine

Low-level command Directly modify the JTAG signals(bit-bang operation)

CLI commadns To adjust the JTAG device speed To read the IDCODE

5

Defines CLI commands useful for all target implementations The startup mode The target’s endianess Control the target execution

。A user may halt, single-step, resume, or reset the target

Poll the target state Read memory Write memory Load binary file Dump binary file

6

ARM7/ARM9 Common Code

7

Target State Management

8

Breakpoint Handling Software breakpoint

。A target dependent instruction code has been written into the target’s memory

Hardware breakpoint

Watchpoint Handling Like breakpoints

9

The Flash modules uses the target module to access memory.

The module registers CLI commands that configure the flash Configure the size of one flash chip. Configure the width of a single flash chip. Configure the width of the bus that connects a flash

bank to the microcontroller. Probe a given address for the presence of a flash bank

that matches the configuration.

10

Print information about the blocks of a flash bank at a given location. If the flash supports a protection mechanism, information about the protection state should be printed, too.

Erase a range of blocks on a flash bank at a given location.

Write a binary file at a selected offset on a flash bank at a given location.

11

GDB(GNU Debugger) module Remote GDB client

。Calls the target functions by commands

CLI(Command Line Interface) It is submitted to the GDB server

Breakpoints and watchpoints When the target reenters debug stage, they are

removed again.

12