Commit Graph

70 Commits

Author SHA1 Message Date
Nav
8cf96ba5df Tidying 2024-10-26 17:19:00 +01:00
Nav
1db70be31e Move AVR-specific GDB memory address translation to AvrGdbTargetDescriptor 2024-10-26 17:18:42 +01:00
Nav
b6cbdf5a0d Changed AVR-GDB command packet class to a bare interface class 2024-10-26 16:19:05 +01:00
Nav
5be3ab4503 Tidying 2024-10-25 23:12:31 +01:00
Nav
9df41ccfc5 Made VCont step/continue command handlers generic (non-target-specific) 2024-10-25 23:12:04 +01:00
Nav
8be311cbc0 Refactored GDB server base class, making it a template class, allowing for much more flexibility for derived target-specific implementations 2024-10-25 22:22:25 +01:00
Nav
7a54632966 Implemented disabling of GDB packet acknowledgement, and disabled it by default. The new packetAcknowledgement debug server config param can be used to keep it enabled. 2024-10-19 23:10:34 +01:00
Nav
a6d79e4680 Accept 0x prefix in eeprom fill GDB monitor command 2024-08-28 19:02:23 +01:00
Nav
34b26c3d06 Replaced commandOptions member with commandArguments in the GDB Monitor command base class
Updated the `eeprom fill` monitor command to take the fill value from the third command argument.
Also updated help text
2024-08-24 20:43:29 +01:00
Nav
6cdbfbe950 Massive refactor to accommodate RISC-V targets
- Refactored entire codebase (excluding the Insight component) to accommodate multiple target architectures (no longer specific to AVR)
- Deleted 'generate SVD' GDB monitor command - I will eventually move this functionality to the Bloom website
- Added unit size property to address spaces
- Many other changes which I couldn't be bothered to describe here
2024-07-23 21:14:22 +01:00
Nav
75d5124265 Moved TargetRegisterDescriptor struct to separate file 2024-03-09 17:16:29 +00:00
Nav
d3c7cddb82 Added TargetFamily to TargetDescriptor and comparability check in AVR GDB debug server 2023-11-22 00:37:29 +00:00
Nav
ed3ddbe3fd Removed intercepting breakpoint on end address of a stepping range. Replaced with runTo operation 2023-09-23 21:51:09 +01:00
Nav
b5df37ae9b Removed TargetProgramCounter type alias 2023-09-21 00:40:30 +01:00
Nav
611ad70d6b Renaming rangeSteppingEnabled GDB server config param to rangeStepping 2023-09-21 00:30:21 +01:00
Nav
d7b59cac59 Support for hardware breakpoints 2023-09-20 23:43:29 +01:00
Nav
df5a141089 Tidying 2023-09-20 23:29:58 +01:00
Nav
be5e89456c Fall back to single stepping if address range from GDB is less than one word. 2023-09-16 03:06:18 +01:00
Nav
4348a6d88c Corrected handling of empty address range in range step GDB command 2023-09-11 16:57:14 +01:00
Nav
008f5bb62e When range stepping, start with a single step, as expected by GDB 2023-09-11 16:56:37 +01:00
Nav
7d4ce1050f - Implemented support for range stepping with GDB (vCont... packets)
- Refactored some bits of the generic GDB server class, along with the AVR-specific implementation
2023-09-11 03:32:58 +01:00
Nav
5896306f1a Removed redundant 'Bloom' namespace from entire codebase 2023-08-13 15:47:51 +01:00
Nav
9f3761879a Used TC atomic session in GDB ReadRegisters handler, to prevent Insight causing delays in the GDB session. 2023-07-18 23:17:13 +01:00
Nav
ba03833325 Lots of tidying
- Removed generic `avr8` target
- Simplified AVR8 target construction
- Introduced register descriptor IDs
- Simplified GDB register mappings
- Simplified target interface contract
- Other bits of tidying
2023-07-18 23:16:06 +01:00
Nav
61d608989d Changed GDB "Handling..." logs to INFO level 2023-05-07 20:17:33 +01:00
Nav
2d934f7ea5 Removed breakpoint caching in GDB server - it's not needed!
GDB can be configured to avoid needlessly updating breakpoints on the target
2023-04-01 19:06:57 +01:00
Nav
3a74906541 Implemented support for breakpoint caching in the GDB server 2023-04-01 15:15:04 +01:00
Nav
f37f8f301a Corrected bad rebase 2023-02-27 00:08:01 +00:00
Nav
7aa1639df2 Tidying 2023-02-20 21:55:55 +00:00
Nav
d353b55f9b Renamed TargetControllerConsole to TargetControllerService 2023-02-20 21:55:55 +00:00
Nav
6b4d3ecb26 Moved toHex functions to String helper class 2023-01-21 13:37:56 +00:00
Nav
76a0207701 Added EraseTargetMemory TC command 2022-12-11 23:25:15 +00:00
Nav
deec72d168 Convert relative EEPROM addresses to absolute addresses in GDB memory access command packet handlers. 2022-12-11 15:26:14 +00:00
Nav
304e2ab7c6 Tidying 2022-12-08 21:26:56 +00:00
Nav
831021eb36 Adjusted GDB memory map to include EEPROM in ram section. Also added EEPROM offset to the AVR GDB target descriptor 2022-12-08 21:18:04 +00:00
Nav
b3fb3f0955 Lots of tidying 2022-12-03 22:16:21 +00:00
Nav
c299f282ca More tidying 2022-10-28 23:31:16 +01:00
Nav
fbe22b72ed Tidying 2022-10-25 21:28:16 +01:00
Nav
bc8206ccc7 Corrected missing header includes 2022-10-09 13:10:17 +01:00
Nav
065a389dfe Improved naming consistency of aliases 2022-10-01 21:01:37 +01:00
Nav
c7af236646 Tidied logs 2022-09-24 18:35:58 +01:00
Nav
4b7054070d Improved logging in FlashDone packet handler 2022-09-17 20:22:39 +01:00
Nav
0b54a1b590 Tidying 2022-09-17 20:16:23 +01:00
Nav
8e9d114343 Reset target after GDB programming session 2022-09-17 20:15:53 +01:00
Nav
18fb3b56ce Grouped the buffers from GDB's flash write packets so that we only flush once we have the full buffer.
This fixes an issue with GDB programming, where it was sending misaligned buffers and program memory
wasn't being properly updated.
2022-09-17 20:12:26 +01:00
Nav
46d8ce1854 Added TargetMemoryAddress, TargetMemorySize, TargetProgramCounter and TargetStackPointer aliases 2022-09-06 17:16:49 +01:00
Nav
2ae3786130 Removed MemoryAccessCommandPacket class and moved GDB memory offsets to GDB TargetDescriptor class 2022-08-30 02:04:40 +01:00
Nav
0521b1f986 Tidying 2022-06-05 17:01:14 +01:00
Nav
40b1183f6b Moved vFlashDone GDB command packet handelr to separate class 2022-06-05 16:15:12 +01:00
Nav
9b8d4f054b Enabled programming mode in response to GDB's vFlashErase and vFlashWrite packets 2022-06-05 16:14:14 +01:00