Added support for excluding address ranges from read memory events

This commit is contained in:
Nav
2021-12-25 20:57:03 +00:00
parent 9054b17bc7
commit 6f364a7009
10 changed files with 67 additions and 11 deletions

View File

@@ -223,8 +223,13 @@ TargetRegisters Avr8::readRegisters(TargetRegisterDescriptors descriptors) {
return registers;
}
TargetMemoryBuffer Avr8::readMemory(TargetMemoryType memoryType, std::uint32_t startAddress, std::uint32_t bytes) {
return this->avr8Interface->readMemory(memoryType, startAddress, bytes);
TargetMemoryBuffer Avr8::readMemory(
TargetMemoryType memoryType,
std::uint32_t startAddress,
std::uint32_t bytes,
const std::set<Targets::TargetMemoryAddressRange>& excludedAddressRanges
) {
return this->avr8Interface->readMemory(memoryType, startAddress, bytes, excludedAddressRanges);
}
void Avr8::writeMemory(TargetMemoryType memoryType, std::uint32_t startAddress, const TargetMemoryBuffer& buffer) {

View File

@@ -95,7 +95,8 @@ namespace Bloom::Targets::Microchip::Avr::Avr8Bit
TargetMemoryBuffer readMemory(
TargetMemoryType memoryType,
std::uint32_t startAddress,
std::uint32_t bytes
std::uint32_t bytes,
const std::set<Targets::TargetMemoryAddressRange>& excludedAddressRanges = {}
) override;
void writeMemory(
TargetMemoryType memoryType,

View File

@@ -240,10 +240,16 @@ namespace Bloom::Targets
* @param memoryType
* @param startAddress
* @param bytes
* @param excludedAddressRanges
*
* @return
*/
virtual TargetMemoryBuffer readMemory(TargetMemoryType memoryType, std::uint32_t startAddress, std::uint32_t bytes) = 0;
virtual TargetMemoryBuffer readMemory(
TargetMemoryType memoryType,
std::uint32_t startAddress,
std::uint32_t bytes,
const std::set<Targets::TargetMemoryAddressRange>& excludedAddressRanges = {}
) = 0;
/**
* Should write memory to the target.