1 / 12

National Sun Yat-sen University Embedded System Laboratory

National Sun Yat-sen University Embedded System Laboratory. Open On-Chip Debugger Ch6. Design and Architecture. EICE team. Presenter : Chien-Hung Chen Tsung-Cheng Lin Kuan-Fu Kuo. Outline. Software Modules Configuration Management and CLI Module JTAG Module Target Module

Download Presentation

National Sun Yat-sen University Embedded System Laboratory

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. National Sun Yat-sen University Embedded System Laboratory Open On-Chip Debugger Ch6. Design and Architecture EICE team Presenter :Chien-Hung Chen Tsung-Cheng Lin Kuan-Fu Kuo

  2. Outline • Software Modules • Configuration Management and CLI Module • JTAG Module • Target Module • Flash Module • GDB Module

  3. Software Modules The Flash module is only accessed via the command interface Accesses the hardware being debugged The daemon is the first part that is initialized, and controls the remaining components The GDB module is invoked after the daemon The program configuration by evaluating the command line arguments,

  4. Configuration Management and CLI Module • 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

  5. JTAG Module • 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

  6. Target Module • 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

  7. ARM7/ARM9 Common Code

  8. Target State Management

  9. Breakpoint Handling • Software breakpoint • A target dependent instruction code has been written into the target’s memory • Hardware breakpoint • Watchpoint Handling • Like breakpoints

  10. Flash Module(1/2) • 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.

  11. Flash Module(2/2) • 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.

  12. GDB Module • 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.

More Related