Commit Graph

290 Commits

Author SHA1 Message Date
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
Nav
fbf141c7ef Fixed bug with some debug tools (PICkit4 and Snap) losing control of the target after disabling programming mdoe 2022-06-05 21:04:08 +01:00
Nav
ec987d430e Removed unnecessary flash page alignment for UPDI flash access 2022-06-05 21:03:28 +01:00
Nav
fae36d89b1 Corrected flash memory access types used for JTAG sessions 2022-06-05 17:49:05 +01:00
Nav
c51e6ee28b Increased timeout for waiting for CMSIS responses 2022-06-05 17:48:30 +01:00
Nav
b3af06654c Tidying 2022-06-04 15:20:37 +01:00
Nav
e8b39122ad Using FLASH_PAGE memory type in the AVR8 EDBG driver, for flash memory access in UPDI targets 2022-06-04 15:20:02 +01:00
Nav
8061a349fc Perform an entire chip erase for UPDI targets, in preparation for programming 2022-06-04 15:18:53 +01:00
Nav
1c92a02950 Added eraseProgramMemorySection() function to Avr8 debug interface - to erase XMEGA program memory sections when necessary 2022-06-03 15:49:12 +01:00
Nav
94b7130dbb Added BOOT_FLASH memory type in AVR8 EDBG driver 2022-06-03 15:45:43 +01:00
Nav
df0328cef7 Tidying 2022-06-03 01:45:19 +01:00
Nav
87b31d6f11 Included MCU module base address device parameters sent to EDBG tools, for XMEGA targets 2022-06-02 23:05:38 +01:00
Nav
4ab836f158 Renamed nvmBaseAddress to nvmModuleBaseAddress 2022-06-02 23:00:27 +01:00
Nav
5eabf145c2 Erasing XMEGA application section upon entering programming mode 2022-06-02 22:24:37 +01:00
Nav
86bb3aead1 Aligning and paging flash memory access on XMEGA targets, in the EDBG driver - resolves a number of bugs and removes the concern of exceeding restrictions enforced by the EDBG tool. 2022-06-02 22:21:55 +01:00
Nav
dd204742d3 Renamed Linux to GNU/Linux and other tidying 2022-06-01 21:48:27 +01:00
Nav
ec9068ba42 Fixed typo causing invalid AVR CMSIS command packet sizes 2022-06-01 21:47:06 +01:00
Nav
d65e8cf89f Fixed AVR CMSIS command packet splitting bug 2022-06-01 21:46:20 +01:00
Nav
ce33ecba99 Added word alignment for flash memory access in UPDI sessions 2022-05-28 13:44:10 +01:00
Nav
ae3f83dce7 Corrected EdbgAvr8Interface readMemory() alignment bug 2022-05-28 13:29:08 +01:00
Nav
abfd47dc9c Tidying 2022-05-23 23:50:10 +01:00
Nav
33da17e393 Added support for flash memory writes in EdbgAvr8Interface 2022-05-23 23:49:49 +01:00
Nav
046eefb6e4 AVR8 EDBG memory types for programming mode 2022-05-23 23:48:44 +01:00
Nav
644724a529 Tidying 2022-05-17 19:51:13 +01:00
Nav
514355fbbb Moved flash memory address & byte alignment into separate functions in EdbgAvr8Interface 2022-05-17 19:51:00 +01:00
Nav
aefe3dd7e8 Added programmingModeEnabled flag to EdbgAvr8Interface 2022-05-17 19:45:56 +01:00
Nav
0808303311 Moved EdbgAvr8Interface static inline functions to source file 2022-05-17 19:45:30 +01:00
Nav
89e81129fe Implemented programming mode functions in EdbgAvr8Interface implementation 2022-05-15 17:40:56 +01:00
Nav
a582a963a8 Added programming mode functions in Avr8DebugInterface 2022-05-15 17:40:15 +01:00
Nav
39d2bb7c5a Enabled flash paging for SPM AVR8 EDBG memory type 2022-05-14 22:37:47 +01:00
Nav
158a32a259 Fixed bug where we were incorrectly offsetting flash reads (see https://github.com/navnavnav/Bloom/issues/40) 2022-05-14 22:36:19 +01:00