Nios® II Software Developer Handbook

ID 683525
Date 8/28/2023
Public
Document Table of Contents

5.11.3.4.4. nios2-gdb-server (64-bit support)

Description

Translates GNU debugger (GDB) remote serial protocol packets over Transmission Control Protocol (TCP) to JTAG transactions with a target Nios® II processor.

Usage

nios2-gdb-server [-h/--help] [-c/--cable <cable name>]
       [-d/--device <device index>] [-i/--instance <instance>]
       [-s/--sidp <address>] [-I/--id <id>] [-t/--timestamp <timestamp>]
       [-w/--wait <seconds>] [--no-verify] [-g/--go] [--stop]           
       [--tcpport=<port> | auto] [--tcpdebug] [--tcptimeout <seconds>]  
       [--tcppersist] [--thread-vars <vars>]                            
       [--write-gmon <gmonfile>] [--wait-target-exit]                   
       <filename.srec>*         

Options

-h/--help                   Print this message

    --write-pid <filename>   Write the process ID to the file specified
    --signal-pid <filename>  Send a SIGUSR1 to the other process when ready

 -c/--cable <cable name>     Specifies which JTAG cable to use (not needed if
                             you only have one cable)                        
 -d/--device <device index>  Specifies in which device you want to look for the
                             
               Nios® II OCI core (1 = device nearest TDI etc.)
 -i/--instance <instance>    Specifies the INSTANCE value of the JTAG debug core
                             (not needed if there is exactly one on the chain)

 -r/--reset-target           Always reset the target system before use

 -C/--init-cache             Always initialize target processor cache before use

 -s/--sidp <address>         Base-address of System ID peripheral on target
 -I/--id <system-id-value>   Unique ID code for target system
 -t/--timestamp <time-stamp> Timestamp for target-system (when last generated)
    --accept-bad-sysid       Continue even if the system ID comparison fails

 <filename.srec>*            S-Record file(s) to download to the target
    --no-verify              Don't verify after downloading

 -w/--wait <seconds>         Wait for time specified before starting processor
                             (signal USR1 terminates the wait early)
 -g/--go                     Run processor from entry point after downloading
    --stop                   Stop processor (leave it in a paused state).

    --tcpport <port> | auto  Listen on specified TCP port for a connection from
                             GDB (with "auto" a free port is used).
    --tcpdebug               Display the GDB remote protocol running over TCP
    --tcptimeout <seconds>   Timeout if GDB has not connected in time specified
    --tcppersist             Don't stop when GDB disconnects
    --thread-vars <vars>     Decode target thread list using specified string

    --write-gmon <gmonfile>  Wait for target to complete and write GMON data
                             (if available) to the file specified
    --wait-target-exit       Wait for target to complete and return target exit
                             code as our return code if no other errors
The processor state after execution is chosen as follows:
  • If the GDB remote protocol is enabled then this chooses the state.
  • If the --go option is specified then the processor is started.
  • If the --stop option is specified then the processor is left paused.
  • If a file is downloaded or the processor is reset then it is paused.
  • Otherwise, the processor state is restored.