ISP parameter validation for debugWire targets

This commit is contained in:
Nav
2022-03-07 15:11:28 +00:00
parent 29d1a340ad
commit f887d4b472

View File

@@ -1,6 +1,7 @@
<?php
namespace Bloom\BuildScripts\TargetDescriptionFiles\Avr8;
use Bloom\BuildScripts\TargetDescriptionFiles\PhysicalInterface;
use Bloom\BuildScripts\TargetDescriptionFiles\TargetDescriptionFile;
require_once __DIR__ . "/../TargetDescriptionFile.php";
@@ -538,6 +539,49 @@ class Avr8TargetDescriptionFile extends TargetDescriptionFile
$failures[] = 'Unknown AVR8 family';
}
if (in_array(self::AVR8_PHYSICAL_INTERFACE_DEBUG_WIRE, $this->debugPhysicalInterface)) {
if (!isset($this->physicalInterfacesByName['isp'])) {
$failures[] = 'Missing ISP interface for debugWire target.';
}
if (is_null($this->ispProgramModeTimeout)) {
$failures[] = 'Missing ispenterprogmode_timeout ISP parameter.';
}
if (is_null($this->ispProgramModeStabilizationDelay)) {
$failures[] = 'Missing ispenterprogmode_stabdelay ISP parameter.';
}
if (is_null($this->ispProgramModeCommandExecutionDelay)) {
$failures[] = 'Missing ispenterprogmode_cmdexedelay ISP parameter.';
}
if (is_null($this->ispProgramModeSyncLoops)) {
$failures[] = 'Missing ispenterprogmode_synchloops ISP parameter.';
}
if (is_null($this->ispProgramModeByteDelay)) {
$failures[] = 'Missing ispenterprogmode_bytedelay ISP parameter.';
}
if (is_null($this->ispProgramModePollValue)) {
$failures[] = 'Missing ispenterprogmode_pollvalue ISP parameter.';
}
if (is_null($this->ispProgramModePollIndex)) {
$failures[] = 'Missing ispenterprogmode_pollindex ISP parameter.';
}
if (is_null($this->ispProgramModePreDelay)) {
$failures[] = 'Missing ispleaveprogmode_predelay ISP parameter.';
}
if (is_null($this->ispProgramModePostDelay)) {
$failures[] = 'Missing ispleaveprogmode_postdelay ISP parameter.';
}
if (is_null($this->ispReadSignaturePollIndex)) {
$failures[] = 'Missing ispreadsign_pollindex ISP parameter.';
}
if (is_null($this->ispReadFusePollIndex)) {
$failures[] = 'Missing ispreadfuse_pollindex ISP parameter.';
}
if (is_null($this->ispReadLockPollIndex)) {
$failures[] = 'Missing ispreadlock_pollindex ISP parameter.';
}
}
if (is_null($this->stackPointerRegisterLowAddress)) {
$failures[] = 'Missing stack pointer register start address.';
}