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:
@@ -10,7 +10,7 @@ namespace DebugToolDrivers::Microchip::Protocols::Edbg::Avr::CommandFrames::Avr8
|
||||
class WriteMemory: public Avr8GenericCommandFrame<std::vector<unsigned char>>
|
||||
{
|
||||
public:
|
||||
WriteMemory(const Avr8MemoryType& type, std::uint32_t address, const Targets::TargetMemoryBuffer& buffer)
|
||||
WriteMemory(const Avr8MemoryType& type, std::uint32_t address, Targets::TargetMemoryBufferSpan buffer)
|
||||
: Avr8GenericCommandFrame()
|
||||
{
|
||||
/*
|
||||
|
||||
@@ -745,7 +745,7 @@ namespace DebugToolDrivers::Microchip::Protocols::Edbg::Avr
|
||||
const Targets::TargetAddressSpaceDescriptor& addressSpaceDescriptor,
|
||||
const Targets::TargetMemorySegmentDescriptor& memorySegmentDescriptor,
|
||||
TargetMemoryAddress startAddress,
|
||||
const TargetMemoryBuffer& buffer
|
||||
Targets::TargetMemoryBufferSpan buffer
|
||||
) {
|
||||
if (memorySegmentDescriptor.type == TargetMemorySegmentType::FLASH) {
|
||||
if (this->session.configVariant == Avr8ConfigVariant::XMEGA) {
|
||||
@@ -1484,7 +1484,7 @@ namespace DebugToolDrivers::Microchip::Protocols::Edbg::Avr
|
||||
void EdbgAvr8Interface::writeMemory(
|
||||
Avr8MemoryType type,
|
||||
TargetMemoryAddress startAddress,
|
||||
const TargetMemoryBuffer& buffer
|
||||
Targets::TargetMemoryBufferSpan buffer
|
||||
) {
|
||||
if (type == Avr8MemoryType::FUSES && this->session.configVariant == Avr8ConfigVariant::DEBUG_WIRE) {
|
||||
throw Exception{"Cannot access AVR fuses via the debugWIRE interface"};
|
||||
@@ -1548,7 +1548,7 @@ namespace DebugToolDrivers::Microchip::Protocols::Edbg::Avr
|
||||
this->writeMemory(
|
||||
type,
|
||||
startAddress + bytesWritten,
|
||||
TargetMemoryBuffer{buffer.begin() + bytesWritten, buffer.begin() + bytesWritten + chunkSize}
|
||||
buffer.subspan(bytesWritten, chunkSize)
|
||||
);
|
||||
|
||||
bytesWritten += chunkSize;
|
||||
|
||||
@@ -259,7 +259,7 @@ namespace DebugToolDrivers::Microchip::Protocols::Edbg::Avr
|
||||
const Targets::TargetAddressSpaceDescriptor& addressSpaceDescriptor,
|
||||
const Targets::TargetMemorySegmentDescriptor& memorySegmentDescriptor,
|
||||
Targets::TargetMemoryAddress startAddress,
|
||||
const Targets::TargetMemoryBuffer& buffer
|
||||
Targets::TargetMemoryBufferSpan buffer
|
||||
) override;
|
||||
|
||||
/**
|
||||
@@ -546,7 +546,11 @@ namespace DebugToolDrivers::Microchip::Protocols::Edbg::Avr
|
||||
* @param address
|
||||
* @param buffer
|
||||
*/
|
||||
void writeMemory(Avr8MemoryType type, Targets::TargetMemoryAddress address, const Targets::TargetMemoryBuffer& buffer);
|
||||
void writeMemory(
|
||||
Avr8MemoryType type,
|
||||
Targets::TargetMemoryAddress address,
|
||||
Targets::TargetMemoryBufferSpan buffer
|
||||
);
|
||||
|
||||
/**
|
||||
* Fetches the current target state.
|
||||
|
||||
Reference in New Issue
Block a user