Delta programming - where we only upload what's changed

This commit is contained in:
Nav
2025-02-01 23:13:45 +00:00
parent 70ec49c7ac
commit d52c46ec2a
33 changed files with 918 additions and 289 deletions

View File

@@ -656,6 +656,7 @@ namespace Targets::Microchip::Avr8
return;
}
this->avr8DebugInterface->clearAllBreakpoints();
this->avr8DebugInterface->enableProgrammingMode();
this->activeProgrammingSession = ProgrammingSession();
}
@@ -687,6 +688,32 @@ namespace Targets::Microchip::Avr8
return std::nullopt;
}
DeltaProgramming::DeltaProgrammingInterface* Avr8::deltaProgrammingInterface() {
if (
this->targetConfig.physicalInterface == TargetPhysicalInterface::DEBUG_WIRE
|| this->targetConfig.physicalInterface == TargetPhysicalInterface::UPDI
) {
return this;
}
return nullptr;
}
TargetMemorySize Avr8::deltaBlockSize(
const TargetAddressSpaceDescriptor& addressSpaceDescriptor,
const TargetMemorySegmentDescriptor& memorySegmentDescriptor
) {
return memorySegmentDescriptor.pageSize.value_or(1);
}
bool Avr8::shouldAbandonSession(
const TargetAddressSpaceDescriptor& addressSpaceDescriptor,
const TargetMemorySegmentDescriptor& memorySegmentDescriptor,
const std::vector<DeltaProgramming::Session::WriteOperation::Region>& deltaSegments
) {
return false;
}
std::map<TargetPadId, GpioPadDescriptor> Avr8::generateGpioPadDescriptorMapping(
const std::vector<TargetPeripheralDescriptor>& portPeripheralDescriptors
) {