Nav
020d174a2d
Automatic switching form PIC mode to EDBG (AVR) mode, for MPLAB Snap and PICkit 4 tools.
2024-12-30 15:41:52 +00:00
Nav
ab49d10bef
Tidying
2024-12-29 04:03:07 +00:00
Nav
cbfbd9f4b8
Applied debug-interface-specific access restrictions for memory and registers
2024-12-07 16:43:16 +00:00
Nav
33ed399337
WCH RISC-V software breakpoints, and a few other bits of refactoring/tidying
2024-12-05 23:09:01 +00:00
Nav
9c1b194af1
Changed all bloom.yaml config keys/values to use snake_casing
2024-11-28 21:44:04 +00:00
Nav
a3ed513b84
Fixed bug in EDBG driver that was resulting in program memory corruption when flashing the target with software breakpoints installed
2024-11-17 18:18:44 +00:00
Nav
5908b74cc1
Ignore duplicate hardware breakpoint insertions
2024-11-17 18:17:27 +00:00
Nav
4147af618b
Move away from using const references of std::vector<unsigned char> for target memory buffers. Replaced with std::span<const unsigned char> (via TargetMemoryBufferSpan alias)
2024-11-16 21:49:49 +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
9c1385a048
Deleted TDF documentation (don't have the capacity to maintain it ATM)
2024-10-18 00:01:21 +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
084eef1a30
Moved wMaxPacketSize retrieval to Usb::UsbDevice class.
...
And some other bits of tidying
2023-12-02 19:31:26 +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
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
5896306f1a
Removed redundant 'Bloom' namespace from entire codebase
2023-08-13 15:47:51 +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
1f57ca3f21
Corrected bug with leaving programming mode on Snap and PICkit 4 debug tools
2023-05-08 02:44:03 +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
dfaac9e30f
Extract HID report size for EDBG debug tools via HID endpoint descriptor.
...
Removed hidapi bodge (where we were mimicking the hid_device_ struct, to
obtain the report size via `(hid_device_*)->input_ep_max_packet_size`).
2023-01-14 03:03:10 +00:00
Nav
b2fc7f4953
Corrected bug with XplainedPro debug tool driver adjusting max memory access size in the wrong place
2022-12-11 13:20:41 +00:00
Nav
13cf4eb3a4
Restored memory access soft limit for Xplained Pro debug tool (this got lost in the refactor I did a few weeks/months back)
2022-12-08 21:34:46 +00:00
Nav
f2d09641a1
Tidying
2022-11-16 23:51:07 +00:00
Nav
0d4216fd8f
Moved most of the EDBG device code to an abstract base class, to reduce code duplication
2022-10-02 15:29:17 +01:00
Nav
2c6fd25ae4
Tidying EDBG driver code:
...
- Binned a lot of pointless code
- Simplified many EDBG data structure implementations
- Const-correctness
- Many other bits of tidying
2022-10-01 20:46:56 +01:00
Nav
a5b0097036
Tidying low-level debug tool driver code:
...
- Use automatic objects for libusb/hidapi resources, where possible (to reduce manual resource management)
- Removed unused/redundant code
- Tidied HidInterface class
- Tidied debug tool initialisation code
- Other bits of tidying
2022-10-01 16:50:57 +01:00
Nav
4956920432
Debug tool driver for the JTAGICE3
2022-05-04 20:06:56 +01:00
Nav
ed5188a2ef
EDBG target power management interface for Curiosity Nano debug tool
2022-03-16 17:39:08 +00:00
Nav
c5c622b59d
EDBG target power management interface for Xplained Pro debug tool
2022-03-16 17:38:58 +00:00
Nav
78b96ed277
EDBG target power management interface for Xplained Nano debug tool
2022-03-16 17:38:52 +00:00
Nav
55013dfc4a
Target power mangement interface for the Xplained Mini evaluation board
2022-03-16 17:14:47 +00:00
Nav
2f031b91a4
Added new EDBG ISP implementation to Power Debugger debug tool
2022-03-09 21:55:34 +00:00
Nav
fbccef6dde
Added new EDBG ISP implementation to MPLAB PICkit4 debug tool
2022-03-09 21:55:17 +00:00
Nav
37968584d1
Added new EDBG ISP implementation to Curiosity Nano debug tool
2022-03-09 21:54:58 +00:00
Nav
5e7c518b33
Added new EDBG ISP implementation to Xplained Mini debug tool
2022-03-08 20:45:22 +00:00