diff --git a/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/CommandFrames/AvrCommandFrame.hpp b/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/CommandFrames/AvrCommandFrame.hpp index f94e326f..4618b334 100644 --- a/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/CommandFrames/AvrCommandFrame.hpp +++ b/src/DebugToolDrivers/Protocols/CMSIS-DAP/VendorSpecific/EDBG/AVR/CommandFrames/AvrCommandFrame.hpp @@ -81,7 +81,7 @@ namespace Bloom::DebugToolDrivers::Protocols::CmsisDap::Edbg::Avr * @return */ [[nodiscard]] auto getRawCommandFrame() const { - auto rawCommand = std::vector(5); + auto rawCommand = std::vector(5 + this->payload.size()); rawCommand[0] = 0x0E; // Start of frame rawCommand[1] = 0x00; // Protocol version @@ -92,11 +92,7 @@ namespace Bloom::DebugToolDrivers::Protocols::CmsisDap::Edbg::Avr rawCommand[4] = static_cast(this->protocolHandlerId); if (!this->payload.empty()) { - rawCommand.insert( - rawCommand.end(), - this->payload.begin(), - this->payload.end() - ); + std::copy(this->payload.begin(), this->payload.end(), rawCommand.begin() + 5); } return rawCommand;