Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

GDB support w/new toolchain and UART driver #5559

Merged
merged 21 commits into from
Jan 23, 2019
Merged

Commits on Mar 28, 2018

  1. Configuration menu
    Copy the full SHA
    073299b View commit details
    Browse the repository at this point in the history

Commits on Dec 26, 2018

  1. Configuration menu
    Copy the full SHA
    e618125 View commit details
    Browse the repository at this point in the history
  2. Fix GDB merge errors

    earlephilhower committed Dec 26, 2018
    Configuration menu
    Copy the full SHA
    c3890bd View commit details
    Browse the repository at this point in the history

Commits on Dec 27, 2018

  1. Configuration menu
    Copy the full SHA
    211c2f3 View commit details
    Browse the repository at this point in the history
  2. Update to unpatched GDB protocol specification

    It appears that Espressif patched the open source xtensa GDB port in
    order to build their old GDB executable and their old gdbstub (basically
    removing any register in a generic xtensa and only leaving those
    present in the chip they synthesized).  Their GDBStub also assumed this
    behavior.
    
    Unpatched upstream GNU GDB now expects all the registers in
    xtensa-config.c to be sent/read on a 'g' command.  Change the GDB stub
    to send "xxxxxxxx"s (legal per the spec) for unimplemented registers.
    This makes the 'g' response much longer, but it's results are cached
    and in an interactive debugger it isn't noticeable.
    earlephilhower committed Dec 27, 2018
    Configuration menu
    Copy the full SHA
    6a714f3 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a4c8ea4 View commit details
    Browse the repository at this point in the history
  4. Move functions to flash, call using wrappers

    All functions which are not interrupt or exception called are now in
    flash. A small IRAM wrapper enables flash when processing main GDB ops
    by calling Cache_Read_Enable_New() and then jumping to the main flash
    code.  This seems to work for catching exceptions, data and code breaks,
    and Ctrl-C.
    
    The UART ISR handler and exception handler register-saving bits of
    code in ASM are still in IRAM.
    
    GDB IRAM usage is now about 670 bytes.
    earlephilhower committed Dec 27, 2018
    Configuration menu
    Copy the full SHA
    b1d47e6 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    b341c07 View commit details
    Browse the repository at this point in the history
  6. Add documentation and gdbstub_init header

    Add some simple GDB documentation to the main tree showing a worked
    example.
    
    Adds the definition of `void gdbstub_init()` to <GDBStub.h>
    earlephilhower committed Dec 27, 2018
    Configuration menu
    Copy the full SHA
    cc03543 View commit details
    Browse the repository at this point in the history

Commits on Dec 28, 2018

  1. Merge branch 'master' into gdb

    devyte committed Dec 28, 2018
    Configuration menu
    Copy the full SHA
    bb37b27 View commit details
    Browse the repository at this point in the history

Commits on Dec 30, 2018

  1. Clean up GDB include and library dir

    Replace GDBstub.h with the version in the internal/ directory, and
    adjust stub code accordingly.  This way, only one copy of a file called
    "GDBstub.h" will exist.
    
    Update the gdbcommands and replace the obsolete ESPRESSIF readme with
    @kylefleming's version since we're mainly doing serial, not TCP,
    connected debugging.
    
    Bump the library rev. number since this is a pretty big functionality
    change.
    
    Minor documentation tweak.
    earlephilhower committed Dec 30, 2018
    Configuration menu
    Copy the full SHA
    0e2adcb View commit details
    Browse the repository at this point in the history

Commits on Dec 31, 2018

  1. Undo much of UART refactoring, set fifo IRQ to 16

    Remove the refactoring of pin control and other little things not directly
    related to GDB processing.  Should greatly reduce the diff size in uart.c.
    Should also remove any register value changes (intended or otherwise)
    introduced in the original PR from @kylefleming.
    
    Set the FIFO interrupt to 16 chars when in GDB mode, matching the latest
    UART configuration for highest speed.
    earlephilhower committed Dec 31, 2018
    Configuration menu
    Copy the full SHA
    fc7012f View commit details
    Browse the repository at this point in the history

Commits on Jan 1, 2019

  1. Add architecture comments, cleanup uart.c code

    Comments added to UART.c trying to explain (as best as I understand it)
    the changes done to support GDB and how they interact with standard
    operation.
    
    Fix the uart_uninit to stop the ISR and then free appropriately.
    
    Fix uart_isr_handle_data (GDB's shim for sending chars to the 8266 app)
    to do the exact same thing as the standard UART handler including set
    the overflow properly and either discard or overwrite in that case.
    
    Fix serial reception when GDB enabled by enabling the user recv ISR.
    
    Remove commented attributes from gdbstub, leftover from the move to
    flash.
    
    General logic cleanup per comments in the PR.
    earlephilhower committed Jan 1, 2019
    Configuration menu
    Copy the full SHA
    33a21cd View commit details
    Browse the repository at this point in the history

Commits on Jan 2, 2019

  1. Also set the UART flags for HW error in GDB

    Ensure we also check the UART flags and set the uart status
    appropriately when in GDB mode.
    Earle F. Philhower, III authored and Earle F. Philhower, III committed Jan 2, 2019
    Configuration menu
    Copy the full SHA
    e72291a View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bffd385 View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2019

  1. Configuration menu
    Copy the full SHA
    aef060b View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2019

  1. Configuration menu
    Copy the full SHA
    a71d705 View commit details
    Browse the repository at this point in the history

Commits on Jan 14, 2019

  1. Configuration menu
    Copy the full SHA
    99da578 View commit details
    Browse the repository at this point in the history

Commits on Jan 17, 2019

  1. Configuration menu
    Copy the full SHA
    11a338c View commit details
    Browse the repository at this point in the history

Commits on Jan 18, 2019

  1. Configuration menu
    Copy the full SHA
    06a28bd View commit details
    Browse the repository at this point in the history

Commits on Jan 23, 2019

  1. Configuration menu
    Copy the full SHA
    a3ed4b4 View commit details
    Browse the repository at this point in the history