Corrected value of APPICATION_BYTES XMEGA (PDI) device parameter in EDBG driver. Also added APP section start address extraction
This commit is contained in:
@@ -1142,12 +1142,12 @@ namespace Bloom::DebugToolDrivers::Protocols::CmsisDap::Edbg::Avr
|
|||||||
throw DeviceInitializationFailure("Missing required parameter: BOOT_BASE_ADDR");
|
throw DeviceInitializationFailure("Missing required parameter: BOOT_BASE_ADDR");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this->targetParameters.bootSectionSize.has_value()) {
|
if (!this->targetParameters.appSectionSize.has_value()) {
|
||||||
throw DeviceInitializationFailure("Missing required parameter: BOOT_BYTES");
|
throw DeviceInitializationFailure("Missing required parameter: APPLICATION_BYTES");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this->targetParameters.flashSize.has_value()) {
|
if (!this->targetParameters.bootSectionSize.has_value()) {
|
||||||
throw DeviceInitializationFailure("Missing required parameter: APPLICATION_BYTES");
|
throw DeviceInitializationFailure("Missing required parameter: BOOT_BYTES");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!this->targetParameters.eepromPdiOffset.has_value()) {
|
if (!this->targetParameters.eepromPdiOffset.has_value()) {
|
||||||
@@ -1245,7 +1245,7 @@ namespace Bloom::DebugToolDrivers::Protocols::CmsisDap::Edbg::Avr
|
|||||||
Logger::debug("Setting APPLICATION_BYTES AVR8 parameter");
|
Logger::debug("Setting APPLICATION_BYTES AVR8 parameter");
|
||||||
this->setParameter(
|
this->setParameter(
|
||||||
Avr8EdbgParameters::DEVICE_XMEGA_APPLICATION_BYTES,
|
Avr8EdbgParameters::DEVICE_XMEGA_APPLICATION_BYTES,
|
||||||
this->targetParameters.flashSize.value()
|
this->targetParameters.appSectionSize.value()
|
||||||
);
|
);
|
||||||
|
|
||||||
Logger::debug("Setting BOOT_BYTES AVR8 parameter");
|
Logger::debug("Setting BOOT_BYTES AVR8 parameter");
|
||||||
|
|||||||
@@ -181,8 +181,10 @@ namespace Bloom::Targets::Microchip::Avr::Avr8Bit::TargetDescription
|
|||||||
|
|
||||||
const auto appMemorySegment = this->getFlashApplicationMemorySegment(programMemoryAddressSpace.value());
|
const auto appMemorySegment = this->getFlashApplicationMemorySegment(programMemoryAddressSpace.value());
|
||||||
|
|
||||||
if (appMemorySegment.has_value() && appMemorySegment->pageSize.has_value()) {
|
if (appMemorySegment.has_value()) {
|
||||||
targetParameters.flashPageSize = appMemorySegment->pageSize.value();
|
targetParameters.appSectionStartAddress = appMemorySegment->startAddress;
|
||||||
|
targetParameters.appSectionSize = appMemorySegment->size;
|
||||||
|
targetParameters.flashPageSize = appMemorySegment->pageSize;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -44,6 +44,8 @@ namespace Bloom::Targets::Microchip::Avr::Avr8Bit
|
|||||||
|
|
||||||
// XMega/PDI/UPDI specific target params
|
// XMega/PDI/UPDI specific target params
|
||||||
std::optional<std::uint32_t> appSectionPdiOffset;
|
std::optional<std::uint32_t> appSectionPdiOffset;
|
||||||
|
std::optional<std::uint32_t> appSectionStartAddress;
|
||||||
|
std::optional<std::uint32_t> appSectionSize;
|
||||||
std::optional<std::uint16_t> bootSectionSize;
|
std::optional<std::uint16_t> bootSectionSize;
|
||||||
std::optional<std::uint32_t> bootSectionPdiOffset;
|
std::optional<std::uint32_t> bootSectionPdiOffset;
|
||||||
std::optional<std::uint32_t> eepromPdiOffset;
|
std::optional<std::uint32_t> eepromPdiOffset;
|
||||||
|
|||||||
Reference in New Issue
Block a user