From 36abea6ce181dbaf1067dd624a9ffde56f13bc02 Mon Sep 17 00:00:00 2001 From: Nav Date: Mon, 16 Dec 2024 21:38:09 +0000 Subject: [PATCH] Tidying --- .../Gdb/RiscVGdb/RiscVGdbTargetDescriptor.cpp | 2 +- src/Targets/RiscV/RiscV.cpp | 2 +- src/Targets/RiscV/Wch/WchRiscV.cpp | 13 ++++++++++++- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/src/DebugServer/Gdb/RiscVGdb/RiscVGdbTargetDescriptor.cpp b/src/DebugServer/Gdb/RiscVGdb/RiscVGdbTargetDescriptor.cpp index 4e4ab5e4..ce0ee5eb 100644 --- a/src/DebugServer/Gdb/RiscVGdb/RiscVGdbTargetDescriptor.cpp +++ b/src/DebugServer/Gdb/RiscVGdb/RiscVGdbTargetDescriptor.cpp @@ -11,7 +11,7 @@ namespace DebugServer::Gdb::RiscVGdb RiscVGdbTargetDescriptor::RiscVGdbTargetDescriptor(const Targets::TargetDescriptor& targetDescriptor) : systemAddressSpaceDescriptor(targetDescriptor.getAddressSpaceDescriptor("system")) - , cpuAddressSpaceDescriptor(targetDescriptor.getAddressSpaceDescriptor("debug_module")) + , cpuAddressSpaceDescriptor(targetDescriptor.getAddressSpaceDescriptor("csr")) , programMemorySegmentDescriptor(this->systemAddressSpaceDescriptor.getMemorySegmentDescriptor("main_program")) , gpRegistersMemorySegmentDescriptor(this->cpuAddressSpaceDescriptor.getMemorySegmentDescriptor("gp_registers")) , cpuGpPeripheralDescriptor(targetDescriptor.getPeripheralDescriptor("cpu")) diff --git a/src/Targets/RiscV/RiscV.cpp b/src/Targets/RiscV/RiscV.cpp index cc1f7a8d..5310faf5 100644 --- a/src/Targets/RiscV/RiscV.cpp +++ b/src/Targets/RiscV/RiscV.cpp @@ -390,7 +390,7 @@ namespace Targets::RiscV TargetAddressSpaceDescriptor RiscV::generateCpuRegisterAddressSpaceDescriptor() { auto addressSpace = TargetAddressSpaceDescriptor{ - "debug_module", + "csr", {0x0000, 0xFFFF}, TargetMemoryEndianness::LITTLE, {}, diff --git a/src/Targets/RiscV/Wch/WchRiscV.cpp b/src/Targets/RiscV/Wch/WchRiscV.cpp index fc58f739..f2feef52 100644 --- a/src/Targets/RiscV/Wch/WchRiscV.cpp +++ b/src/Targets/RiscV/Wch/WchRiscV.cpp @@ -39,6 +39,17 @@ namespace Targets::RiscV::Wch , flashStatusBootLockFieldDescriptor(this->flashStatusRegisterDescriptor.getBitFieldDescriptor("boot_lock")) , flashStatusBootModeFieldDescriptor(this->flashStatusRegisterDescriptor.getBitFieldDescriptor("boot_mode")) { + if ( + this->targetConfig.programSegmentKey.has_value() + && *(this->targetConfig.programSegmentKey) != this->bootProgramSegmentDescriptor.key + && *(this->targetConfig.programSegmentKey) != this->mainProgramSegmentDescriptor.key + ) { + Logger::error( + "Invalid program_segment_key parameter value (\"" + *(this->targetConfig.programSegmentKey) + + "\") - parameter will be ignored" + ); + } + Logger::info( "Selected program memory segment: \"" + this->selectedProgramSegmentDescriptor.name + "\" (\"" + this->selectedProgramSegmentDescriptor.key + "\")" @@ -50,7 +61,7 @@ namespace Targets::RiscV::Wch ) { Logger::warning( "A read-only boot segment has been selected as the program memory segment - all programming sessions" - " will fail. This WCH target does not support storing custom bootloaders in this boot segment." + " will fail. This WCH target does not support storing custom bootloaders in the boot segment." ); // TODO: Add link to further documentation here }