This commit is contained in:
Nav
2021-11-22 23:16:05 +00:00
parent 0d2393e4e0
commit bd12096222
2 changed files with 12 additions and 9 deletions

View File

@@ -36,7 +36,7 @@ void XplainedPro::init() {
* size of the read request, despite the fact that the HID report size is 512 bytes. The debug tool doesn't * size of the read request, despite the fact that the HID report size is 512 bytes. The debug tool doesn't
* report any error, it just returns incorrect data. * report any error, it just returns incorrect data.
* *
* This means we must enforce a hard limit on the number of bytes we attempt to read, per request. * This means we must enforce a hard limit on the number of bytes we attempt to access, per request.
*/ */
this->edbgAvr8Interface->setMaximumMemoryAccessSizePerRequest(256); this->edbgAvr8Interface->setMaximumMemoryAccessSizePerRequest(256);

View File

@@ -30,7 +30,13 @@ namespace Bloom::DebugToolDrivers::Protocols::CmsisDap::Edbg::Avr
: edbgInterface(edbgInterface) {}; : edbgInterface(edbgInterface) {};
/** /**
* Disables use of the masked read memory EDBG command. Masking will be performed at the driver-side. * Some EDBG devices don't seem to operate correctly when actioning the masked memory read EDBG command. The
* data returned in response to the command appears to be completely incorrect. This appears to only occur
* with the MPLAB Snap device.
*
* Setting this flag to true will disable the EdbgAvr8Interface driver's use of 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.
* *
* @param avoidMaskedMemoryRead * @param avoidMaskedMemoryRead
*/ */
@@ -285,16 +291,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 EDBG command. The * See the comment for EdbgAvr8Interface::setAvoidMaskedMemoryRead().
* data returned in response to the command appears to be completely incorrect. This appears to only occur
* with the MPLAB Snap device.
*
* Setting this flag to true will disable the EdbgAvr8Interface driver's use of 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;
/**
* See the comment for EdbgAvr8Interface::setMaximumMemoryAccessSizePerRequest().
*/
std::optional<std::uint32_t> maximumMemoryAccessSizePerRequest; std::optional<std::uint32_t> maximumMemoryAccessSizePerRequest;
/** /**