diff --git a/build/scripts/Targets/TargetDescriptionFiles/AVR8/Services/ValidationService.php b/build/scripts/Targets/TargetDescriptionFiles/AVR8/Services/ValidationService.php index 5f3268a0..6bb84bcc 100644 --- a/build/scripts/Targets/TargetDescriptionFiles/AVR8/Services/ValidationService.php +++ b/build/scripts/Targets/TargetDescriptionFiles/AVR8/Services/ValidationService.php @@ -21,6 +21,28 @@ class ValidationService extends \Targets\TargetDescriptionFiles\Services\Validat { $failures = $this->validateTdf($tdf); + if ($tdf->getMemorySegment('prog', 'internal_program_memory') === null) { + $failures[] = 'Missing "internal_program_memory" memory segment'; + } + + if ($tdf->getMemorySegment('data', 'internal_ram') === null) { + $failures[] = 'Missing "internal_ram" memory segment'; + } + + if ( + $tdf->getMemorySegment('data', 'internal_eeprom') === null + && $tdf->getMemorySegment('eeprom', 'internal_eeprom') === null + ) { + $failures[] = 'Missing "internal_eeprom" memory segment'; + } + + if ( + $tdf->getMemorySegment('data', 'io') === null + && $tdf->getMemorySegment('data', 'mapped_io') === null + ) { + $failures[] = 'Missing IO memory segment'; + } + if ($tdf->getSignature() === null) { $failures[] = "Missing or incomplete AVR signature."; } diff --git a/build/scripts/Targets/TargetDescriptionFiles/Services/ValidationService.php b/build/scripts/Targets/TargetDescriptionFiles/Services/ValidationService.php index d9e3c9c5..6a6518a5 100644 --- a/build/scripts/Targets/TargetDescriptionFiles/Services/ValidationService.php +++ b/build/scripts/Targets/TargetDescriptionFiles/Services/ValidationService.php @@ -81,18 +81,6 @@ class ValidationService $processedAddressSpaceKeys[] = $addressSpace->key; } - if ($tdf->getMemorySegmentsFromAnyAddressSpace('internal_program_memory') === null) { - $failures[] = 'Missing "internal_program_memory" memory segment'; - } - - if ($tdf->getMemorySegmentsFromAnyAddressSpace('internal_ram') === null) { - $failures[] = 'Missing "internal_ram" memory segment'; - } - - if ($tdf->getMemorySegmentsFromAnyAddressSpace('internal_eeprom') === null) { - $failures[] = 'Missing "internal_eeprom" memory segment'; - } - if (empty($tdf->modules)) { $failures[] = 'Missing modules'; }