120 likes | 249 Views
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
E N D
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 • Flash Module • GDB Module
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,
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
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
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
Breakpoint Handling • Software breakpoint • A target dependent instruction code has been written into the target’s memory • Hardware breakpoint • Watchpoint Handling • Like breakpoints
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.
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.
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.