Commit Graph

97 Commits

Author SHA1 Message Date
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
282086eaa2 Tidied exceptions 2024-11-23 21:09:33 +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
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
17b90e3c08 Tidying 2024-10-12 23:37:13 +01:00
Nav
52171734d8 New WchRiscV target class 2024-10-12 23:16:16 +01:00
Nav
607a344107 Made TargetMemoryCache use TargetMemorySegmentDescriptor, as the base memory descriptor (instead of TargetMemoryAddressSpaceDescriptor).
Basing the memory cache on address spaces will result in large amounts of memory being unnecessarily reserved for large address spaces.
2024-10-07 00:14:39 +01:00
Nav
418db1df99 Added config struct for RISC-V debug translator implementation, and WCH debug tools.
Also some tidying in the `DebugToolConfig` struct
2024-10-06 23:32:36 +01:00
Nav
5cc53d7f69 Tidying 2024-10-04 23:46:08 +01:00
Nav
df06757124 Activate target before calling Target::targetDescriptor() 2024-09-07 13:07:40 +01:00
Nav
12ff66aa8a Fixed bug with TC providing incorrect previous target execution state upon stopping target execution 2024-08-19 19:40:29 +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
c9dd987643 Tidying 2024-07-25 19:04:13 +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
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
ab19fc5a45 Moved AVR8 TDF class 2024-03-25 19:21:36 +00:00
Nav
95dd0e0119 Added missing include 2024-03-16 00:07:55 +00:00
Nav
4aa8ed30de - Renamed build script for brief target descriptor generation
- Created new TargetService class
- Moved brief target descriptor mapping to new TargetService class
- Replaced CMake custom commands with custom targets, for TDF validation and brief target descriptor generation build scripts
- Moved BriefTargetDescriptor into separate header file
2024-03-02 01:59:55 +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
776ce3c44d Tidying 2023-11-23 13:53:12 +00:00
Nav
f3e9796772 Tidying 2023-11-22 00:38:49 +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
221d931add Began implementation of WCH-Link protocol, for the WCH-LinkE debug tool.
Foundations have been laid.
2023-11-18 22:58:48 +00:00
Nav
210552de4f Tidying 2023-11-18 22:53:20 +00:00
Nav
9904d93314 Support for reserved hardware breakpoint (for stepping on AVR8 targets) 2023-09-23 21:50:04 +01:00
Nav
c3d13647fa Restore breakpoints upon leaving programming mode 2023-09-22 20:55:00 +01:00
Nav
fdb6dc006d Bypass cache flag in ReadMemory TC command 2023-09-22 18:21:26 +01:00
Nav
b38872e837 Program memory cache 2023-09-22 17:52:28 +01:00
Nav
d7b59cac59 Support for hardware breakpoints 2023-09-20 23:43:29 +01:00
Nav
df5a141089 Tidying 2023-09-20 23:29:58 +01:00
Nav
5896306f1a Removed redundant 'Bloom' namespace from entire codebase 2023-08-13 15:47:51 +01:00
Nav
edcf62e67d Tidying 2023-07-18 23:17:13 +01:00
Nav
80cf6930cc Refactored template class for synchronised resources 2023-07-18 23:17:13 +01:00
Nav
30936fe0a2 Added atomic sessions in TC 2023-07-18 23:17:13 +01:00
Nav
142f844f83 New TC shutdown command 2023-07-18 23:17:13 +01:00
Nav
9734ba88e1 Removed TC suspension 2023-07-18 23:17:13 +01:00
Nav
4485ee0961 Used std::atomic for ThreadState 2023-07-18 23:17:13 +01:00
Nav
3540228f6d Shut down on device failure (instead of suspending) 2023-07-18 23:17:13 +01:00
Nav
8e3f56b348 Removed releasePostDebugSession debug tool config param. 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
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
56ea97369d Preparation for support for the GDB vCont command packet
Also fixed a bug in the `StepExecution` and `ContinueExecution` constructors, where the from address wasn't being extracted properly
2023-04-01 12:37:59 +01: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
4c25c85c36 Moved Process helper functions to service class 2023-02-20 21:55:55 +00:00
Nav
d6cd5da1b8 Binned udev rule check in TargetController 2023-01-18 00:41:23 +00:00
Nav
a1defa02c0 Pass the TargetDescriptor by const-reference where we can 2022-12-17 14:41:52 +00:00