精确支持范围

派生能力矩阵 自动核对 SoC/route 的 mode、参考 Board binding 与实际 resolver/emitter 选择的生产源码。叙述表说明运行合同,派生表说明精确 身份与有限源码一致性;两者均不继承旧 HEAD 的资格或替代实板执行。 本轮有限芯片接入与平台反馈流程见 主流 MCU 接入;同系列其他型号、封装和模式 不能自动继承本页范围。

芯片、板卡与系统

目标

软件实现

未完成的物理事实

STM32F407ZGT6 / 启明欣欣 V3.1

Cortex-M4F;1 MiB Flash;主 SRAM 128 KiB、CCM 64 KiB;声明 clock/profile 与 reviewed routes

实际 PCB 修订、晶振、供电、连续性、波形与负载

STM32F407VET6 / 天空星青春版

Cortex-M4F;512 KiB Flash;主 SRAM 128 KiB、CCM 64 KiB;独立 Board 资源

相同类别的实际 PCB/电气/HIL 验收

GD32F470ZGT6 / 梁山派

Cortex-M4F;1 MiB Flash;主 SRAM 192 KiB、ADDSRAM 256 KiB、TCM 64 KiB;25 MHz 声明输入、200 MHz profile;可选 USB 独立 48 MHz owner

未观察 PCB/晶振/电气;默认 linker 只用主 SRAM;实际 USB clock/PHY 仍未测量

STM32G474RET6 / MB1367 来源参考配置

Cortex-M4F;512 KiB Flash;SRAM1/2 96 KiB 与单独计数的 CCM 32 KiB;HSE24/170 MHz、TIM2;封装 GPIO、六 UART IRQ bytes、SPI1/2 轮询、TIM3/4 CH1 PWM、IWDG、EXTI0/1;独立软件夹具增加 ADC1 单次/有限 TIM6-DMA block、I2C1 polling 与物理 Flash;裸机/FreeRTOS 静态 factory

52 个封装 GPIO 不等于 PCB 接线;PF0/PF1、PG10 保留;ADC DMA 仅选 SRAM1/2,不开放 CCM alias;无 UART/SPI DMA、连续 ADC 或自动 AF 选择;PCB/电气/HIL 未观察

STM32H743ZIT6 / NUCLEO-H743ZI2 来源参考配置

Cortex-M7F;2 MiB Flash;AXI SRAM 512 KiB,可显式选入并初始化 D2 SRAM1;pre-RAM LDO、HSI32/HSI64 × Cache off/on、TIM2、GPIO、USART3 IRQ/有限 TX DMA/有限 RX DMA-IDLE;独立软件夹具增加 SPI4、I2C1、ADC1、TIM3 CH1、EXTI0/1、IWDG1 与物理 Flash;基础装配为裸机/FreeRTOS;另有 V 修订 HSI64 裸机 SPI4 有限 DMA、USART3 连续双缓冲 RX,以及显式有限 TX DMA/连续 RX 双向模式(均 Cache off/on),以及 PLL384/Cache off 裸机时钟参考;可选独立 V/D-Cache off/AXI RGB565 DMA2D 组件

PCB/供电/硅片 revision/Cache 一致性未观察;有限 RX 有 service/rearm 间隙,连续 RX 有界 inactive-bank 替换时限与显式 loss/stop;新增 UART/SPI DMA 模式只接纳所选 AXI SRAM,不接纳 PLL384 或 FreeRTOS;Cache on 要求独占完整 32-byte lines;无其他已选 DMA 引擎或运行状态接管;DMA2D 无 TOML/factory 路由;Flash 仅 Cache off;软件资格按精确源码独立记录

STM32U575ZIT6Q / NUCLEO-U575ZI-Q 单状态参考配置

Cortex-M33F;2 MiB Flash;SRAM1 192 KiB;外部预先确认 TZEN=0/SWAP_BANK=0,MSIS4 MHz、TIM2;GPIOA..H、USART1/2 IRQ bytes、IWDG;USART1 另可显式选择有限 GPDMA TX、有限硬件链 TX 或有界 FIFO IRQ bytes;独立软件夹具增加 SPI1、I2C1、ADC4、TIM3 CH1、EXTI0/1、物理 Flash、无引脚 LPTIM2 RUN 单次计数及预备 LSE RTC AlarmA RUN 轮询;基础装配为裸机/FreeRTOS,新增模式按各自精确配置验收

PCB/SMPS/silicon revision/option bytes/VDDIO2 未测量;Cache off;ADC 要求外部准备 VDDA/ASV;USART1 GPDMA 仅有限连续地址 SRAM1 TX,RX 保持 IRQ bytes;硬件链最多三块、两私有节点,不开放通用 SG/循环链;LPTIM2/RTC 仅裸机 RUN;RTC backup domain 由外部 boot owner 预备;无 RX DMA、LPDMA、自主低功耗、Stop/VBAT 连续性、通用双域 factory 或其他 RAM 放置

STM32U575 独立 TZEN=1 双域参考

外部预先配置 option bytes;两个 Runtime 镜像、冷启动 SAU/MPU/SRAM 归属 owner、真实 CMSE SG;单一非特权 NonSecure Thread 通过同步复制消息访问受限 PC7 GPIO

未执行实板隔离验收;无 OS、通用双域 factory、NS 任务身份、异步借用/跨域 DMA 或产品镜像认证;不改变上列 TZEN=0 默认装配

STM32F103RBT6 / NUCLEO-F103RB 来源参考配置

Cortex-M3,无 FPU;128 KiB Flash、20 KiB SRAM;HSI8、16-bit TIM2;GPIO、USART2 IRQ bytes/有限 DMA TX/duplex RX blocks、SPI1 polling、I2C1 IRQ 消息、PA0 ADC1、PA6 TIM3 CH1 PWM、EXTI0/1、IWDG 与物理 Flash;裸机/FreeRTOS 静态装配

正常启动仅核工厂 Flash 密度 128 KiB;ES096 2.2.2 限制正常固件读取 DBGMCU,设备组/修订未观察,料号/封装为配置声明;PCB/VCP 焊桥/引脚负载/HSI 精度未观察;PA5 LED/SPI 与 PA6 SPI/PWM 冲突须拒绝;I2C priority0 不调用内核;RX 有间隙;无 SPI/I2C DMA 或其他 F1 型号支持

GD32F303RCT6 / 芯片软件参考

Cortex-M4F;256 KiB Flash、48 KiB SRAM;IRC8M、TIMER1/TIMER4 硬件级联时间域;GPIO、USART0 IRQ bytes/有限 DMA TX/duplex RX blocks、SPI0 polling、I2C0 IRQ 消息、PA0 ADC0、PA6 TIMER2 CH0 PWM、EXTI0/1、FWDGT 与物理 FMC;裸机/FreeRTOS 静态装配

无已审 PCB、LED、晶振、串口适配器或 connector 接线;I2C priority0 不调用内核;RX 有间隙;无 SPI/I2C DMA 或其他 F30x 型号支持;级联传播及电气须实测

Native

Linux/POSIX 行为模型、实际线程与持久化文件故障模型

不构成 MCU 或电气资格

裸机和锁定 FreeRTOS 均为显式选择的薄适配。启动只建立平台时钟/接口,不创建 scheduler、产品任务或工作流。FreeRTOS POSIX host 运行验证软件生命周期,不能 替代对应 MCU 的 IRQ ceiling、FPU context 与 stack high-water 实板验证。

H743 使用官方 Cortex-M7 启动与有界 LDO 电源入口,在 ACTVOSRDY 前禁止 RAM 写入;从 HSI64、Cache off 的可信冷状态建立所选固定时钟与 Cache 配置。Cache 关闭位本身不能证明外来 dirty 数据已经清理;要求可信复位或此前成功完成自有 clean/disable。U575 默认 Platform 使用官方 Cortex-M33 启动并维护 TZEN=0 单地址状态;独立 TZEN=1 参考有自己的入口和安全归属 owner。启动后读取 option register 不能使不匹配的启动变成合法状态。两者都不修改 option bytes,不自动 接管 bootloader、DMA 或既有 clock/IRQ owner。原始 CMSIS Device H7/U5 源码、 许可和版本固定在 source lock。 精确入口见 H743 与 U575。

ThreadX 是额外显式后端,锁定官方 Eclipse ThreadX 6.5.2.202603 release。当前 配置维护三块 F407/F470 Board 的 Cortex-M4 GNU port,以及 Native Linux GNU。 独立 CPU runtime 维护 M4 integer、M4F hard/softfp,BASEPRI 或 PRIMASK 政策; 其他 Cortex-M ThreadX port 明确拒绝。生产 graph、真实 Linux 内核 task/queue/join 与三板 ARM 链接分别验证,Linux 自身 pthread 栈与内部 host 分配不是 MCU 成本。 ThreadX 不实现本项目 FreeRTOS 的 MPU、split-security 或 tickless 模式。详见 ThreadX 接入。平台启动不进入任何内核,产品显式进入内核; 仍运行的 scheduler 不允许普通 I/O shutdown 关闭其 clock/Tick。

CPU 软件层另支持 M0/M0+/M3/M4/M7/M23/M33/M55/M85,统一严格事实 解析器选择 Core/Arch、原子操作和裸机/FreeRTOS runtime。M0/M0+ RMW 使用 bounded saved-PRIMASK;可选 cache/MPU/SAU 有真实 CPU 算法,FPU/MVE 与安全 状态决定精确 kernel port 和 ABI。CPU-only runtime 自身不生成 SoC/Board/factory; 上述 H743/U575 纵切片分别拥有独立装配与验收。编译、寄存器模型与真实 FP/MVE/cache/MPU/安全世界验收分别记录; cache.h 的范围维护与仅 M7 维护的冷 Cache 启停分别提供;CMSE 范围权限观察 本身不建立用户内存 pin、复制或 transport。 可选 restricted MPU task 和 split Secure/NonSecure runtime 已有独立软件实现; 窄 delay/tick SVC、Secure context lease 与调用者静态存储分别验证。默认仍为 privileged single-world;MPU+split 明确拒绝,未新增实板 HIL。范围和配置例子见 Cortex-M 软件支持 与 Arch 契约。

首发模式

以下完整外设表只对应 F407/F470 首发实现。F103、GD303、G474、H743、U575 仅维护上表与各 SoC 合同明确列出的切片,不继承这张完整 I/O 表。U575 双域同步 GPIO 参考单独维护;不从芯片型号或通用接口推断其他外设、DMA、ThreadX 或低功耗模式。

接口

已实现模式与限制

GPIO

authorized mask、原子 set/reset、快照 read、single-writer toggle

UART

8N1 IRQ TX 或有限 TX DMA;caller-owned request、真实 TC;IRQ RX blocks/IDLE、有限及连续 RX DMA、双向 DMA;显式 RTS/CTS 与外部静态 RS485 适配;STM baud 最低 1282、GD 最低 1526,最高 1 Mbaud

SPI

8-bit MSB-first;短轮询每笔最多 256 bytes;有限 DMA 最多 65535 bytes;双向递增或调用者单字节固定 dummy/discard;单 wire-active、完整 CS interval;独立 CS endpoint

I2C

100 kHz;最多 8 条消息、每条 read/write 1–256 bytes;轮询、中断及 DMA 消息;1/2/末三字节 ACK、repeated START/NACK/仲裁/STOP;恢复检查 BUSY 与所选 SCL/SDA 电平;独立有界 GPIO bus-clear 工具

Flash

STM 精确 16/64/128 KiB sector 几何与 x32 program(4-byte alignment/length,声明供电 2.7–3.6 V);GD 官方独立 4 KiB page erase 与 halfword program;全物理空间、外部受限 region

Watchdog

独立 enable/feed/reset cause;名义配置成功返回 SUCCESS,启用不可逆,启用后的失败保留责任;F407 和 GD470 当前物理 timeout bounds 均为 0/0 unknown,已启用 state 查询返回 UNSUPPORTED 并保留 enabled/irreversible/实际 debug 事实;失败的启用前 LSI/debug 清理可经平台 stop 重试

EXTI

selected line、共享 vector、caller-sized event queue、丢失/coalescing 可见;无 debounce 政策

PWM

固定 timer/channel/base、CCR shadow、0/100%、safe inactive;公共 stop 可以 restart,平台 teardown 释放 owner

ADC

reviewed channel、single-shot/低速 scan、有限及连续双缓冲定时触发 DMA blocks;显式 sample time/reference;只发布完整扫描;可选外部序列与软件观测时间记录

Classic CAN

11/29-bit DATA/RTR、0–8 bytes、真实三邮箱、共享 filter domain、显式 abort/bus-off recovery;没有 CAN FD 或自动重发

USB FS device

internal PHY PIO、EP0 control IN/OUT64、EP1–3 bulk IN/OUT MPS8/16/32/64 B、interrupt IN MPS1–64 B、packet loan、SETUP epoch、reset/stop drain、独立 48 MHz owner;独立可选 activation face 显式管理非零方向 active/mask,冷态仅 EP0;reset 实际排空后软件屏蔽并撤销非零 active,再以当前 epoch 显式启用;Chapter 9 配置事务/回滚由外部负责;没有 Host/HS/DMA/ISO/class stack

F407 的 dma-tx 显式选入官方 HAL 有限 TX 与分离的 LL IRQ byte/event RX, 由同一个私有静态 provider 管理。公共 face、共享 readonly ops、取消、drain 与借用合同保留,其他 UART 模式仍使用各自既有引擎。仅 UART/DMA/RCC C 单元 和已审查头文件进入私有构建,不调用 HAL_Init,也不启动 HAL SysTick,不授予其他 HAL 模块支持。 精确 callback ABI、IRQ 延后、held EN/TE、时钟和完整退出合同见 官方驱动接入。 模型、factory、ARM/SDK、同合同资源比较和物理 HIL 分别验收;不能从复用推断成本下降。

F407 名义周期使用 (RLR + 1) × divisor / 32000,GD470 使用 (RLD × divisor + 1) / 32000,不能套用同一公式。F407 数据手册的 17..47 kHz 是 VDD=3 V、TA=-40..105 °C 的表征条件,当前没有声明满足条件的 operating profile; GD470 数据手册只给 IRC32K 典型频率,没有已审查的保证 Min/Max。因此两者当前均报告 未知物理边界。SUCCESS 表示名义寄存器配置完成,不证明物理超时;启用后的 UNSUPPORTED 查询也不表示计数器已关闭。需要保证时限的产品必须在不可逆启用前 拒绝不满足其时限合同的 profile。

USB 配置/factory 已在两 STM 封装与 GD470 的软件 Board 夹具执行真实 ARM 链接, 默认参考 Board 不自动暴露 USB connector/VBUS 电气。vbus_sensing=true 缺少 reviewed 电气时拒绝。PA11/PA12 AF10 的硅片路线不证明实际跳帽、供电、VBUS 或 ESD;它与 CAN1/USART1 flow-control 的资源冲突必须拒绝。详见 USB packet 合同。

以下纵切片拥有独立生产机制和开发证据,最终配置、SDK 与完整镜像接入分别验收。 不能将其中一项的模型通过记为整个平台或参考 PCB 通过。

可选机制

精确范围与当前边界

原有 Raw Ethernet eth / MDIO / DP83848

Native/ST/GD normal chained descriptor、RMII、14–1514-byte untagged Ethernet II、caller-owned RX loan;ETH/MDIO face 共用一个 MAC context;ST ZG/GD ZG 软件夹具已有 factory 与裸机/FreeRTOS ELF;该 face 不提供 SG、VLAN 或硬件时间戳;无协议栈、checksum offload、jumbo

增强 Ethernet eth_frames / MDIO

F407/GD470 精确 RMII 参考及 Native 模型;rmii-vlan-sg-ptp 选择独立状态、八字 descriptor、完整 SG frame loan、单个带内 VLAN C-tag 和 MAC 硬件事件时间戳;裸机软件夹具与独立开发证据;不能与原有 eth 同时占用一个 MAC;无 tag 插入/剥离、checksum offload、jumbo、网络时间同步或协议栈;实板未执行

Input capture

STM TIM4 CH1 / GD TIMER3 CH0,PB6 AF2、16-bit modulo count、caller event ring;软件观测时间不是 edge aperture;装配接入独立验收

Complementary PWM / break

STM TIM1 / GD TIMER0,PA8/PB13/PB12 AF1;不可变精确 deadtime 与 BKIN,禁止自动重启;没有功率级安全资格

User I/O broker

特权 kernel 调用的 scalar GPIO read/set-reset、真实 principal/pin/copy/unpin 窄端口;U575 独立无 OS 参考接入同步 CMSE gateway;无通用 SVC、多任务 userspace transport 或异步用户 DMA

参考 Board 默认不声明 Ethernet PHY/REFCLK/reset 接线。启明 ZG 可选 RMII 来源 涉及 PG11/13/14,因此不授权 VE100 封装;天空星和梁山派无 reviewed PHY 路线。 协议、电缆、PHY power/reset、产品 MAC 地址和恢复策略留在外部。详见 Ethernet、增强帧合同、高级 timer、 用户 I/O broker 与 G474。

G474 的封装 GPIO、六个 UART、SPI1/2、IWDG 与 PA0/PA1 EXTI 分别具有明确的 生产实现和生成夹具。LPUART1、USART1/2/3、UART4/5 只维护 IRQ bytes;SPI 为 8-bit、mode 0..3、显式 active-low CS,每笔最多 256 bytes,当前 170 MHz profile 接纳 requested SCK 664063 Hz..42.5 MHz;无 DMA、RX event/block 或任意 AF 自动选择。 实际接线仍须 Board 授权;源码、预算、方法保留和向量检查不证明实物的 MCU、X3 晶振、VCP/LD2 焊桥或 SPI 电气。 初次 SoC 执行记录 保留其历史 code revision; 扩展执行记录 单独绑定后续扩展的源码和证据。 离线复现与候选封存仍有独立 退出条件,不能继承此前 F407/F470 候选的资格。

G474 的 fixed-pwm 仅维护 TIM3 CH1/PA6 AF2 与 TIM4 CH1/PB6 AF2,分别独占整个 controller。tick_hz 必须与 170 MHz 时钟形成 1..65536 的整数分频;固定 period 为 1..65535 ticks,duty 为 0..period,active-high、edge-aligned,显式处理 0/100%。 stop 先观察 CCER/CEN 关闭,再建立 Board 声明的 GPIO inactive;无法证明停止时保留 fault 与 clock lease,交给私有 close 重试。PA6 与 SPI1 MISO 冲突;不提供共享 timer base、互补输出、capture、break、PWM IRQ 或 DMA。模型、factory 和 ARM 夹具不能 证明真实输出频率、负载或电气安全。

H743 USART3 的 dma-tx 使用 DMA1 Stream0、DMAMUX1 channel0/request46,RX 保持 IRQ byte ring;rx-dma-idle 使用 DMA1 Stream1、DMAMUX1 channel1/request45, TX 保持 IRQ。二者是显式替代模式,不自动组合成 DMA duplex。仅接纳所选且已初始化的 AXI SRAM/D2 SRAM1; Cache off 每块/每笔为 1..65535 bytes,Cache on 地址和长度必须按 32 bytes 对齐、 长度最多 65504 bytes,调用者独占完整 cache line。TX 在 clean 后启动;RX 在 DMA 前及排空后 invalidate,稳定剩余计数和维护完成后才发布完整块或 IDLE prefix。 引用、通道、DMAR 或 cache 维护未排空都保留借用;消费者持有块时保留 stream 与 平台依赖。这两个有限模式由 owner service 发布并重新接纳下一块,可能出现间隙; 它们不提供 circular 或双缓冲 RX,也不扩大其他 DMA engine、RAM 放置或运行中变频。Cache 配置在平台生命周期内固定,全部 provider 排空后才能关闭时基及 Cache。

独立 rx-dma-continuous 模式限定 H743 V、HSI64、裸机和已初始化 AXI SRAM, 使用 USART3、DMA1 Stream1/request45 与 DBM/CIRC 两个硬件 target。调用者提供 至少三个等长、互不重叠的块;Cache off 长度为 32..65535,Cache on 为独占且对齐的 完整 32-byte lines、32..65504 bytes。task service 在同源 BRR/TIM2 算出的保守 replace_by 之前替换 inactive bank,再完成 Cache 维护并发布;IRQ 不执行 Cache 维护。超过时限、CT 不明确、Cache 失败或无 FREE 块会显式报告 loss、停止生产并保留 借用,直到真实排空;不覆盖旧块或自动重臂。IDLE 结束本次 producer 并发布已排空的 prefix,调用者须显式重新初始化 stream 再 start。TX 仍为独立有限 IRQ,不构成 DMA duplex;开发模型与链接不代表连续无损吞吐、时限或 HIL 资格。

另选 dma-duplex-continuous 才在上述精确 V/HSI64/裸机/AXI 参考中增加有限 TX DMA,使用 DMA1 Stream0/request46;RX 仍使用 Stream1/request45。三路向量 分别承担 TX DMA、RX DMA 与 USART 责任,TX 请求/payload 与完整 RX pool、slots 及控制存储必须互不重叠。Cache on 的 TX 为独占且对齐的完整 32-byte lines,长度 32..65504 bytes;Cache off 为 1..65535 bytes。DMA TC、线上 TC 和借用排空分别 观察;取消不撤销借用,失败保留 QUARANTINED。成功停止可再次正常启动;冷态恢复 失败保留责任,时钟/timer/cache 失效会永久 taint 当前保留生命周期。该模式不扩大 RTOS、PLL384、D2 SRAM 或物理吞吐/Cache 一致性资格。

H743 SPI4 的独立有限 dma 模式选择 DEV_ID 0x450、REV_ID 0x2003(V)、 HSI64 默认 trim、Cache off/on 和裸机。PE12/PE13/PE14 AF5 与 PE11 active-low CS 是软件路线;DMA1 Stream2/3 分别负责 RX/TX,只接纳已初始化 AXI SRAM 中互不重叠的 TX/RX span;Cache off 为 1..65535 bytes,Cache on 的地址和长度须为独占完整 32-byte lines,长度为 32..65504 bytes。可与独立 USART3 Stream0 TX 或 Stream1 RX 配置组合;不开放 PLL384、FreeRTOS、16-bit、固定 dummy/discard 或多段传输。精确约束见 H743 provider 合同。

U575 USART1 的 dma-tx 选择 GPDMA1 channel0/request25、TZEN0、MSIS4、8N1 和 Cache off,只接纳非安全 SRAM1 中 1..65535 bytes;USART1 RX 仍使用 IRQ byte ring。 DMAT 按 ES0499 保持到 UART 完整停止证明 UE/ACK、两路 IRQ 与 publisher 完整撤回, 不能用 DMA TCF 代替 UART 线上 TC 或最终借用排空。独立 irq-fifo-bytes 模式有 显式阈值与每次 IRQ RX/TX 字节预算,不与 GPDMA 混用。两个模式均不扩大 USART2、 TrustZone 或低功耗范围;见 有限 GPDMA和 FIFO IRQ 合同。

独立 dma-chain-tx 复用同一 USART1、GPDMA1 channel0/request25 和 IRQ-byte RX。 一次请求仍借用连续 SRAM1 span,协议上限 196605 bytes,还须完整落入可达 RAM 且与 所有 live state/ring/facts/nodes 不重叠;最多三块,每块最多 65535 bytes。 两个 packed 12-byte 私有节点组成 24-byte 数组,整个数组按 32 bytes 对齐并位于 同一 64 KiB CLBAR 窗口;节点与 payload 均保留到 fetch/channel/IRQ 排空及独立 UART TC 已观察。它不开放 SG、循环链、RX DMA 或低功耗自主运行。

独立无引脚 LPTIM2 irq-counter16-oneshot 选择 TZEN0、MSIS4、裸机、PCLK1/4 名义 1 MHz 与 IRQ68 priority5/calls_os=false。单次接受 2..65536 ticks,1 tick 因硬件 ARR 必须大于 reset CCR0 而返回 UNSUPPORTED;跨时钟写同步、update completion 与撤源 排空分别观察。它不取得外部引脚或 DMA,不提供 Stop、backup、VBAT 连续性或物理 计时精度证明;参考 Board 未观察 PCB/硅片修订。

U575 的 TZEN0 Platform 维护所选 GPIO、USART1/2 IRQ bytes、IWDG 与上述六类有限外设;GPIOH 只接纳 PH0/PH1/PH3。 PG2..PG15 还要求外部电源 owner 已建立 VDDIO2、PWR clock 和 IO2SV;平台不打开 未知外部电源,也不把 IO2SV 当作电压测量。独立 TZEN=1 参考的分区、固定 principal 和同步借用前提见 TrustZone 合同,不能扩大 TZEN=0 factory 或授予异步跨域 DMA。

F103 的 1 MHz TIM2 是 16-bit,overflow IRQ 服务及中断屏蔽间隔必须小于名义 65.536 ms。GD303 以 TIMER1 的更新 TRGO 驱动 TIMER4 组成硬件级联,要求 high overflow IRQ 在 4,294,967,296 µs 内服务;实际 carry 传播仍须 HIL 核对。 两者均只修正一个 pending full wrap,不把软件观察时间当作实测精度。 两者的 SPI 均为 8-bit、mode 0..3、有界轮询,每笔最多 256 bytes,31.25 kHz..4 MHz; F103 使用 SPI1,GD303 使用 SPI0。F103 的 PA5 同时连接 LED 与 SPI SCK,不能冲突 选择。具体接入与失败停止合同见 F103 和 GD303;没有把这些切片提升为全系列或全外设支持。

F103/GD303 的 UART channel-DMA 仅接纳声明 SRAM 的 1..65535-byte span;TX-only 实例保留紧凑 TX 状态和 IRQ byte ring,duplex 才增加调用者 block 接收扩展。DMA TC 不能替代真实 UART TC。正常模式 RX 在撤回 DMA、稳定 count 后发布,owner service 重新装填,存在间隙;不覆写消费者 loan。I2C 固定 PB6/PB7、名义 80 kHz、7-bit, IRQ priority0 的接收窗口保留进入前 mask,拒绝内核通知;无隐式 bus-clear。

新增外设的有限合同

G474 的独立 acquisition 夹具选择 ADC1 PA0/IN1、12-bit bulb sampling、 SYSCLK/128=1.328125 MHz、sample code0。TIM6 正常 DMA block 只接纳精确整除 1 MHz 的 2.5–50 kHz;孔径由前次 EOC 到下次 trigger 决定,不能从 SMPR 单独推算。 每次丢弃首次转换,发布前停止 trigger、DMA/ADC 并观察 ADEN 关闭;下一次 service 重启,具有间隙。I2C1 PB8/PB9 使用独立 HSI16、固定标准模式 timing。具体预热、 校准、勘误和内存合同以 G474 为准。

H743 新有限外设使用独立软件 Board 包;不能把 SPI4、I2C1、PA3 ADC1、PA6 TIM3 及 EXTI 的选择推成 NUCLEO 实板接线。可选 D2 SRAM1 有独立预算和启动 DATA/BSS 初始化;NOINIT 由调用者初始化,DMA 借用前再查 SRAM1 gate。Cache-on DMA 要求 独占完整 32-byte lines。FIG-09 的 AXI-only TX 图是一个精确参考,不枚举这些新增 放置或有限 RX 模式。详见 H743 合同。

U575 的 SPI1/I2C1/ADC4/PWM/EXTI/Flash 仍处于 TZEN0。ADC4 单次采样要求外部 VDDA、电源时钟及 ASV;SPI1 MISO 与 TIM3 CH1 共用 PA6,必须使用互斥装配。 独立 TZEN1 参考只把最多八项同步 GPIO 消息复制到 Secure 私有存储,不提供这些 新外设的通用双域 factory 或异步 transport。详见 U575 及 双域合同。

精确 Flash

物理几何与编程粒度

F103RB

128 × 1 KiB page;2-byte halfword

GD303RC

128 × 2 KiB page;2-byte halfword

G474RE

DBANK=1、未交换映射;256 × 2 KiB page;8-byte ECC doubleword

H743ZI

未交换两 bank;16 × 128 KiB sector;32-byte ECC flashword;Cache off

U575ZIQ

TZEN0/SWAP0;256 × 8 KiB page;16-byte ECC quadword

公共 geometry.program_flags 的 NX_FLASH_PROGRAM_REQUIRES_FRESH_ERASE 要求 调用者证明 ECC 编程单元自成功擦除后未经历其他编程脉冲;FF 读回不能证明隐藏 ECC 历史,失败/中断后必须重新擦除;零 flags 也不豁免所选 provider 自身的编程规则。 全 FF 输入跳过物理脉冲。每个已开始的脉冲必须 取得新完成证据并排空后才返回;deadline 仅阻止下一脉冲,不中止硬件操作。产品显式 提供供电声明、擦除对齐区域、同 bank 取指停顿、watchdog 与掉电恢复政策。模型与 链接不建立模拟精度、实测脉冲时间、Flash 掉电或 Cache 一致性资格;所有 HIL 仍为 not_executed。当前源码实现与最终 clean-source 软件资格分别记录,不继承历史计数。

完成标志的锁存前提按家族区分:F407/G474/U575 需要对应 EOPIE,GD470 需要 ENDIE;polling owner 暂时取得这些位时,FLASH IRQ 仍保持 NVIC disabled、无 active/pending 的独占准入,结束清源、上锁并确认 pending 撤回。F103/GD303/H743 的完成标志按其寄存器合同无条件锁存,不照搬其他家族的 interrupt-enable 要求。 具体脉冲与清理约束见 主流接入合同。

Ethernet 生成夹具保留精确 TX/RX descriptors 与 RX buffers,只接纳 STM 主 SRAM 128 KiB 或 GD 主 SRAM192 KiB。四个 ZG ARM graph 的开发预算/retention 通过不 授权 GD ADDSRAM/TCM、STM CCM、VE100 的 PG route 或某个产品 PHY。独立 cold review、clean-source SDK 与实板资格仍各自建立,参考默认镜像不选入 ETH/MDIO。

有限 DMA 的精确首发路线如下,其他 controller/通道组合由 resolver 拒绝。

模式

STM32F407

GD32F470

UART TX DMA

USART1;DMA2 stream7 channel4

USART0;DMA1 channel7 selector4

UART RX DMA/双向 DMA

USART1;RX DMA2 stream2 channel4;TX 同上

USART0;RX DMA1 channel2 selector4;TX 同上

SPI 全双工 DMA

SPI1;DMA2 RXstream0/TXstream3 channel3

SPI4;DMA1 RXchannel3/TXchannel4 selector2

I2C 消息 DMA

I2C1;DMA1 RXstream0/TXstream6 channel1

I2C0;DMA0 RXchannel0/TXchannel6 selector1

ADC 有限/连续 trigger blocks

ADC1;TIM3 TRGO;DMA2 stream4 channel0

ADC0;TIMER2 TRGO;DMA1 channel0 selector0

已审查的软件 Board 配置支持 STM32F407 I2C1/I2C2 与 GD32F470 I2C0/I2C1 的 IRQ/DMA 装配及 typed factory;双控制器夹具已有独立实例隔离与真实 SDK 链接证据。 参考 Board 只开放明确声明的 binding;其他硅片路线与实际接线需单独审查。详见 多控制器所有权。

SPI DMA 要求非空、不重叠的 TX/RX 实际访问跨度;固定地址方向只访问调用者的一字节。 不分配 scratch 或隐式复制池。实际 memory domain 与读写权限由 provider 再次校验;STM CCM、GD TCM 均不能作为 DMA 缓冲。DMA TC 表示内存传输事实,UART TC/SPI idle 表示线上事实;两者排空证明 都满足后才发布 SETTLED。取消、超时或 EN 拒绝关闭保留借用,进入 QUARANTINED。

UART 的 irq-blocks 保留独立 IRQ 接收实现;rx-dma-idle 使用有限 DMA 与 IDLE, rx-dma-continuous 使用硬件双缓冲,另有显式 dma-duplex 和 dma-duplex-continuous。块由调用者提供,消费者 acquire 后保持不可变,直到匹配 epoch 的 release。连续模式必须预留两个硬件目标及替换块;替换地址读回、目标银行 和新错误检查成立后才能发布旧块。没有替换块就停止,不覆写消费者借用。 仅接收模式使用独立只读方法表,不保留 TX DMA 方法与对应链接代码,也不嵌入 TX DMA extension;只有 duplex 实例单独选入该扩展。实际 RAM/Flash 成本仍由同源 linked ELF 测量,不能推导零生命周期开销。RTS/CTS 并不代替 容量和排空合同;RS485 的 DE 引脚、极性及 setup/hold 时间由外部工程明确提供, 到达真实 UART TC 后才开始 hold 并撤销 DE。详见 UART DMA 与 RS485。

ADC 的 trigger-dma 使用普通有限 DMA;每块停止触发、转换与内存写入,再发布完整块。 调用者必须显式 service,完成上电稳定/GD 校准后重新触发下一块。无空闲 loan 时 保持暂停,不覆写、不伪造暂停期间的精确丢样数。该模式有块间间隙,不承诺连续 无间隙采样。trigger-dma-continuous 则显式选择硬件双缓冲及预投递块,地址替换 成功后发布完整块;至少需要三个调用者 slot。频率需满足精确 timer divider 和 整段 scan 转换时间;GD 连续模式显式选择 SDK 对应的 sample-time code,有限模式 保持原有 15-cycle sample。可选 observer 的时间戳是软件发布观测时间,不是采样 孔径时间。单个锁存 TC/CT 事实无法计算未观测的多轮丢样。stop 在持有 loan 时返回 BUSY。

I2C 中断及 DMA 共享经过两家 SDK 布局与位定义检查的 V1 寄存器算法,MCU 热路径 直接访问寄存器。DMA TC 不代表线上完成;最后字节、BTF、STOP/MSL、DMA EN 和 IRQ 发布者必须排空后才 SETTLED。bus-clear 独立要求静止外设、独占开漏 GPIO 和 有界等待,最多九个完成的恢复脉冲;STOP 或释放失败保留 lease,可继续清理。 平台没有为未经审查的 Board 自动切换引脚。详见 I2C 总线恢复。

这些是 SoC 实现能力。参考 Board 默认 binding、软件测试夹具路线、现场测量结果 各自独立。STM32 默认参考 Board 未声明可资格化的 SPI CS,资源矩阵只测 empty/GPIO/UART;软件 fixture 的 SPI 不能继承为参考板 SPI 支持。GD32 默认 Board 的 SPI4 PF6/7/8/9 有公开来源,外接 NOR 具体料号仍未知。

明确边界

连续模式不能承诺任意 IRQ 延迟与消费者速度下无丢失。I2C 超出 256-byte 的 read、 动态 clock、deep sleep/STOP、安全启动/升级及上述未维护模式明确不提供。 FreeRTOS 可选 lowpower_port="timebase" 只在固定 F407/GD470 profile 使用浅 Sleep; 要求 SysTick、tickless、single privileged、无 MPU。默认 custom 不新增 sleep 机制;CPU-only runtime 缺少 SoC timebase 时拒绝该选择。实际相位、clock 连续性、 wake latency 与功耗保持物理未执行,见浅睡眠。 Unsupported 配置明确拒绝,不通过成功 stub 声称支持。

Flash pulse 不能被 deadline 撤销;BUSY 未清不能释放责任。产品负责 Flash 执行 停顿、电压、watchdog 窗口、掉电、认证、布局与持久化格式迁移。公共通用 storage 的 CRC/commit 机制不等于安全升级协议。

GD32 Flash 的重新上锁读回失败会保留静态 provider 并拒绝继续操作,需要受控 复位;普通 stop 不能恢复此状态。tests/google/gd32_flash_fault_test.cpp 专项模型 验证故障后拒绝读取/写入/重新取得控制器,不构成实板资格。 生命周期与扫描诊断的解释见安全审查。

硬件未接入,全部 MCU 目标的 clock、reset、GPIO safe output、UART TC/abort/RX、SPI/I2C 电气、Flash 掉电、watchdog reset、EXTI 波形、PWM 与 ADC 精度均未执行。当前 支持声明不能替代物理 HIL 或产品 release promotion。