Support for reserved hardware breakpoint (for stepping on AVR8 targets)

This commit is contained in:
Nav
2023-09-23 21:50:04 +01:00
parent 0851da3a7a
commit 9904d93314
5 changed files with 68 additions and 18 deletions

View File

@@ -2,6 +2,7 @@
#include <cstdint>
#include <optional>
#include <cassert>
#include "TargetMemory.hpp"
@@ -40,13 +41,21 @@ namespace Targets
{
std::optional<std::uint16_t> maximumHardwareBreakpoints;
std::optional<std::uint16_t> maximumSoftwareBreakpoints;
std::uint16_t reservedHardwareBreakpoints;
BreakpointResources(
std::optional<std::uint16_t> maximumHardwareBreakpoints,
std::optional<std::uint16_t> maximumSoftwareBreakpoints
std::optional<std::uint16_t> maximumSoftwareBreakpoints,
std::uint16_t reservedHardwareBreakpoints
)
: maximumHardwareBreakpoints(maximumHardwareBreakpoints)
, maximumSoftwareBreakpoints(maximumSoftwareBreakpoints)
{}
, reservedHardwareBreakpoints(reservedHardwareBreakpoints)
{
assert(
!this->maximumHardwareBreakpoints.has_value()
|| this->maximumHardwareBreakpoints >= this->reservedHardwareBreakpoints
);
}
};
}