Commit Graph

290 Commits

Author SHA1 Message Date
Nav
0118306e30 Refactored UsbInterface::writeBulk member function to use std::span instead of std::vector 2024-11-16 19:58:07 +00:00
Nav
a7ee6cbae2 Refactored page alignment code in EDBG and RISC-V debug translator driver 2024-11-16 19:55:34 +00:00
Nav
7662dec100 Tidying 2024-11-06 20:05:59 +00:00
Nav
285fc41c23 Corrected bug in EDBG driver memory access routines. It was incorrectly using the FUSES memory type when in debug mode (that memory type isn't available in debug mode, only program mode. Was causing a target reset). 2024-11-06 19:46:27 +00:00
Nav
623743995b Made the EDBG CMSIS-DAP command delay optional for all debug tools, and disabled it by default.
The command delay was really choking Bloom's EDBG driver, causing a very noticeable drag on Bloom's performance. It's much faster with the command delay disabled.
There was a good reason for why I introduced this some time ago. Without it, some EDBG debug tools were misbehaving - I remember that for certain. But now, I cannot seem to reproduce these issues. Very odd.
If the issues do reappear, I may have to enable the command delay by default, again, for some debug tools.
For now, if any users experience issues, I'll just suggest they manually enable the command delay via their project config.
Also, I'm not going to document this new config option, as I would prefer the user to approach me if they experience issues as a result of this, so that I'll know if it needs revisiting.
2024-10-27 00:26:06 +01:00
Nav
4160d4259a Corrected bug in EDBG driver, where we weren't waiting for a stopped event when we should have been 2024-10-27 00:02:00 +01:00
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