Commit Graph

264 Commits

Author SHA1 Message Date
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
Nav
d7b59cac59 Support for hardware breakpoints 2023-09-20 23:43:29 +01:00
Nav
9a6e22e6c7 Corrected member initialisation order (addressing -Wreorder warnings) 2023-08-19 21:53:00 +01:00
Nav
c622c9bd2e Fixed missing includes which were resulting in failed builds with GCC 13+. Thanks to @jpf91 for reporting 2023-08-19 17:12:40 +01:00
Nav
5896306f1a Removed redundant 'Bloom' namespace from entire codebase 2023-08-13 15:47:51 +01:00
Nav
216a1357b7 Moved programming mode requirement for fuse programming into EDBG driver, as it is specific to that driver 2023-07-18 23:17:13 +01:00
Nav
1f90f21870 Refactored the preserveEeprom implementation to make use of the EESAVE fuse 2023-07-18 23:17:13 +01:00
Nav
f3f0b504f3 Removed fuse type restriction when extracting fuse bit descriptors from AVR8 TDFs 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
ab8693b1e0 Fixed bug where Bloom wasn't managing the DWEN fuse bit on some development boards. 2023-07-18 21:28:45 +01:00
Nav
efeb5ad48c Corrected "Unknown target family" error for new AVR EA targets. 2023-05-12 19:08:52 +01:00
Nav
5825b11d0b Added suggestion to check OCDEN fuse bit, in error message for DEVICE_NOT_UNDER_CONTROL error. 2023-05-08 13:24:45 +01:00
Nav
1f57ca3f21 Corrected bug with leaving programming mode on Snap and PICkit 4 debug tools 2023-05-08 02:44:03 +01:00
Nav
e5c78e7b3a Added preserveEeprom target param 2023-05-07 16:50:59 +01:00
Nav
6ae1ef1be2 OCDEN fuse bit management 2023-05-07 16:49:45 +01:00
Nav
adcca0079d Check if Microchip hybrid devices (Snap and PICkit 4) are not in AVR mode and report back to the user. 2023-05-07 16:44:15 +01:00
Nav
06b6c4460b Tidying 2023-04-01 12:42:46 +01:00
Nav
755d24da5c Tidying 2023-03-05 23:29:26 +00:00
Nav
f37f8f301a Corrected bad rebase 2023-02-27 00:08:01 +00:00
Nav
8fa7e82c56 Moved Paths helper functions to service class 2023-02-20 21:55:55 +00:00
Nav
de97e8d4e0 Tidying 2023-02-20 21:55:55 +00:00