This commit is contained in:
Nav
2021-10-04 23:42:58 +01:00
parent 931b0b430c
commit 8bb19a0874
3 changed files with 14 additions and 8 deletions

View File

@@ -970,7 +970,7 @@ TargetMemoryBuffer EdbgAvr8Interface::readMemory(
* Split the read into numerous reads, whenever we encounter an excluded address. * Split the read into numerous reads, whenever we encounter an excluded address.
* *
* All values for bytes located at excluded addresses will be returned as 0x00 - this mirrors the behaviour * All values for bytes located at excluded addresses will be returned as 0x00 - this mirrors the behaviour
* of the masked read memory command. * of the masked read memory EDBG command.
*/ */
auto output = TargetMemoryBuffer(); auto output = TargetMemoryBuffer();
auto segmentStartAddress = address; auto segmentStartAddress = address;

View File

@@ -73,12 +73,13 @@ namespace Bloom::DebugToolDrivers::Protocols::CmsisDap::Edbg::Avr
Targets::Microchip::Avr::Avr8Bit::TargetParameters targetParameters; Targets::Microchip::Avr::Avr8Bit::TargetParameters targetParameters;
/** /**
* Some EDBG devices don't seem to operate correctly when actioning the masked memory read command. The data * Some EDBG devices don't seem to operate correctly when actioning the masked memory read EDBG command. The
* returned in response to the command appears to be completely incorrect. This appears to only occur with * data returned in response to the command appears to be completely incorrect. This appears to only occur
* the MPLAB Snap device. * with the MPLAB Snap device.
* *
* Setting this flag to true will mean we implement our own masked memory read, in this driver, as opposed to * Setting this flag to true will disable the EdbgAvr8Interface driver's use of the masked memory read command.
* employing the masked memory read command. * The driver will perform the masking itself, and then issue standard read memory commands. See the
* implementation of EdbgAvr8Interface::readMemory() for more.
*/ */
bool avoidMaskedMemoryRead = false; bool avoidMaskedMemoryRead = false;
@@ -461,6 +462,11 @@ namespace Bloom::DebugToolDrivers::Protocols::CmsisDap::Edbg::Avr
explicit EdbgAvr8Interface(EdbgInterface& edbgInterface) explicit EdbgAvr8Interface(EdbgInterface& edbgInterface)
: edbgInterface(edbgInterface) {}; : edbgInterface(edbgInterface) {};
/**
* Disables use of the masked read memory EDBG command. Masking will be performed at the driver-side.
*
* @param avoidMaskedMemoryRead
*/
void setAvoidMaskedMemoryRead(bool avoidMaskedMemoryRead) { void setAvoidMaskedMemoryRead(bool avoidMaskedMemoryRead) {
this->avoidMaskedMemoryRead = avoidMaskedMemoryRead; this->avoidMaskedMemoryRead = avoidMaskedMemoryRead;
} }

View File

@@ -1,8 +1,8 @@
#include "Application.hpp"
#include <string> #include <string>
#include <vector> #include <vector>
#include "Application.hpp"
using namespace Bloom; using namespace Bloom;
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {