This commit is contained in:
Nav
2024-12-16 21:38:09 +00:00
parent 9486cc0163
commit 36abea6ce1
3 changed files with 14 additions and 3 deletions

View File

@@ -11,7 +11,7 @@ namespace DebugServer::Gdb::RiscVGdb
RiscVGdbTargetDescriptor::RiscVGdbTargetDescriptor(const Targets::TargetDescriptor& targetDescriptor) RiscVGdbTargetDescriptor::RiscVGdbTargetDescriptor(const Targets::TargetDescriptor& targetDescriptor)
: systemAddressSpaceDescriptor(targetDescriptor.getAddressSpaceDescriptor("system")) : systemAddressSpaceDescriptor(targetDescriptor.getAddressSpaceDescriptor("system"))
, cpuAddressSpaceDescriptor(targetDescriptor.getAddressSpaceDescriptor("debug_module")) , cpuAddressSpaceDescriptor(targetDescriptor.getAddressSpaceDescriptor("csr"))
, programMemorySegmentDescriptor(this->systemAddressSpaceDescriptor.getMemorySegmentDescriptor("main_program")) , programMemorySegmentDescriptor(this->systemAddressSpaceDescriptor.getMemorySegmentDescriptor("main_program"))
, gpRegistersMemorySegmentDescriptor(this->cpuAddressSpaceDescriptor.getMemorySegmentDescriptor("gp_registers")) , gpRegistersMemorySegmentDescriptor(this->cpuAddressSpaceDescriptor.getMemorySegmentDescriptor("gp_registers"))
, cpuGpPeripheralDescriptor(targetDescriptor.getPeripheralDescriptor("cpu")) , cpuGpPeripheralDescriptor(targetDescriptor.getPeripheralDescriptor("cpu"))

View File

@@ -390,7 +390,7 @@ namespace Targets::RiscV
TargetAddressSpaceDescriptor RiscV::generateCpuRegisterAddressSpaceDescriptor() { TargetAddressSpaceDescriptor RiscV::generateCpuRegisterAddressSpaceDescriptor() {
auto addressSpace = TargetAddressSpaceDescriptor{ auto addressSpace = TargetAddressSpaceDescriptor{
"debug_module", "csr",
{0x0000, 0xFFFF}, {0x0000, 0xFFFF},
TargetMemoryEndianness::LITTLE, TargetMemoryEndianness::LITTLE,
{}, {},

View File

@@ -39,6 +39,17 @@ namespace Targets::RiscV::Wch
, flashStatusBootLockFieldDescriptor(this->flashStatusRegisterDescriptor.getBitFieldDescriptor("boot_lock")) , flashStatusBootLockFieldDescriptor(this->flashStatusRegisterDescriptor.getBitFieldDescriptor("boot_lock"))
, flashStatusBootModeFieldDescriptor(this->flashStatusRegisterDescriptor.getBitFieldDescriptor("boot_mode")) , 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( Logger::info(
"Selected program memory segment: \"" + this->selectedProgramSegmentDescriptor.name + "\" (\"" "Selected program memory segment: \"" + this->selectedProgramSegmentDescriptor.name + "\" (\""
+ this->selectedProgramSegmentDescriptor.key + "\")" + this->selectedProgramSegmentDescriptor.key + "\")"
@@ -50,7 +61,7 @@ namespace Targets::RiscV::Wch
) { ) {
Logger::warning( Logger::warning(
"A read-only boot segment has been selected as the program memory segment - all programming sessions" "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 // TODO: Add link to further documentation here
} }