Added memory segment page size validation in TDF validation script

This commit is contained in:
Nav
2025-01-22 22:44:27 +00:00
parent c64e34ed05
commit 868649adf2
3 changed files with 34 additions and 3 deletions

View File

@@ -50,8 +50,24 @@ class ValidationService extends \Targets\TargetDescriptionFiles\Services\Validat
$failures[] = 'Missing "programming_opcode_key" property';
}
if ($tdf->getProperty('wch_link_interface', 'programming_block_size') === null) {
$failures[] = 'Missing "programming_block_size" property';
$programmingBlockSize = $tdf->getPropertyValue('wch_link_interface', 'programming_block_size');
if (!is_numeric($programmingBlockSize)) {
$failures[] = 'Missing/invalid "programming_block_size" property';
} else {
if (
$mainProgramSegment !== null
&& ($mainProgramSegment->addressRange->startAddress % (int)$programmingBlockSize) !== 0
) {
$failures[] = 'Main program memory segment start address does not align with programming block size';
}
if (
$bootProgramSegment !== null
&& ($bootProgramSegment->addressRange->startAddress % (int)$programmingBlockSize) !== 0
) {
$failures[] = 'Boot program memory segment start address does not align with programming block size';
}
}
if ($tdf->getProperty('riscv_debug_module', 'trigger_count') === null) {