Commit Graph

290 Commits

Author SHA1 Message Date
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
Nav
2b5756c5e2 Tidying 2023-02-20 21:54:28 +00:00
Nav
05832839f0 Output EDBG parameter values in debug logs 2023-01-21 13:54:40 +00:00
Nav
693abced8e Replaced overloaded casting of CMSIS-DAP Command with rawCommand member function 2023-01-20 22:53:04 +00:00
Nav
e6f53b1afd Tidying 2023-01-14 03:03:22 +00: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
5854b43816 Tidying 2022-12-18 19:28:57 +00:00
Nav
09fc5b73f2 Restricted the size of all memory access commands to ensure that no more than two packets are sent to and from EDBG debug tools 2022-12-18 19:25:40 +00:00
Nav
f64a14b04a Corrected memory type used for memory writes with the JTAG config variant, in the EDBG AVR8 driver 2022-12-18 19:23:58 +00:00
Nav
5fe50b1997 Increase CMSIS response timeout for EDBG debug tools 2022-12-18 19:22:47 +00:00
Nav
ad06cdcc75 Removed the requirement of the max memory access limit being greater than the target's flash page size.
It's no longer needed as we've stopped enforcing the limit for memory types that require page alignment.
2022-12-17 18:31:05 +00:00
Nav
3b137aa539 Removed max memory access check during address alignment (it's not needed). 2022-12-17 18:10:51 +00:00
Nav
d9d8b3f450 Tidying 2022-12-13 21:12:16 +00:00
Nav
d0969ea0a7 Disable batching memory reads for EEPROM_PAGE memory type, in EDBG driver 2022-12-13 21:11:56 +00:00
Nav
bf8d59644a Convert XMEGA addresses to relative form, in EDBG driver 2022-12-12 01:14:56 +00:00
Nav
91f8cbc931 Corrected value of APPICATION_BYTES XMEGA (PDI) device parameter in EDBG driver. Also added APP section start address extraction 2022-12-12 00:52:50 +00:00
Nav
151d10df72 Tidying 2022-12-12 00:05:01 +00:00
Nav
a792115781 Added sense-check in readMemory() in EDBG driver, to check if the EDBG debug tool actually returned data in response to memory read command 2022-12-11 23:38:23 +00:00
Nav
f0225dba88 Fixed bug (in EDBG driver) with writeMemory() forwarding an invalid memory type to readMemory() (EEPROM_ATOMIC can only be used for writing to memory, not reading) 2022-12-11 23:36:21 +00:00
Nav
131f1aa249 Added EEPROM_PAGE EDBG memory type and aligned both EEPROM_PAGE and EEPROM_ATOMIC memory types 2022-12-11 23:34:26 +00:00
Nav
a0421ce3ff Refactored EdbgAvr8Interface::eraseProgramMemory() to ensure that it will restore EEPROM data if necessary 2022-12-11 23:32:49 +00:00
Nav
190d734ca3 Tidying 2022-12-11 17:41:20 +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
304e2ab7c6 Tidying 2022-12-08 21:26:56 +00:00