-
Notifications
You must be signed in to change notification settings - Fork 13.3k
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
Commits on Mar 28, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 073299b - Browse repository at this point
Copy the full SHA 073299bView commit details
Commits on Dec 26, 2018
-
Configuration menu - View commit details
-
Copy full SHA for e618125 - Browse repository at this point
Copy the full SHA e618125View commit details -
Configuration menu - View commit details
-
Copy full SHA for c3890bd - Browse repository at this point
Copy the full SHA c3890bdView commit details
Commits on Dec 27, 2018
-
Configuration menu - View commit details
-
Copy full SHA for 211c2f3 - Browse repository at this point
Copy the full SHA 211c2f3View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for 6a714f3 - Browse repository at this point
Copy the full SHA 6a714f3View commit details -
Configuration menu - View commit details
-
Copy full SHA for a4c8ea4 - Browse repository at this point
Copy the full SHA a4c8ea4View commit details -
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.
Configuration menu - View commit details
-
Copy full SHA for b1d47e6 - Browse repository at this point
Copy the full SHA b1d47e6View commit details -
Configuration menu - View commit details
-
Copy full SHA for b341c07 - Browse repository at this point
Copy the full SHA b341c07View commit details -
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>
Configuration menu - View commit details
-
Copy full SHA for cc03543 - Browse repository at this point
Copy the full SHA cc03543View commit details
Commits on Dec 28, 2018
-
Configuration menu - View commit details
-
Copy full SHA for bb37b27 - Browse repository at this point
Copy the full SHA bb37b27View commit details
Commits on Dec 30, 2018
-
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.
Configuration menu - View commit details
-
Copy full SHA for 0e2adcb - Browse repository at this point
Copy the full SHA 0e2adcbView commit details
Commits on Dec 31, 2018
-
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.
Configuration menu - View commit details
-
Copy full SHA for fc7012f - Browse repository at this point
Copy the full SHA fc7012fView commit details
Commits on Jan 1, 2019
-
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.
Configuration menu - View commit details
-
Copy full SHA for 33a21cd - Browse repository at this point
Copy the full SHA 33a21cdView commit details
Commits on Jan 2, 2019
-
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 committedJan 2, 2019 Configuration menu - View commit details
-
Copy full SHA for e72291a - Browse repository at this point
Copy the full SHA e72291aView commit details -
Configuration menu - View commit details
-
Copy full SHA for bffd385 - Browse repository at this point
Copy the full SHA bffd385View commit details
Commits on Jan 8, 2019
-
Configuration menu - View commit details
-
Copy full SHA for aef060b - Browse repository at this point
Copy the full SHA aef060bView commit details
Commits on Jan 9, 2019
-
Configuration menu - View commit details
-
Copy full SHA for a71d705 - Browse repository at this point
Copy the full SHA a71d705View commit details
Commits on Jan 14, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 99da578 - Browse repository at this point
Copy the full SHA 99da578View commit details
Commits on Jan 17, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 11a338c - Browse repository at this point
Copy the full SHA 11a338cView commit details
Commits on Jan 18, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 06a28bd - Browse repository at this point
Copy the full SHA 06a28bdView commit details
Commits on Jan 23, 2019
-
Configuration menu - View commit details
-
Copy full SHA for a3ed4b4 - Browse repository at this point
Copy the full SHA a3ed4b4View commit details