Corrected architecture string in AVR8 TDFs
This commit is contained in:
@@ -13,6 +13,7 @@ use Targets\TargetRegisterGroup;
|
||||
require_once __DIR__ . "/../TargetDescriptionFile.php";
|
||||
require_once __DIR__ . "/../Services/StringService.php";
|
||||
require_once __DIR__ . "/AvrFamily.php";
|
||||
require_once __DIR__ . "/AvrIsa.php";
|
||||
require_once __DIR__ . "/Signature.php";
|
||||
require_once __DIR__ . "/DebugWireParameters.php";
|
||||
require_once __DIR__ . "/IspParameters.php";
|
||||
@@ -60,6 +61,11 @@ class Avr8TargetDescriptionFile extends TargetDescriptionFile
|
||||
return AvrFamily::tryFrom($this->deviceAttributesByName['avr-family']);
|
||||
}
|
||||
|
||||
public function getAvrIsa(): ?AvrIsa
|
||||
{
|
||||
return AvrIsa::tryFrom($this->deviceAttributesByName['architecture']);
|
||||
}
|
||||
|
||||
public function getDebugWireParameters(): DebugWireParameters
|
||||
{
|
||||
$output = new DebugWireParameters();
|
||||
|
||||
12
build/scripts/Targets/TargetDescriptionFiles/AVR8/AvrIsa.php
Normal file
12
build/scripts/Targets/TargetDescriptionFiles/AVR8/AvrIsa.php
Normal file
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
namespace Targets\TargetDescriptionFiles\Avr8;
|
||||
|
||||
enum AvrIsa: string
|
||||
{
|
||||
case AVR = 'AVR';
|
||||
case AVR_E = 'AVRe';
|
||||
case AVR_E_PLUS = 'AVRe+';
|
||||
case AVR_XM = 'AVRxm';
|
||||
case AVR_XT = 'AVRxt';
|
||||
case AVR_RC = 'AVRrc';
|
||||
}
|
||||
@@ -3,6 +3,7 @@ namespace Targets\TargetDescriptionFiles\AVR8\Services;
|
||||
|
||||
use Targets\TargetDescriptionFiles\Avr8\Avr8TargetDescriptionFile;
|
||||
use Targets\TargetDescriptionFiles\Avr8\AvrFamily;
|
||||
use Targets\TargetDescriptionFiles\Avr8\AvrIsa;
|
||||
use Targets\TargetDescriptionFiles\Avr8\DebugWireParameters;
|
||||
use Targets\TargetDescriptionFiles\Avr8\IspParameters;
|
||||
use Targets\TargetDescriptionFiles\Avr8\JtagParameters;
|
||||
@@ -96,7 +97,20 @@ class ValidationService extends \Targets\TargetDescriptionFiles\Services\Validat
|
||||
|
||||
$family = $tdf->getAvrFamily();
|
||||
if ($family === null) {
|
||||
$failures[] = 'Unknown AVR8 family';
|
||||
$failures[] = 'Missing/unknown AVR8 family';
|
||||
}
|
||||
|
||||
$isa = $tdf->getAvrIsa();
|
||||
if ($isa === null) {
|
||||
$failures[] = 'Missing/unknown AVR ISA';
|
||||
}
|
||||
|
||||
if ($isa === AvrIsa::AVR_RC) {
|
||||
/*
|
||||
* The "reduced core" only implements 16 GPRs. Bloom assumes all AVRs have 32 GPRs.
|
||||
* Not sure if any AVRrc targets even have debug support...
|
||||
*/
|
||||
$failures[] = 'Bloom does not support AVRrc targets';
|
||||
}
|
||||
|
||||
// The target must have at least one SP register, and it must reside in the CPU peripheral.
|
||||
|
||||
Reference in New Issue
Block a user