Move away from using const references of std::vector<unsigned char> for target memory buffers. Replaced with std::span<const unsigned char> (via TargetMemoryBufferSpan alias)

This commit is contained in:
Nav
2024-11-16 21:49:49 +00:00
parent eebba986b5
commit 4147af618b
21 changed files with 39 additions and 33 deletions

View File

@@ -43,6 +43,7 @@ namespace DebugToolDrivers::Protocols::RiscVDebugSpec
using ::Targets::TargetMemoryAddressRange;
using ::Targets::TargetMemorySize;
using ::Targets::TargetMemoryBuffer;
using ::Targets::TargetMemoryBufferSpan;
using ::Targets::TargetStackPointer;
using ::Targets::TargetAddressSpaceDescriptor;
using ::Targets::TargetMemorySegmentDescriptor;
@@ -389,7 +390,7 @@ namespace DebugToolDrivers::Protocols::RiscVDebugSpec
const TargetAddressSpaceDescriptor& addressSpaceDescriptor,
const TargetMemorySegmentDescriptor& memorySegmentDescriptor,
TargetMemoryAddress startAddress,
const TargetMemoryBuffer& buffer
TargetMemoryBufferSpan buffer
) {
using DebugModule::Registers::MemoryAccessControlField;
@@ -799,7 +800,7 @@ namespace DebugToolDrivers::Protocols::RiscVDebugSpec
void DebugTranslator::writeMemoryViaAbstractCommand(
Targets::TargetMemoryAddress startAddress,
const TargetMemoryBuffer& buffer
Targets::TargetMemoryBufferSpan buffer
) {
using DebugModule::Registers::MemoryAccessControlField;
@@ -814,7 +815,7 @@ namespace DebugToolDrivers::Protocols::RiscVDebugSpec
.commandType = AbstractCommandRegister::CommandType::MEMORY_ACCESS
};
for (TargetMemoryAddress offset = 0; offset < buffer.size(); offset += 4) {
for (auto offset = TargetMemoryAddress{0}; offset < buffer.size(); offset += 4) {
this->dtmInterface.writeDebugModuleRegister(
RegisterAddress::ABSTRACT_DATA_0,
static_cast<RegisterValue>(

View File

@@ -84,7 +84,7 @@ namespace DebugToolDrivers::Protocols::RiscVDebugSpec
const Targets::TargetAddressSpaceDescriptor& addressSpaceDescriptor,
const Targets::TargetMemorySegmentDescriptor& memorySegmentDescriptor,
Targets::TargetMemoryAddress startAddress,
const Targets::TargetMemoryBuffer& buffer
Targets::TargetMemoryBufferSpan buffer
) override;
private:
@@ -146,7 +146,7 @@ namespace DebugToolDrivers::Protocols::RiscVDebugSpec
);
void writeMemoryViaAbstractCommand(
Targets::TargetMemoryAddress startAddress,
const Targets::TargetMemoryBuffer& buffer
Targets::TargetMemoryBufferSpan buffer
);
std::optional<std::reference_wrapper<const TriggerModule::TriggerDescriptor>> getAvailableTrigger();