Nexus 平台图册¶
本图册保留15类必需视图、两张补充图与本轮 I/O 架构视图 FIG-16,另加入 IO-24 的 FIG-17/18 目标图源、IO-36 的 FIG-21 Native 装配/生命周期图,以及 IO-31 的 FIG-22 G474 命名 GPIO 状态/所有权图。FIG-23–26 依次描述五项有界软件机制的所有权、U575 保留时钟与 Stop2 所有权及状态、UART TX 复制代理的 kernel 所有权与退出、I3C 核心借用与整总线证明。FIG-27 另述同一 Stop2 owner 的选定 SRAM4/LPDMA 有限复制及复合退出。主图登记见 图清单,维护规则见图示标准。图有精确 current/reference/target 身份,不可从图源存在、渲染成功或软件流程推断硬件和外部发布已执行。
FIG-28 另述单组 LPTIM1 tuple 的选定 LPBAM 参考,以及同一 Stop2 owner 的有序最终访问证明。
原15类主图及两张补充图的代码依据保持0111c8d3b9c7b37d258b9c401070305b13b6f3a1。
FIG-16 描述 c4249e98 基线之后的 I/O 增量机制,其具体源码链接和执行状态见
本轮架构说明与42项台账,不能继承原候选资格。
文档工具的实际结果另见执行记录。图源为可编辑 DOT,输出为本地 SVG;标签、
线型和文字共同表达关系,不只依赖颜色。
当前每张图均提供中英文视图;新增 FIG-17/18 的渲染与审查须分别取得实际记录。页面按所选语言使用本地 SVG。节点、箭头、属性与范围仍由同一 canonical DOT 维护;labels.json 只维护完整标签译文,不能改变拓扑。各语言 DOT/SVG 应与原图配对检查;缺失译文、陈旧输出和非法资源使门禁失败。SVG 采用 Graphviz Cairo 字形路径输出,使离线读者无需安装中文字体;每图附 title、desc 和正文 alt/caption。生成主机需要锁定 Graphviz、Cairo 及 Noto Sans CJK SC,最终工具身份与自动检查结果由文档交付记录绑定。源码语义、实际浏览器桌面/窄屏/放大/打印与离线包验收分开记录。原15主图和2补充图保留各自已完成的审查;新增 FIG-16/17/18 的内容、图示和翻译审查状态单独记录,不能从渲染成功推断。浏览器与正式包验收另按实际执行记录判断,这些状态不建立 HIL 或公开部署资格。
修改标签后显式使用已准备的锁定工具生成语言视图,然后执行完整检查:
python -m tools.documentation.diagram_localization --write \
--tool-prefix /absolute/path/to/prepared-doc-tools
python tools/dev/dev.py docs check --full \
--tool-prefix /absolute/path/to/prepared-doc-tools
localized/en/和localized/zh_CN/是派生资产。生成成功只证明渲染;标签语义、
真实浏览器和离线资源闭包分别审查,原图代码依据与历史执行身份保持不变。
FIG-01 全平台分层与外部边界¶
身份:current。范围:产品外置;可选组件与OS;运行访问和构建事实逐边区分。
应用拥有任务、调度、恢复和停机协调。Board参与构建期授权;factory取得身份后日常I/O通过face进入provider。Arch按编译目标选择,没有CPU factory或强制OS转发。虚线为显式可选关系或构建期事实,实线标签说明调用/合同。
FIG-02 选定编译目标依赖¶
身份:reference。范围:H743 baremetal IRQ UART;准确PUBLIC/PRIVATE/INTERFACE/OBJECT关系。
参考tools/configure/assemblies/nucleo-h743-baremetal-uart.toml的选定目标。箭头从依赖者指向被依赖目标;虚线明确PRIVATE include或OBJECT注入。统一warnings、配置选项边和GC策略省略;它们仍由真实CMake管理。厂商headers只进入实现/启动私有范围,配置生成的bindings也按私有include规则消费SDK;可选组件不在本装配中。
依据:根目标图、firmware helper、IO targets、Arch targets、OS targets、H743 target、ABI/Config目标。
可编辑DOT;实施关联:DOC-44。
FIG-03 配置与原子生成¶
身份:current。范围:构建输入/产物链,生成失败使owned bundle失效。
边表示构建时输入和产物传递,不表示运行时调用。TOML 唯一入口先得到冻结
AuthoredAssembly 意图,再与 SoC/Board 事实校验得到具名 ConfigurationIR。
同一 IR 驱动 SoC 的静态定义/冷态调用与单向 JSON/配置/内存投影;全部经过
同一 bundle 事务发布。resolved.json 不回流为装配输入。严格解析不能修复非法
字段、冲突或陈旧输入;失败只撤回拥有的输出,不清理未拥有目录,也不暴露半成品。
ELF/资源报告不构成实板资格。
FIG-04 factory与静态实例¶
身份:reference。范围:按需选入的两同类实例示意;同模式ops共享,controller/endpoint独立。
结构图展示由生成器支持的按配置实例布局,不声称每块PCB均授权这些组合。同provider同模式实例共享readonly ops,各自context/state/storage独立。不同provider或模式可使用不同ops;调用方法接收本次context。controller和endpoint有独立factory命名空间,endpoint不冒充控制器。ID只在当前assembly有效,默认uint16_t typedef不提供语言级跨类防混用。
依据:typed factory生成、face/state装配、SPI公开接口、Native provider。
可编辑DOT;实施关联:DOC-46。
FIG-05 显式启动停机与失败撤回¶
身份:current。范围:生成生命周期骨架;每个SoC私有启动/清理保持具体合同。
外部唯一执行者串行调用start/stop。start不启动调度器;失败的primary、cleanup、remaining_effects分别保留。已取得效果者参与逆序cleanup,停止可能先成功释放部分实例再返回BUSY/IO。不能把BUSY视为仍然完整运行,也不能因timeout回收存储。具体start_system失败可能在其私有路径中完成清理或保留失败阶段,重试必须满足该provider合同,不能把图视为统一恢复API。
依据:生成的start/stop、GPIO冷租约、H743冷生命周期、当前平台合同。
可编辑DOT;实施关联:DOC-47。
FIG-06 Core请求状态与借用¶
身份:current。范围:Core helper允许的迁移与调用前提;不承诺各provider恢复API。
REJECTED/ACCEPTED是admission结果而非request状态。ACCEPTED后保持request/buffer借用,cancel/deadline只启动终止进度。provider先排空全部必要引用,再以release发布SETTLED作为对request的最后一次访问;调用方以acquire观察。相关adapter/observer另需退出。QUARANTINED到SETTLED仅在实际恢复和排空证明成立时合法,不能通过initialize强行重置借用对象。
依据:request公开合同、实际Core迁移、owner最终发布。
可编辑DOT;实施关联:DOC-48。
FIG-07 UART与SPI有限DMA时序¶
身份:reference。范围:F407 USART1/SPI1精确有限DMA;Task/IRQ/DMA完成与失败路径。
上到下为先后,并区分Task、DMA IRQ和UART IRQ。UART DMA TC不替代最后串行位的TC;SPI两个DMA完成不替代BSY=0/TXE=1。最终排空与错误观察、引用撤回都先于SETTLED。CS节点描述软件命令,未证明电气电平或物理时序。取消/错误分支仍需同样的实际排空条件;失败保持QUARANTINED借用。不把NDTR推导为可靠wire字节数,也不推广为GD32 reset语义。
依据:F407 UART DMA、F407 SPI DMA、DMA排空合同、多控制器合同。
可编辑DOT;实施关联:DOC-49。
FIG-08 wait wake与外部退出¶
身份:current。范围:ready-arm-ready-wait-ready与实际执行/join责任。
nx_wait_until只检查谓词并等待提示,不service硬件或创建worker。arm后再次检查避免lost wake;TIMEOUT后最终谓词为true仍返回SUCCESS。通知端口要求单一waiter。外部shutdown先关闭admission并请求cancel,保持owner/IRQ推进drain。producer借用结清后join;确认owner idle包含publication退出,再结束并join执行者。随后停止硬件RX/IRQ publishers、detach wake并join其他发布者,最后销毁OS同步存储。相关observers最终访问另需退出;仍运行的内核不得提前撤回clock/Tick,失败存储继续保留。
FIG-09 H743内存DMA与Cache¶
身份:reference。范围:H743ZIT6有限USART3 TX;AXI SRAM完整32-byte lines。
选定TX DMA仅授权AXI SRAM 512 KiB;其他物理域和dma_engines可达事实不自动授权placement或供电。Cache-on要求完整32-byte lines独占,最大65504 bytes;Cache-off接受1..65535 bytes。PREPARING借用先成立,clean在调用方正常mask下进行,完成前不能取消回收。图不实现或声明H743 RX DMA;未来RX需要独立前置及排空后维护合同。可信复位或此前成功自有clean/disable才建立冷cache前提,CCR关闭位不能认领外国dirty状态。
依据:精确物理域、H743 provider范围、TX DMA实现、cache范围合同、冷cache合同。
可编辑DOT;实施关联:DOC-51。
FIG-10 Source SDK独立消费¶
身份:current。范围:实际公开入口和consumer;搬移完整prefix,Native run/ARM link分开。
打包、搬移、verify与consumer执行是独立步骤。安装prefix必须整体移动,SDK子树不能单独替代包闭包。find_package与resolver边界读取实际字节身份,fixture opt-in不绕过checksum。Native consumer实际运行;MCU consumer建立编译/链接/资源证据,不声明上板执行。parent target不得受到平台宏或厂商include污染。
依据:Source SDK打包与verify、真实独立consumers、resolver SDK验证边界、CMake SDK入口。
可编辑DOT;实施关联:DOC-52。
FIG-11 软件与HIL证据关系¶
身份:current。范围:实际scope evidence独立取得;HIL tooling不是物理测量。
Host/model、ARM/link/resources、SDK消费、两次断网复现和HIL工装各自必须有实际执行记录,并绑定同source/config/artifact。候选封存重新验证scope proof和原始字节。实际station测量另外绑定PCB、silicon、fixture及同镜像;无设备为not_executed。软件候选不自动提升为产品release、安全认证或LTS。
依据:资格合同、candidate scope校验、真实proof验证、断网复现、HIL工装。
可编辑DOT;实施关联:DOC-53。
FIG-12 文档SDK与证据发布恢复¶
身份:reference。范围:交付流程参考;公开发布/下载需真实receipt,不从流程图推断发生。
文档、SDK、软件候选保持独立payload与资格。manifest的outputs只列payload,不含自身/checksums/archive;archive hash由外层receipt记录。不可变release-id不覆盖旧目录,stable不表达全部HIL通过。SDK/candidate/evidence使用现有字节验证与恢复机制,文档发布工具按实际CLI结果验收。独立恢复检查路径、size、hash与适用consumer,不把归档成功视为重新执行全部历史tests。公开发布、下载、长期存储由真实外部receipt证明,流程存在不能替代。
依据:文档实际封存与恢复、文档交付合同、Source SDK闭包、候选封存、scope proof、归档与独立恢复。
可编辑DOT;实施关联:DOC-54。
FIG-13 Cortex-M能力分层¶
身份:current。范围:九核CPU软件层、Runtime、真实SoC与实板范围分开。
CpuProfileIR显式选择合法ABI和optional feature,不从内核名推导能力。Runtime没有SoC/Board/startup/linker/factory;整平台另需精确provider和资源。当前M7冷cache控制不推广至其他带cache内核。图中的软件gates表示必须实际取得范围内证据,不继承历史counts;真实context保存、coherence、特权和波形仍需物理验收。
依据:九核软件合同、CPU解析器、Runtime CMake入口、Arch源码目标、整平台支持范围。
可编辑DOT;实施关联:DOC-55。
FIG-14 U575同步双域参考¶
身份:reference。范围:独立TZEN1无OS同步GPIO;不改变TZEN0默认provider。
boot owner供给并在执行前建立实际option-byte/镜像布局前提,机制不写option bytes。GTZC/SAU/NS MPU是不同边界,NSC fetch检查Secure MPU,不能用CMSE观察替代bus firewall或pin。参考要求无NS handlers、RTOS和自主masters,固定world principal只允许同步scalar GPIO。取得不可逆效果后的失败只能保留到reset;SG的同步pin来自静态映射和无并发条件。实际8/16 MPU region观测仅属于此参考,不修改TZEN0 provider的exact-eight tuple。全部物理隔离尚未执行。
依据:双域权威合同、生产冷owner、真实配对镜像fixture、UserIoBroker、CMSE公开观察合同。
可编辑DOT;实施关联:DOC-56。
FIG-15 连续RX与可见丢块¶
身份:reference。范围:F407 USART1连续RX;预置FIFO贷款、loss和停止责任。
preposted producer和普通producer不得混用。旧块在两个hardware targets中完全消失并证明CT/EN/新flags后才能FIFO发布;失败撤源并LIFO撤未来贷款,BORROWED consumer块不被覆盖。缺spare、IDLE和恢复可有间隙,lost_blocks是已观察边界而非精确遗漏wire字节。TC标志不能数任意多次合并回绕,实际IRQ/换址延迟必须小于一块fill时间。stop关闭admission、保持drain,outstanding=0后仍需调用者/observer退出。ADC首发trigger blocks由service显式rearm且有块间间隙,本图不声称连续ADC。
依据:UART DMA/连续贷款合同、stream状态合同、容量与观察合同、F407 RX DMA实现、ADC显式rearm。
可编辑DOT;实施关联:DOC-57。
FIG-16 当前 I/O 装配与执行¶
身份:current。范围:本轮软件机制;精确模式与验证状态由 IO-01–42 台账维护。
上部箭头表达 authored TOML、SoC/Board 事实、typed IR、原子 bundle 与 CMake 的 构建关系;下部箭头表达查找、调用和复制观测。factory 只返回既有引用,日常 I/O 通过 face 直接进入 provider。硅片准入、traits 和时间戳辅助均显式可选;准入结果 不自动启动硬件,checked service 不证明请求已经结束。应用拥有执行推进与停机。
可选 USB EP0 packetizer 沿同一显式调用路径组合包层 face:应用拥有 outer request, 调用者提供 adapter 存储,组件维护两个固定 inner packet 槽;provider 保留已准入 包的临时借用。ROM profile 只是生成的只读选定事实。inner DATA ACK、outer STATUS ACK 与地址提交分别观察, 借用不随 epoch 更新或取消而撤销;OUT0 恢复需外部 controller owner 授权。 本图不展开 USB 协议阶段,精确边界见 USB FS device 合同。
依据:本轮 I/O 架构、
typed IR、
选定 traits、
硅片准入、
观测合同。
可编辑 DOT;实施关联:IO-01/02/03/09/11/12/21。
FIG-17 H743 Flash RAM 边界目标设计¶
身份:target。范围:仅选定 STM32H743ZIT6 V 修订/三个 Cache-off 配置; 选定的显式操作数及汇编协议证明已实现,IO-24 原始完整退出与候选资格仍开放,实板 HIL 未执行。
构建边表达单份 TOML 经不可变 IR 选入生命周期与 face;factory 仅返回既有不可变 face, 显式 Platform start/stop 负责准备及保留失败清理。普通 provider 验证固定物理绑定; 单一生成 workspace 保存命令、诊断与 selector 效果账本。汇编入口保存调用者 CPU 状态, 在 r8-r11 中独立保护 MPU 捕获值,然后以私有 MSP 调用 C RAM 阶段。C 阶段发布私有 VTOR, 安装 guard,发出最多一次脉冲,真实排空并恢复 MPU;独立汇编返回门核对硬件与受保护捕获值, 恢复链接器确定的 VTOR 并证明读回后,汇编桥才恢复调用者 CPU 状态。guard 只约束 CPU; 其他 bus master 的撤回/join、调用者栈预留及恢复策略仍由外部调用者按合同保证。
目标依据:RAM 维护目标合同、
既有 H743 provider 范围、
IO-24 原始退出条件。
可编辑 DOT。图的渲染、独立语义审查与双语输出检查
只建立各自范围的文档证据;软件候选与实板资格仍分别判断。
FIG-18 RAM 维护结清目标设计¶
身份:target。范围:选定 V 修订/Cache off 的同步物理脉冲;这是协议阶段, 不新增公共 request enum,不证明有界返回时间。
每条边表示有条件的控制流。汇编入口、C 阶段及汇编返回门共用一份内嵌 selector 效果账本: 写 RNR 前登记,精确恢复并读回后清除;独立 MPU 捕获值保存在 r8-r11,C 阶段不得改写。 触发前已有临时效果的拒绝必须先证明回退;触发后 TIMEOUT 只锁存结果,不撤销脉冲,也不返回 Flash handler。C 阶段在有效 TIM2 epoch 下真实排空双 Bank,证明 LOCK 并恢复 MPU,仍保留 私有 VTOR 与私有 MSP。所有返回的 C 路径都必须经过独立汇编门:读回双 Bank 空闲、 零保留效果、精确保存的目标控制值与 LOCK,并对照受保护捕获值证明 MPU;随后恢复 链接器确定的 g_pfnVectors,执行屏障并证明 VTOR 读回。只有此后汇编桥才恢复 CPU 并返回。 永久 busy 持续留在 RAM 排空环;捕获、清理或返回条件无法证明则进入不返回 RAM 终止路径, 不暗示自动复位或喂狗。
目标依据:RAM 维护目标合同、
Arch 合同、
当前软件与物理资格边界。
可编辑 DOT。选定显式操作数及汇编协议的软件证明
受合同中的编译器、调用者与所有权前提约束;IO-24 原始完整退出、候选资格及物理 station 证据仍开放。
补充视图¶
运行时访问补充图和DOT图源分开
表达factory lookup与直接I/O,不替代FIG-01完整分层。
原文档系统目标图和DOT图源
保留原规划的构建输入关系;其target身份只表示方案来源,不建立当前工具、公开
部署、SDK或实板资格。现行交付与恢复按FIG-12及实际执行记录判定。
FIG-21 Native RTC/LPTIM 装配、借用与重新开放¶
身份:current;虚线硬件分支为 target。范围:所选 Native 日历/有限计数实例,普通 TOML 经现有 IR/provider/factory/Platform 装配,显式生命周期与真实排空。
构建边、运行调用和请求源推进均有独立标签。factory 只返回已有接口面;生成的 Platform 首次准备构造一次,后续对已构造 owner 调用私有 start。stop 先关闭准入,撤源失败仍保留请求和 owner;私有 start 优先拒绝保留责任。真实撤源并完成外部 join 后,重新开放先推进代次再开放准入,保留日历、速率、时钟与外部故障。模型推进不发布请求结果。虚线硬件适配需要独立 SoC/时钟/备份域/IRQ/STOP/VBAT 合同,不表示已有物理驱动或 HIL 通过。
依据:RTC/LPTIM 说明、公共 RTC、公共 LPTIM、Native 实现、Native 装配。可编辑 DOT;实施关联:IO-36。软件开发证据与 main/SDK/候选/实板资格分别判断,不能从该图或渲染成功推断。
FIG-22 G474 命名 GPIO 状态与保留租约¶
身份:current。范围:STM32G474RET6/GPIOA/baremetal/hse24-pll170 的显式 DEFAULT/SLEEP;软件 Board PA5,不表示物理安全或低功耗资格。
构建箭头只表示 Board/TOML 到不可变计划与静态对象的生成;factory 箭头只返回既有 face。运行选择不转让 pad 所有权。失败可能保留部分寄存器效果;重试目标或检查 stop 不能丢弃 lease。provider stop 成功后,Platform 仍须独立证明冷快照与 gate 清理;失败继续保留。图不表达 AF、wake、retention、深睡或实板结果。
依据:GPIO pin-state 说明、公共接口、G474 provider、冷态租约生成。
可编辑 DOT;实施关联:IO-31。
FIG-28 U575 LPTIM1 单 tuple 与 Stop2 有序退出¶
身份:reference。范围:STM32U575ZIT6Q/TZEN0/baremetal/SRAM4/LPDMA1 channel0;仅一组固定 LPTIM1 CCR1/RCR0/ARR tuple,内部输出未路由。
成功所需的三个新鲜 write-OK 须在任何 DIER 撤源写入之前锁存;后续不依赖标志存活。有限 DMA 完成但确认缺失时,首轮保留生产源与借用并锁存 IO;下一次 service/recover 带入该失败再撤源,晚到 TC 不会升级成功。该软件参考已通过有针对性的 RED/GREEN 模型与选定 M33 开发重链接;渲染与翻译检查不建立候选或物理资格。
实线标明必要顺序或分支,虚线标明保留责任与恢复。纯初始化之后显式公共 start 取得冷态独占 LPTIM1 的 gate、LSE mux 与按需 LSESYS;部分失败的启动账本保留至公共 stop 证明恢复。新 ARM owner 为 104 B,其中新增 16 B 账本;原 SRAM4 copy owner 仍为 88 B。
ACCEPTED 借用 request、12 B tuple 与完整 48 B LLI 工作区。ENABLE 后至少再过两个保留 RTC tick;初始新鲜写 OK 先证明再清旗。硬件请求 13/BREQ1/保留位 DREQ0 写 CCR1,两个 SWREQ continuation LLI 依次写 RCR0、最后写 ARR;成功还须三个新鲜 write-OK。没有重复 tuple 模式;RUN LPTIM2 须预先关闭并 join。
cancel/deadline 不撤销存储。UEDE0/DIEROK 证明先于 DMA suspend/reset/idle 及引用撤除;随后通过自有 RCC reset 关闭 LPTIM1,绝不清 ENABLE。全部 RTC/IRQ/loan gate/电源/时钟与引用恢复后才最终 SETTLED;acquire 观察与外部 observer join 后,joined 公共 stop 另行归还启动 access claims。未知 profile 禁止 RTC/DMA/LPTIM MMIO;recover 不再 WFI。自有 reset 仅在 DMA 最终访问证明后可重试;活动借用期间观察到的外部 reset 永久隔离,安静默认值不能证明 join。
依据:单 tuple 参考合同、公共 receiver、公共 Stop2 face、私有 LPTIM1 profile。可编辑 DOT;实施关联:IO-32/SOC-35。图不表示引脚路由、完整 PWM 周期播放或物理/HIL 执行;原完整退出条件仍开放。
FIG-30 F407 I2S2 从机有限发送与整块借用退出¶
身份:reference。范围:F407VE/ZG/baremetal/HSE8-PLL168/外部 CK/WS;PB12/PB13/PB15,DMA1 Stream4 channel0,有限 stereo16 整块发送。
实线表示所需顺序或已标明分支,虚线表示保留的借用责任和有界重试。冷复位 Platform 持有共享 GPIOB/DMA1 门控与 TIM2 时间域;显式发送器持有 SPI2 模式、引脚和两个向量。先 ACCEPTED/QUEUED 再读清除型 SR 或允许 DMA 预取;只有观察到 DR 预填充与实际 TIM2 间隔后 acquire 取得 ACTIVE 才允许外部主机提供 CK。引脚采样不证明连续静止。
TCIF/NDTR0 只证明内存计数。停止 DMA 请求/引擎、观察 TXE 后另读新鲜 BSY、撤回地址/计数/标志和向量引用后,才能解除 owner 引用、归还原始整块借用并最终 release 发布 SETTLED。取消、超时或缺失证明都不撤销借用;首个错误保留,错误排空可能欠载且不保证有效音频。观察到复位/门控/时钟或时间历史丢失会永久隔离。所有共享用户及外部观察者先 join,最后才允许 Platform stop。
依据:精确机制页、公共合同、真实 provider 与源码绑定证据。可编辑 DOT。Native 模型、normal VE/ZG/default 链接和单个搬移 development SDK consumer 是有范围的软件执行;图和静态链接不执行外部时钟、不证明真实音频或 HIL。IO-41、完整 SDK/formal/OCI 与物理退出仍分别开放。
FIG-31 共享 IP 与精确 SoC 源码归属¶
身份:current。范围:当前私有控制器源码的维护判定,不表示运行调用、初始化顺序或资格结果。
箭头是标明条件的源码归属决策。精确芯片事实、时钟、复位、引脚、IRQ/DMA 与私有协作合同保留在其 SoC 范围;公共 I/O 合同及产品政策另按接入合同归属。寄存器布局、位含义、访问顺序和复位兼容性在每个选入芯片上均经复核,且各芯片勘误均已显式处理后,算法才放入 drivers/<kind>/<ip>/。名称相似、SDK 有宏或编译成功不能替代复核,未知兼容性继续保留精确 SoC 实现。
共享算法仍由所选 SoC CMake target 私有编译,wrapper 保留真实路由、时钟、内存与准入责任。图不增加运行时转发、注册、任务或支持模式,也不证明实板行为。
依据:provider 接入指南、共享 IP 合同、SoC 合同及私有路径迁移。可编辑 DOT;实施关联:R41。