diff --git a/src/Targets/TargetAddressSpaceDescriptor.hpp b/src/Targets/TargetAddressSpaceDescriptor.hpp index 01ee4c06..29e1a189 100644 --- a/src/Targets/TargetAddressSpaceDescriptor.hpp +++ b/src/Targets/TargetAddressSpaceDescriptor.hpp @@ -41,7 +41,7 @@ namespace Targets const TargetMemoryAddressRange& addressRange, TargetMemoryEndianness endianness, std::map&& segmentDescriptorsByKey, - std::uint8_t unitSize = 1 + std::uint8_t unitSize ); TargetAddressSpaceDescriptor(const TargetAddressSpaceDescriptor& other) = delete; diff --git a/src/Targets/TargetDescription/TargetDescriptionFile.cpp b/src/Targets/TargetDescription/TargetDescriptionFile.cpp index 8b114000..3ba8f39e 100644 --- a/src/Targets/TargetDescription/TargetDescriptionFile.cpp +++ b/src/Targets/TargetDescription/TargetDescriptionFile.cpp @@ -963,10 +963,11 @@ namespace Targets::TargetDescription addressSpace.key, TargetMemoryAddressRange{ addressSpace.startAddress, - addressSpace.startAddress + addressSpace.size - 1 + addressSpace.startAddress + (addressSpace.size / addressSpace.unitSize) - 1 }, addressSpace.endianness.value_or(TargetMemoryEndianness::LITTLE), - {} + {}, + addressSpace.unitSize }; for (const auto& [key, memorySegment] : addressSpace.memorySegmentsByKey) {