Commit Graph

284 Commits

Author SHA1 Message Date
Nav
72d0c28d08 Fixed bug in assertion in RISC-V debug translator 2024-10-20 00:44:09 +01:00
Nav
a65be393be Tidying 2024-10-19 23:11:22 +01:00
Nav
9b1489fbf2 Removed WchLinkVariant::UNKNOWN 2024-10-19 14:22:51 +01:00
Nav
00d6f5fb71 Corrected bug in RISC-V debug translator where a reset wasn't always keeping the target halted 2024-10-19 14:22:12 +01:00
Nav
9c1385a048 Deleted TDF documentation (don't have the capacity to maintain it ATM) 2024-10-18 00:01:21 +01:00
Nav
348ec19c1b Tidying RISC-V register structs
- Removed unnecessary bit fields
- Added default values to members
- Removed all user-defined constructors to make the structs aggregate, replacing the from-value constructor with a `fromValue()` status member function.
- Made use of designated initialisation
- Changed unscoped enums to scoped
- Other small bits of tidying
2024-10-16 21:22:16 +01:00
Nav
17b90e3c08 Tidying 2024-10-12 23:37:13 +01:00
Nav
9e4d10ae91 Tidying 2024-10-07 20:03:19 +01:00
Nav
248c51acc8 Renamed RiscVDebugInterface::clearAllBreakpoints() in preparation for separating HW breakpoints from SW breakpoints. 2024-10-07 20:02:39 +01:00
Nav
418db1df99 Added config struct for RISC-V debug translator implementation, and WCH debug tools.
Also some tidying in the `DebugToolConfig` struct
2024-10-06 23:32:36 +01:00
Nav
d71083c3f9 Tidying 2024-10-06 18:10:02 +01:00
Nav
6c67424af9 On RISC-V activation, clear any triggers that were left over from a previous debug session 2024-10-06 18:06:58 +01:00
Nav
ecd0f5b054 First pass at RISC-V hardware breakpoints (Trigger module) 2024-10-06 17:54:08 +01:00
Nav
9daa53ed45 Retry DMI operations when BUSY status returned in WCH-Link driver 2024-09-04 00:18:42 +01:00
Nav
ecf0bd8919 Added try member functions for RISC-V abstract commands and register access 2024-09-04 00:15:46 +01:00
Nav
2a01f727bf Tidying RISC-V register structs 2024-09-04 00:13:55 +01:00
Nav
001c9b37c1 Corrected WCH-Link min response size check 2024-08-31 01:53:32 +01:00
Nav
914153077e Corrected memory address/size alignment in EDBG and RISC-V drivers 2024-08-30 19:59:59 +01:00
Nav
2f6238e360 Tidying 2024-08-17 12:44:01 +01:00
Nav
8f7c3bc1be Added postInit() function to debug tool interface, for outputting any debug-tool-specific info after initialisation.
Removed `getFirmwareVersionString()` function
2024-07-23 21:44:15 +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
4e837218e5 Corrected use of destroyed objects in EDBG param constructors 2024-06-02 21:33:54 +01:00
Nav
ee20507c2e Corrected debugWire and JTAG HIGH byte parameter values
Additional checks in TDF validation to ensure that the IO memory segment offset has been applied to the relevant registers
2024-06-02 21:29:57 +01:00
Nav
ed54b0e726 Tidying 2024-03-29 16:31:14 +00:00
Nav
779a5ad151 Corrected EEARL/H register address extraction from AVR8 TDFs.
Some other bits of tidying
2024-03-29 16:16:35 +00:00
Nav
b9d537e924 Created EdbgAvr8Session struct and moved EDBG target info to it 2024-03-28 21:10:08 +00:00
Nav
3c8efa60a6 Added EDBG parameter structs with TDF-based initialisation 2024-03-25 18:59:15 +00:00
Nav
75d5124265 Moved TargetRegisterDescriptor struct to separate file 2024-03-09 17:16:29 +00:00
Nav
7e9e28286f Made physical interface enum more generic (moved out of AVR8-specific context) 2024-02-15 21:25:12 +00:00
Nav
cc33eea712 RISC-V target ID verification upon activation 2023-12-17 18:43:16 +00:00
Nav
7630baf51b Implemented RiscVProgramInterface in WchLinkInterface 2023-12-09 18:22:32 +00:00
Nav
f4b30dbdf6 Added RiscVProgramInterface for RISC-V debug tools that are unable to program RISC-V targets via the debug interface 2023-12-08 23:04:04 +00:00
Nav
084eef1a30 Moved wMaxPacketSize retrieval to Usb::UsbDevice class.
And some other bits of tidying
2023-12-02 19:31:26 +00:00
Nav
d6b216d51e Send "end process" command to detach from target, upon deactivaition of WCH-Link debug tools 2023-11-26 00:41:45 +00:00
Nav
ba32e9baf9 Tidying 2023-11-23 17:53:50 +00:00
Nav
f3e9796772 Tidying 2023-11-22 00:38:49 +00:00
Nav
42bcac6f12 Tidying 2023-11-21 22:04:34 +00:00
Nav
9e223f9f9f Updated DebugTool interface and implemented getRiscVDebugInterface() for WCH-Link debug tools 2023-11-21 22:04:27 +00:00
Nav
826da3e921 Initial pass at a RiscVDebugInterface and implementation (for WCH-Link debug tools) 2023-11-21 21:40:40 +00:00
Nav
516892f7eb Added Microchip namespace to EDBG debug tool classes 2023-11-18 23:50:42 +00:00
Nav
1600888624 Extract debug tool firmware version at startup 2023-11-18 23:15:11 +00:00
Nav
221d931add Began implementation of WCH-Link protocol, for the WCH-LinkE debug tool.
Foundations have been laid.
2023-11-18 22:58:48 +00:00
Nav
210552de4f Tidying 2023-11-18 22:53:20 +00:00
Nav
68f1ba35ff Added UsbInterface class to access non-HID USB interfaces 2023-11-18 22:53:06 +00:00
Nav
e271590f70 Implemented USB device serial number extraction via USB device descriptor 2023-11-18 15:03:50 +00:00
Nav
55d3fe76e0 Moved EDBG protocol code to more appropriate directory.
Updated necessary namespaces.
Other bits of tidying.
2023-11-17 22:20:39 +00:00
Nav
46bbf9cb31 Fixed seg fault bug when clearing HW breakpoints in EDBG driver 2023-09-22 20:52:17 +01:00
Nav
9698d83cb4 Clear HW breakpoints upon entering programming mode in EDBG driver 2023-09-22 20:51:59 +01:00
Nav
b3d03f73ac Clear hardware breakpoints in clearAllBreakpoints() (EDBG AVR8 driver) 2023-09-21 01:10:35 +01:00
Nav
b5df37ae9b Removed TargetProgramCounter type alias 2023-09-21 00:40:30 +01:00