SoC 完善执行记录¶
这是历史 3728b334 基线。后续功能和执行状态在 SoC 扩展 中单独记录;下面的 hash 和计数不资格化后续变更。
本记录覆盖 55 项 SoC 台账,区分已实现机制与各结果的精确源码、执行范围。后续源码变更不继承此前结果;所有物理测试保持 not_executed。
已提交软件门禁¶
以下提交通过普通暂存 hook,包括 index 不变的 TDD 门禁和提交消息检查。测试过滤、仅跳过报告或绕过 hook 都不能建立验收。计数仅描述各自执行范围,不得相加为最终平台测试总数。
提交 |
变更 |
已记录软件执行 |
|---|---|---|
|
精确封装 GPIO 清单和有界 G474 UART |
普通提交门禁;保留源码专属 RED/GREEN |
|
十九项 SoC HIL 配方与已采集证据校验 |
普通工具门禁;计划保持已准备、未绑定 |
|
启动、时钟、内存、中断清理所有权 |
156 个 GoogleTest 程序/2,819 个用例;480 个工具、385 个配置测试 |
|
经审查的原始 H7/U5 CMSIS 依赖闭包 |
156 个 GoogleTest 程序/2,819 个用例;527 个工具、385 个配置测试 |
|
不可变 descriptor、冷态准入、EXTI 和 timer 启动 |
157 个 GoogleTest 程序/2,847 个用例;576 个工具、397 个配置测试 |
|
运行 timer ACK 隔离、保留清理及窄 W1C 模型 |
157 个 GoogleTest 程序/2,862 个用例;576 个工具、397 个配置测试 |
|
H743/U575 静态 GPIO/UART 参考、SDK 闭包及 HIL 防护 |
163 个 GoogleTest 程序/2,982 个用例;585 个工具、415 个配置测试 |
|
五个 MCU 家族的选定 GPIO 租约和终止时间域失败 |
165 个 GoogleTest 程序/3,040 个用例;585 个工具、423 个配置测试 |
|
完整私有 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 和失败路径 |
|
165 个程序/3,040 个用例;上述源码零失败、零跳过 |
配置、provider descriptor 和工具 |
|
585 个工具/428 个配置用例;上述源码零失败、零跳过 |
F407 默认/CCM、GD 主/附加/TCM RAM |
|
八个实际 ARM 镜像通过资源和选定保留检查 |
H743 empty/selected,裸机/FreeRTOS |
|
四个实际 ARM 镜像通过 |
U575 empty/selected,裸机/FreeRTOS |
|
四个实际 ARM 镜像通过 |
全部维护中的手写 controller 装配 |
|
全部 87 个实际夹具通过;源码干净、输入未变 |
安装 SDK 和实际公共 consumer |
|
58 个实际测试通过;执行前后源码干净;搬移后的 Native、所选 MCU 和 ThreadX 消费工程 |
热路径、镜像/资源成本 |
|
观察十一个代表性最终 profile:八个 H743/U575,以及 F407 EXTI、GD EXTI、G474 LPUART |
派生能力投影 |
|
检查 87 行;实际返回码为零 |
同平台源码的外部示例 |
|
八个 CTest 程序、三个 GoogleTest 程序/43 个用例、20 个 ARM 镜像及预算;十个 HIL 计划仍已准备、未绑定 |
离线复现与候选封存 |
|
本轮记录未建立 |
物理 SoC 用例 37–55 |
|
工具已实现;没有物理执行 |
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 合同定义。