#include "DebugTranslatorConfig.hpp" #include #include #include "src/Logger/Logger.hpp" namespace DebugToolDrivers::Protocols::RiscVDebugSpec { DebugTranslatorConfig::DebugTranslatorConfig(const YAML::Node& configNode) { if (configNode["targetResponseTimeout"]) { this->targetResponseTimeout = std::chrono::microseconds{ configNode["targetResponseTimeout"].as(this->targetResponseTimeout.count()) }; } if (configNode["preferredMemoryAccessStrategy"]) { const auto strategy = configNode["preferredMemoryAccessStrategy"].as(); if (strategy == "abstract-command") { this->preferredMemoryAccessStrategy = DebugModule::MemoryAccessStrategy::ABSTRACT_COMMAND; } else if (strategy == "program-buffer") { this->preferredMemoryAccessStrategy = DebugModule::MemoryAccessStrategy::PROGRAM_BUFFER; } else { Logger::error( "Invalid value (\"" + strategy + "\") provided for RISC-V debug translator config parameter " "('preferredMemoryAccessStrategy'). Parameter will be ignored." ); } } } }