Commit Graph

198 Commits

Author SHA1 Message Date
Nav
9c1b194af1 Changed all bloom.yaml config keys/values to use snake_casing 2024-11-28 21:44:04 +00:00
Nav
899cbc92c4 Made default value of reserveSteppingBreakpoint target config param vary across targets 2024-11-24 19:33:28 +00:00
Nav
c14aab0fc4 Fixed dangling reference bug that was resulting in invalid mapped_io segment in EDBG session object. 2024-11-17 13:13:15 +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
9cfc171255 Added description member to TargetPeripheralDescriptor 2024-10-08 21:26:03 +01:00
Nav
d71083c3f9 Tidying 2024-10-06 18:10:02 +01:00
Nav
7fc1145d4b Moved reserveSteppingBreakpoint AVR8 config param to more generic TargetConfig struct 2024-10-06 17:09:06 +01:00
Nav
4f9bb0ac3e Target variant keys 2024-08-19 19:43:02 +01:00
Nav
2f6238e360 Tidying 2024-08-17 12:44:01 +01:00
Nav
c662e946ca Updated application to code to accomodate changes to TDF format (new pad elements and changes to variant elements) 2024-08-16 23:02:35 +01:00
Nav
3f88e2022c Refactored descriptor ID generation and added IDs to peripherals, register groups and registers 2024-07-25 19:03:26 +01:00
Nav
dd80c254a2 Added postActivate() to the target interface, for outputting any target specific info after activation.
Removed the logging of the generic target ID from the TargetController
2024-07-23 21:36:07 +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
b9d537e924 Created EdbgAvr8Session struct and moved EDBG target info to it 2024-03-28 21:10:08 +00:00
Nav
ab19fc5a45 Moved AVR8 TDF class 2024-03-25 19:21:36 +00:00
Nav
289d1cd3b4 Moved memory segment types to Target scope 2024-03-14 21:48:55 +00:00
Nav
75d5124265 Moved TargetRegisterDescriptor struct to separate file 2024-03-09 17:16:29 +00:00
Nav
1de011f948 Correcting outdated comment and some tidying 2024-03-02 02:00:43 +00:00
Nav
a09de592f4 Tidying 2024-02-15 21:25:32 +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
66cbd89051 - Refactored AVR8 constructor, moving TDF construction to the TargetControllerComponent
- The `TargetControllerComponent` now resolves the target via the new generated mapping approach
- Added `TargetDescriptionFile` derived class
- Removed obsolete JSON map processing code
- Other bits of refactoring and tidying
2023-12-17 18:40:52 +00:00
Nav
b5587d1e3c Added target family attribute to AVR8 TDFs and renamed AVR family attribute to avr-family 2023-12-13 00:50:10 +00:00
Nav
41a6e0bbbd Tidying 2023-12-12 23:25:29 +00:00
Nav
7924478145 Tidying TDF processing in preparation for RISC-V accomodation 2023-12-10 13:04:05 +00:00
Nav
2fc639fb14 Tidying 2023-11-25 07:44:50 +00:00
Nav
d3c7cddb82 Added TargetFamily to TargetDescriptor and comparability check in AVR GDB debug server 2023-11-22 00:37:29 +00:00
Nav
ad2c709374 Corrected seg fault when deactivating an AVR8 target in the absence of an AVR8 debug interface. 2023-11-18 14:50:54 +00:00
Nav
9904d93314 Support for reserved hardware breakpoint (for stepping on AVR8 targets) 2023-09-23 21:50:04 +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
ea33faf535 Tidying 2023-09-14 21:16:03 +01:00
Nav
c80984021b Added 0xFFFF opcode as some AVRs treat it as an SBRS instruction.
Also some tidying
2023-09-14 21:10:57 +01:00
Nav
667b0327e8 Tidying 2023-09-10 18:33:23 +01:00
Nav
3203635397 Added AVR8 instruction mnemonic enum 2023-09-10 13:59:42 +01:00
Nav
20cbf14809 AVR8 opcode decoder 2023-09-10 01:18:53 +01:00
Nav
47f9ce0415 Tidying 2023-09-07 23:21:36 +01:00
Nav
e6cafdb3cf Adjusted TDF mapping to use paths relative to the resources directory 2023-08-20 15:34:44 +01:00
Nav
9a6e22e6c7 Corrected member initialisation order (addressing -Wreorder warnings) 2023-08-19 21:53:00 +01:00
Nav
5896306f1a Removed redundant 'Bloom' namespace from entire codebase 2023-08-13 15:47:51 +01:00
Nav
f3b64beaff Added warning when RE EEPROM data being lost when preserveEeprom is disabled 2023-07-18 23:17:13 +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
b4ec41c34a Added additional check for the "NVM_FUSES" module, when locating fuses in AVR8 TDFs.
Also some tidying of peripheral register address offset extraction.
2023-07-18 23:17:13 +01:00
Nav
264cd83048 Corrected premature DWEN fuse bit management warning (regression from previous refactor) 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
6aca0731b2 Extract EESAVE fuse bit descriptor from AVR8 TDF 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
df51da4479 Added AVR8 fuse enable strategy 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
efeb5ad48c Corrected "Unknown target family" error for new AVR EA targets. 2023-05-12 19:08:52 +01:00
Nav
c88dc35e4b Included target ID verification in OCDEN fuse bit management 2023-05-08 13:04:26 +01:00