SoC 完善执行记录

这是历史 3728b334 基线。后续功能和执行状态在 SoC 扩展 中单独记录;下面的 hash 和计数不资格化后续变更。

本记录覆盖 55 项 SoC 台账,区分已实现机制与各结果的精确源码、执行范围。后续源码变更不继承此前结果;所有物理测试保持 not_executed。

已提交软件门禁

以下提交通过普通暂存 hook,包括 index 不变的 TDD 门禁和提交消息检查。测试过滤、仅跳过报告或绕过 hook 都不能建立验收。计数仅描述各自执行范围,不得相加为最终平台测试总数。

提交

变更

已记录软件执行

e7deeecdb2dfc85d40f2f557cd655cfa34e1492d

精确封装 GPIO 清单和有界 G474 UART

普通提交门禁;保留源码专属 RED/GREEN

7e48b879b327df19c6d7dd7f672a5898585bdb2c

十九项 SoC HIL 配方与已采集证据校验

普通工具门禁;计划保持已准备、未绑定

1f5ff587f00ce91882ffd455982f50191bc7907f

启动、时钟、内存、中断清理所有权

156 个 GoogleTest 程序/2,819 个用例;480 个工具、385 个配置测试

ae27e999f157fecd027db99bdfa99ce38582a940

经审查的原始 H7/U5 CMSIS 依赖闭包

156 个 GoogleTest 程序/2,819 个用例;527 个工具、385 个配置测试

ee33f38d8120405b5bf6f383710f81d05b12371b

不可变 descriptor、冷态准入、EXTI 和 timer 启动

157 个 GoogleTest 程序/2,847 个用例;576 个工具、397 个配置测试

5899c230c8063eb8832bb1dc7f171958d83227d5

运行 timer ACK 隔离、保留清理及窄 W1C 模型

157 个 GoogleTest 程序/2,862 个用例;576 个工具、397 个配置测试

c3c4a62ebdbd3661bb561392651e80c23dd5b1e3

H743/U575 静态 GPIO/UART 参考、SDK 闭包及 HIL 防护

163 个 GoogleTest 程序/2,982 个用例;585 个工具、415 个配置测试

23cde7e57a4781db8ffe2e75849c02f976c4304d

五个 MCU 家族的选定 GPIO 租约和终止时间域失败

165 个 GoogleTest 程序/3,040 个用例;585 个工具、423 个配置测试

3728b334b02eb2eb70bcf5d4caafbb9746837dd3

完整私有 pin-helper 依赖和对齐 startup DATA load

165 个 GoogleTest 程序/3,040 个用例;585 个工具、428 个配置测试

上述数字测试集均零失败、零跳过。暂存源码 tree 身份和原始 hook 输出保留于外部 nexus-soc-20261012/evidence/batch-*/ 和 nexus-soc-qualification-20261012/batch-*-hook-passed/。此前失败 hook 保留失败尝试,不将输出改写为成功。

仅依赖变更的提交 ae27e999f157fecd027db99bdfa99ce38582a940 另外通过 47 个实际 Source SDK 边界测试,零失败、零跳过。执行前后源码和依赖均干净。搬移后的公共消费工程 在各自声明范围验证 Native C/C++、既有平台 ARM profile 和 ThreadX。此执行没有资格化 H743/U575 固件。原始回执和产物保留于 nexus-soc-qualification-20261012/sdk-dependency-boundaries-v2/。

基线源码资格

实现资格源码为 3728b334b02eb2eb70bcf5d4caafbb9746837dd3,tree 48ba820e5c2d4c372bf7eb6e909c49850cc1fe76。后续文档提交描述该精确源码,不替换其资格身份。可迁移结果索引 记录报告精确摘要和归档相对路径,不把 raw logs 复制到 Git。

该源码通过普通 hooks。相同完整模型执行将 203 个已审查 I/O property 绑定到 assertion anchor 和当前生产输入;这只是有界执行证据,不是形式或穷尽证明。五个维护 ARM 门禁均通过,覆盖十六个内存/参考镜像和 87 个选定 provider 镜像。同一源码通过全部 58 个安装 SDK 边界测试,236 条实际命令包含预期非零负路径,测试集零失败、零错误、零跳过。此前结果包括 23cde7e 上的 58 个 SDK 测试和 22 个旧契约程序,保留为源码专属历史,不提升为新源码资格。

范围

维护中的执行入口

最终源码状态

生产 C、生成 factory 和失败路径

scripts/ci/tdd_gate.py --all

165 个程序/3,040 个用例;上述源码零失败、零跳过

配置、provider descriptor 和工具

tools/testing/run_tool_tests.py

585 个工具/428 个配置用例;上述源码零失败、零跳过

F407 默认/CCM、GD 主/附加/TCM RAM

scripts/ci/stm32_memory.py, scripts/ci/gd32_memory.py

八个实际 ARM 镜像通过资源和选定保留检查

H743 empty/selected,裸机/FreeRTOS

scripts/ci/stm32h743.py

四个实际 ARM 镜像通过

U575 empty/selected,裸机/FreeRTOS

scripts/ci/stm32u575.py

四个实际 ARM 镜像通过

全部维护中的手写 controller 装配

scripts/ci/provider_assemblies.py

全部 87 个实际夹具通过;源码干净、输入未变

安装 SDK 和实际公共 consumer

tests/contracts/test_source_sdk.py, test_device_sdk_payload.py

58 个实际测试通过;执行前后源码干净;搬移后的 Native、所选 MCU 和 ThreadX 消费工程

热路径、镜像/资源成本

tools/measurement/soc_costs.py

观察十一个代表性最终 profile:八个 H743/U575,以及 F407 EXTI、GD EXTI、G474 LPUART

派生能力投影

tools/maintenance/capabilities.py --check

检查 87 行;实际返回码为零

同平台源码的外部示例

X-Gen-Lab/nexus-examples

八个 CTest 程序、三个 GoogleTest 程序/43 个用例、20 个 ARM 镜像及预算;十个 HIL 计划仍已准备、未绑定

离线复现与候选封存

tools/evidence/reproduce.py, candidate.py, proof.py

本轮记录未建立

物理 SoC 用例 37–55

tools/hil/soc_acceptance.py

工具已实现;没有物理执行

H743 ELF 门禁除向量字节、选定保留和资源外,还检查 RAM 可用前的实际 reset-to-power-entry 闭包。U575 门禁保留声明 TZEN=0 单状态启动边界,其 vector/count 检查不会自动证明完整 Reset/SystemInit/data/BSS/MSP 调用闭包。独立审查已检查八个实际 H743/U575 镜像,包括完整链接启动路径和 four-byte DATA load 对齐;采集前后 2,297 个已识别输入未变。source_and_call_closure_review_required 由单独源码绑定报告关闭,不能通过重标 vector 测试关闭。两个 ARM 门禁均没有在 MCU 上运行 scheduler,也不建立实测电气结果。

实际所选参考成本如下。Flash 为 LOAD 文件字节总和,不是最大占用地址跨度。RAM 只计一次预留 MSP,每行 2,048 MSP bytes、零 heap。静态预留不是实测栈峰值或产品预算。

家族

后端

装配

Flash LOAD 字节

RAM 预留字节

H743

裸机

空配置

2,437

2,104

H743

裸机

GPIO+UART

8,908

2,364

H743

FreeRTOS

空配置

7,564

3,716

H743

FreeRTOS

GPIO+UART

14,108

3,976

U575

裸机

空配置

2,225

2,112

U575

裸机

GPIO+UART

8,712

2,372

U575

FreeRTOS

空配置

7,300

3,724

U575

FreeRTOS

GPIO+UART

13,868

3,984

所选 H743/U575 镜像分别暴露 60/68 bytes GPIO lease/gate 对象,并非 Platform 总存储。内联或未保留、没有独立函数符号的 helper 不能按零成本计算。这些观察只描述精确链接选择;不同后端、容量、route 不能作为可比优化百分比。没有测量 cycles、中断屏蔽时长或 WCET。

同一 observer 还直接检查完整 87-fixture 矩阵中的三个既有镜像,没有重新编译:

装配

选定存储

Flash LOAD 字节

RAM 预留字节

F407 VE EXTI

两条 line,每条四个 event slot

6,152

2,344

GD32 EXTI

一条 line,八个 event slot

6,956

2,260

G474 GPIO/LPUART

64 RX bytes

9,012

2,316

这些 RAM 数字同样含 2,048-byte MSP 预留和零 heap。补充报告记录精确符号尺寸、解码指令和静态分支位置。不同 route/容量属于独立基线。十一个实测 profile 不代表全部维护模式,也不建立 cycles、中断屏蔽时长或跨芯片优化率。

外部示例资格为代码 commit f02b91867bb64abfa31e3c1d4b6004bd1a38b091,pin 到上述平台源码。实际 46-command 干净执行及源码记录单独索引;十个 HIL 准备不等于十次物理 station 执行。

解释台账

implemented 记录源码中的机制。contract_implemented 和 documentation_updated 记录范围更窄的契约/文档工作。qualification_record_authority 将验收交给精确 source/configuration/artifact tuple 的外部实际记录,不是源码文件自报 passed。final_source_pending 表示完成的源码范围仍需执行。

selected_profiles_observed 只记录以上及索引命名 profile 的真实静态成本。tooling_software_validated 资格化 HIL 软件契约,相应物理测试仍未执行。部分参考实现即使通过主机、ARM 或安装 SDK 检查,也保留有限 GPIO/UART 范围。

SOC-05 记录版本化 datasheet、manual、errata 来源,实际硅片修订及每个模式完整 errata 适用性仍未资格化。SOC-23/SOC-27 要求实际 ELF 成本观察,observer 单元测试不能完成测量。容量、后端、Board route 或内存布局变化应作为不同选择报告,不能描述为同配置节省。

SOC-28、SOC-30、SOC-31 仅包含精确 H743/U575 GPIO/UART/time 参考子集。SOC-29、SOC-32–36 保留明确缺失功能,原始退出条件不变。拒绝不支持模式不是该模式实现完成。SOC-37–55 包含可执行的软件准备、准入、采集、校验工具;真实 station 记录采集并校验前,所有物理退出保持开放。

这里没有结果建立 MCU cycles、中断延迟、Flash 掉电、cache/DMA 一致性、TrustZone 隔离、产品安全、认证或产品发布。精确支持由支持矩阵及 SoC 合同定义。