Implemented memory access via program buffer, in RISC-V debug translator

- Support for multiple memory access strategies (abstract commands and program buffer)
- Probing of memory access strategies
- Included `preferredMemoryAccessStrategy` debug translator config param
- Other bits of tidying in the RISC-V debug translator
This commit is contained in:
Nav
2024-11-23 20:14:47 +00:00
parent e207440cd9
commit d8131080ec
18 changed files with 927 additions and 100 deletions

View File

@@ -4,6 +4,8 @@
#include <string_view>
#include <cstdint>
#include <vector>
#include <type_traits>
#include <utility>
namespace Services
{
@@ -26,6 +28,12 @@ namespace Services
static std::string toHex(const std::vector<unsigned char>& data);
static std::string toHex(const std::string& data);
template <typename Type>
requires std::is_enum_v<Type>
static std::string toHex(Type value) {
return StringService::toHex(static_cast<std::underlying_type_t<Type>>(value));
}
static std::string toBinaryStringWithMask(std::uint64_t value, std::uint64_t mask);
static std::vector<unsigned char> dataFromHex(const std::string& hexData);