From f887d4b472d186a82943db8a75bf5f41dbd550e3 Mon Sep 17 00:00:00 2001 From: Nav Date: Mon, 7 Mar 2022 15:11:28 +0000 Subject: [PATCH] ISP parameter validation for debugWire targets --- .../AVR8/Avr8TargetDescriptionFile.php | 44 +++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/build/scripts/TargetDescriptionFiles/AVR8/Avr8TargetDescriptionFile.php b/build/scripts/TargetDescriptionFiles/AVR8/Avr8TargetDescriptionFile.php index 2771b0c4..7be158a8 100644 --- a/build/scripts/TargetDescriptionFiles/AVR8/Avr8TargetDescriptionFile.php +++ b/build/scripts/TargetDescriptionFiles/AVR8/Avr8TargetDescriptionFile.php @@ -1,6 +1,7 @@ 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.'; }