Commit Graph

270 Commits

Author SHA1 Message Date
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
Nav
96a688df08 Added support for writing to EEPROM via EDBG AVR8 Generic driver 2022-12-08 21:14:40 +00:00
Nav
b3fb3f0955 Lots of tidying 2022-12-03 22:16:21 +00:00
Nav
f2d09641a1 Tidying 2022-11-16 23:51:07 +00:00
Nav
bc8206ccc7 Corrected missing header includes 2022-10-09 13:10:17 +01:00
Nav
15d9dbe5e4 Tidying 2022-10-02 15:29:30 +01: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
1bf0e97248 Replaced manual resource management of libusb_config_descriptor resource, with std::unique_ptr 2022-10-02 13:48:42 +01:00
Nav
afffaafc86 Fixed hard-coded configurationIndex value when setting USB configuration on a USB device 2022-10-02 13:28:27 +01:00
Nav
28cbeb6fc4 More tidying 2022-10-01 21:54:25 +01:00
Nav
9fb017c2de Renamed CMSIS commandId field to id 2022-10-01 21:02:10 +01:00
Nav
065a389dfe Improved naming consistency of aliases 2022-10-01 21:01:37 +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
2282967e0d Fixed intermittent 'illegal target state' error from EDBG debug tools, when issuing commands immediately after target reset. 2022-09-24 18:45:45 +01:00
Nav
0b54a1b590 Tidying 2022-09-17 20:16:23 +01:00
Nav
65bdcd62d3 Enforce flash page alignment for UPDI targets, when accessing flash 2022-09-17 19:55:55 +01:00
Nav
7d07a9cf6c Tidying 2022-09-06 17:17:43 +01:00
Nav
46d8ce1854 Added TargetMemoryAddress, TargetMemorySize, TargetProgramCounter and TargetStackPointer aliases 2022-09-06 17:16:49 +01:00
Nav
6c436cbefc Tidying 2022-08-27 17:56:55 +01:00
Nav
c7cd88e198 Tidying 2022-07-16 19:12:45 +01:00