diff --git a/src/DebugToolDrivers/WCH/WchLinkDebugInterface.cpp b/src/DebugToolDrivers/WCH/WchLinkDebugInterface.cpp index 34224d1e..60b6ea9a 100644 --- a/src/DebugToolDrivers/WCH/WchLinkDebugInterface.cpp +++ b/src/DebugToolDrivers/WCH/WchLinkDebugInterface.cpp @@ -57,9 +57,8 @@ namespace DebugToolDrivers::Wch this->targetConfig } ) - , mainProgramSegmentDescriptor( - this->targetDescriptionFile.getSystemAddressSpaceDescriptor().getMemorySegmentDescriptor("main_program") - ) + , sysAddressSpaceDescriptor(this->targetDescriptionFile.getSystemAddressSpaceDescriptor()) + , mainProgramSegmentDescriptor(this->sysAddressSpaceDescriptor.getMemorySegmentDescriptor("main_program")) , flashProgramOpcodes( WchLinkDebugInterface::getFlashProgramOpcodes( this->targetDescriptionFile.getProperty("wch_link_interface", "programming_opcode_key").value diff --git a/src/DebugToolDrivers/WCH/WchLinkDebugInterface.hpp b/src/DebugToolDrivers/WCH/WchLinkDebugInterface.hpp index b6af89c0..29e6244e 100644 --- a/src/DebugToolDrivers/WCH/WchLinkDebugInterface.hpp +++ b/src/DebugToolDrivers/WCH/WchLinkDebugInterface.hpp @@ -12,6 +12,8 @@ #include "src/DebugToolDrivers/Protocols/RiscVDebugSpec/DebugTranslator.hpp" #include "src/Targets/TargetMemory.hpp" +#include "src/Targets/TargetAddressSpaceDescriptor.hpp" +#include "src/Targets/TargetMemorySegmentDescriptor.hpp" #include "src/Targets/ProgramBreakpointRegistry.hpp" #include "src/Targets/RiscV/Wch/TargetDescriptionFile.hpp" @@ -89,6 +91,7 @@ namespace DebugToolDrivers::Wch Protocols::WchLink::WchLinkInterface& wchLinkInterface; DebugToolDrivers::Protocols::RiscVDebugSpec::DebugTranslator riscVTranslator; + const Targets::TargetAddressSpaceDescriptor sysAddressSpaceDescriptor; const Targets::TargetMemorySegmentDescriptor& mainProgramSegmentDescriptor; /**