diff --git a/App/task/adc_task.c b/App/task/adc_task.c index 8af190f6..f9c0ed91 100644 --- a/App/task/adc_task.c +++ b/App/task/adc_task.c @@ -99,6 +99,13 @@ * meas_tick()(全仓调用点 = 1,评审判据);品质注入源 = * adc_cal_flags() 削顶位图,频率 = 同拍 freq 读数;心跳新增 * meas: 行(seq/v/ua·un·ia_mv/f/fv),读数比对类判据待台架实测 + * v3.3 2026-10-27 DTU 项目组 卡 0 台架读出口:心跳新增 adc: 行——连续输出 9 路 + * **原始码值**(与 first: 行同序同格式)。动因 = 注入验证 + * 原本只能靠"改电压 + 复位 + 抓一次 first:",8 个通道 × 3 个 + * 注入点要复位二十余次;改为每 10 s 一行后可全程免复位。 + * 不并进 cal: 行是因为 9 个码值会把该行推到 168 字符、 + * 撞 DBG_CON_LINE_MAX(192) 的静默截断边界(见该行注释)。 + * 无新增跨任务状态、无新增外设访问,栈 +36 B(局部码值数组) */ #include "adc_task.h" @@ -520,6 +527,31 @@ void adc_task_func(void *arg) { log_phasors("hb"); + /* 全 9 路**原始码值**(「数据可信」卡 0 注入验证的唯一连续读出口): + * 与 first: 行同序同格式(UA/UB/UC/UN/IA/IB/IC/IN/T),台架 + * "改电压 → 读一行"即可对表,不必为每个注入点反复复位去抓只在开机 + * 出现一次的 first: 行。两处的通道顺序是同一份约定,改一处必须同步另一处。 + * ⚠ 为何单独一行、不并进下面的 cal: 行:cal: 已 75 字符,9 个码值最坏 + * 再加 93 字符,逼近 DBG_CON_LINE_MAX(192) 的截断边界——截断**不报错**, + * 只会静默少打几路,是最难发现的台架假数据来源;分行后各自留足余量。 + * ⚠ 取数失败(-2 该来源无有效数据)时该槽保持 0,故"9 路全 0"读作 + * "没数据",不读作"九路都是 0 V"——判据是 frames 心跳是否仍在涨。 */ + { + int32_t rc[ADC_SEM_COUNT]; + uint8_t j; + + for (j = 0u; j < (uint8_t)ADC_SEM_COUNT; j++) { + rc[j] = 0; + (void)adc_input_raw((adc_semantic_t)j, &rc[j]); + } + DBG_INFO("adc: UA=%ld UB=%ld UC=%ld UN=%ld IA=%ld IB=%ld IC=%ld IN=%ld T=%ld", + (long)rc[ADC_SEM_UA], (long)rc[ADC_SEM_UB], + (long)rc[ADC_SEM_UC], (long)rc[ADC_SEM_UN], + (long)rc[ADC_SEM_IA], (long)rc[ADC_SEM_IB], + (long)rc[ADC_SEM_IC], (long)rc[ADC_SEM_IN], + (long)rc[ADC_SEM_TEMP]); + } + /* L1.5/采样通道自检 台架观测面(×1000 mV 定点,MicroLIB 无 %f): * ua/un/ia_mv = 三路 TPAFE 引脚电压毫伏(未标定域,**不是** * 二次值;卡 12 注入验证的读数落点,偏差判据 ≤2 %) diff --git a/docs/README.md b/docs/README.md index b5a64d64..0c47e8db 100644 --- a/docs/README.md +++ b/docs/README.md @@ -122,6 +122,7 @@ docs/ | [`链路延迟测试说明.md`](测试说明/链路延迟测试说明.md) | 网络链路时延分段定义、判定基线、执行流程 | | [`模拟器差距清单.md`](测试说明/模拟器差距清单.md) | **PC 模拟器 vs 真机差距登记册**(L3 门禁可信度依据;改动涉及网络/日志/硬件层前必查 §3 决策规则) | | [`实机测试实施指南.md`](测试说明/实机测试实施指南.md) | **上板(真机)测试执行流程**(按顺序:环境预检 → `@test`+自检判定 → IWDG 注入/长跑 → 堆告警 → GD5F 错误通道 → 网络基线 → 工程卫生;每步含判据/命令/状态);已完成事项证据去向见 §10 | +| [`ADC前端注入验证流程.md`](测试说明/ADC前端注入验证流程.md) | **ADC 前端与两片转换器的台架注入验证**(`docs/任务规划/数据可信.md` 卡 0 的执行侧):注入点清单 / 期望码值表 / 零点·线性·映射·极性·节奏五步 / 现场记录表;**不需示波器与信号源**,一块万用表即可 | **主机侧单元测试(L0.5)** diff --git a/docs/任务规划/数据可信.md b/docs/任务规划/数据可信.md index b2e7568b..f65dd93d 100644 --- a/docs/任务规划/数据可信.md +++ b/docs/任务规划/数据可信.md @@ -211,6 +211,8 @@ typedef struct { > 序栏 0 / 0b 只为阅读顺序(补的是 §2.6 这一前置验证),1~12 的编号与外部引用保持不变。 > **顺序:0 → 0b → 12**。**卡 0 是唯一"只需一块万用表"的卡**,没有外部依赖,是今天就能做的 > 第一步;它同时是 M4 ①、卡 12 与 B10 送检的前置。 +> **卡 0 的台架执行步骤**(注入点清单、期望码值、五步流程与现场记录表)见 +> `docs/测试说明/ADC前端注入验证流程.md`——本表只写判据,不写怎么接表笔。 | 序 | 任务 | DoD(可验证验收判据) | 硬依赖 | 资源 | 写范围 | 状态 | |---|---|---|---|---|---|---| diff --git a/docs/内存管理/RAM使用分析与优化方案.md b/docs/内存管理/RAM使用分析与优化方案.md index 25a5d011..b3ca4f55 100644 --- a/docs/内存管理/RAM使用分析与优化方案.md +++ b/docs/内存管理/RAM使用分析与优化方案.md @@ -47,10 +47,10 @@ dhara 失败类 +84;RO 另 +208,全是该失败类名表)→ `ER_IROM1` | 区域 | 用量 | 容量 | 占比 | |---|---|---|---| -| ER_IROM1 | 261,576 B (255.45 KB) | 1,048,576 B (1024 KB) | 24.9% | +| ER_IROM1 | 261,764 B (255.63 KB) | 1,048,576 B (1024 KB) | 25.0% | | RW_IRAM1 | 81,072 B (79.17 KB) | 131,072 B (128 KB) | 61.9% | | RW_CCM | 57,376 B (56.03 KB) | 65,280 B (64 KB) | 87.9% | -| **Flash (ROM 合计)** | **263,148 B (257.0 KB)** | 1,048,576 B (1024 KB) | **25.1%** | +| **Flash (ROM 合计)** | **263,336 B (257.2 KB)** | 1,048,576 B (1024 KB) | **25.1%** | 各区的容量与常量来源: diff --git a/docs/内存管理/RAM预算台账.md b/docs/内存管理/RAM预算台账.md index c5b599ec..9dc34a9b 100644 --- a/docs/内存管理/RAM预算台账.md +++ b/docs/内存管理/RAM预算台账.md @@ -15,7 +15,7 @@ | 区域 | 用量 | 容量 | 占比 | 门禁(≤92%) | |---|---|---|---|---| -| ER_IROM1 (Flash) | 261,576 B | 1,048,576 B | 24.9% | 参考 | +| ER_IROM1 (Flash) | 261,764 B | 1,048,576 B | 25.0% | 参考 | | RW_CCM | 57,376 B | 65,280 B | 87.9% | PASS | | UNINIT_CCM | 48 B | 256 B | 18.8% | 参考 | | RW_IRAM1 | 81,072 B | 131,072 B | 61.9% | PASS | diff --git a/docs/测试说明/ADC前端注入验证流程.md b/docs/测试说明/ADC前端注入验证流程.md new file mode 100644 index 00000000..93c5d8ad --- /dev/null +++ b/docs/测试说明/ADC前端注入验证流程.md @@ -0,0 +1,248 @@ +# ADC 前端注入验证流程(台架) + +> **这篇是什么**:把「ADC 采到的数到底对不对」从"没人验过"推进到"有实测斜率与零点"的固定动作。 +> 它是 `docs/任务规划/数据可信.md` 卡 0 的**执行侧**——那边写判据,这边写怎么接表笔、读哪一行日志、 +> 填哪张表、结果往哪回写。补的是 `docs/硬件平台/ADC通道映射说明.md` §8「逐通道验证方法」 +> 长期挂账的"尚未执行"(挂账自 2026-10-09)。 +> +> **只验直流**:零点 / 线性 / 通道映射 / 极性。不验交流有效值——台架无信号源,且 V0.1 有五路 +> 单极性削顶(`UB/UC/IB/IC/IN`),交流精度要等标准源到位后的两点标定(`docs/任务规划/数据可信.md` 卡 12)。 +> +> **不需要**示波器、信号源、标准源。**只需要**一块万用表 + 一个电位器 + 串口日志。 + +--- + +## 1. 为什么非做不可 + +现有台架判据只证明过"通路是活的":9 通道全部转换成功、零超时、互异非饱和、跨次开机读数不同。 +这些**一条都不证明读数正确**——连符号位对不对都没验过。而下游已经全部按"工程量"消费了: +保护判据、104 遥测、UI 交流量页读的都是 `adc_cal_apply()` 的输出。系数错一倍,三处一起错,且 +没有任何一处会报错。 + +所以这一步的性质是**给整条链路的量纲盖章**,不是"补充测试"。 + +## 2. 前置事实:这个前端不是分压器 + +2026-10-27 按 `docs/硬件平台/V0.1.tel` 逐通道追线,以 UA 为例: + +```text +U5.A3 (AIN1,端子侧) ──[R31 1k]── ADC7 ──┬── U3.61 (AIN_7P,正输入) + └──[C44]── ADC7_GND ──[R32 1k]── AGND + └── U3.62 (AIN_7GND,负输入) +``` + +`ADC7` 这个节点上**只有** R31、C44、U3.61 三样东西,**没有对地电阻**。所谓"1k 到地"是 R32, +它接在 TPAFE 的**负输入脚 AIN_7GND**(芯片手册 pin62)上,是把差分负端经 1k 拴到 AGND, +属于差分滤波,不是信号分压。STM32 侧更直接:`AIN2 —[R52 1k]— ADC17 —[C111]— AGND`,同样没有分流电阻。 + +**由此得到两条可直接用的结论**: + +1. **不存在 2:1 分压**。`docs/任务规划/数据可信.md` §2.1 那组"板级系数 305.18 / 1611.3 µV/码" + (按 2:1 折算到 `AINn` 侧的条件值)在本板上不成立,且该文档已禁止它进代码——本次实测只需**确认**它不成立。 +2. **端子侧斜率 = 引脚侧斜率**。所以在**端子侧**注入既安全(有 1k 串阻护着芯片)又能直接验 LSB, + 不必去碰 LQFP 引脚。 + +期望斜率(由转换器满量程事实推出,与前端无关): + +| 转换器 | 满量程 | LSB | **期望斜率** | +|---|---|---|---| +| TPAFE5160 | ±5 V(10 V 跨度 / 65536 码) | 152.587890625 µV | **6553.6 码/V** | +| STM32 ADC1 | 0~3.3 V(3.3 V / 4096 码) | 805.6640625 µV | **1241.2 码/V** | + +## 3. 注入点清单 + +串联电阻的两只焊盘就是两个注入层级:**1 脚 = 端子侧(靠 U5)**,**2 脚 = 引脚侧(靠转换器)**。 + +| 语义 | 串阻 | 端子侧节点 | 引脚侧节点 | 转换器脚 | 期望斜率 | +|---|---|---|---|---|---| +| UA | R31 | `AIN1`(U5.A3) | `ADC7` | U3.61 | 6553.6 | +| UN | R28 | `AIN4`(U5.A4) | `ADC6` | U3.59 | 6553.6 | +| IA | R19 | `AIN8`(U5.B5) | `ADC3` | U3.53 | 6553.6 | +| UB | R52 | `AIN2`(U5.B7) | `ADC17` | U17.44(PC4) | 1241.2 | +| UC | R20 | `AIN3`(U5.C14) | `ADC12` | U17.37(PA3) | 1241.2 | +| IB | R49 | `AIN9`(U5.A8) | `ADC15` | U17.42(PA6) | 1241.2 | +| IC | R46 | `AIN10`(U5.C9) | `ADC10` | U17.35(PA1) | 1241.2 | +| IN | R48 | `AIN11`(U5.C10) | `ADC11` | U17.36(PA2) | 1241.2 | +| 温度 | R47 | `V_ZL2`(U5.C11) | `ADC14` | U17.41(PA5) | 不验(非线性,不参与标定) | + +> 引脚侧没有串阻保护,注入前**必须外串 10 k 限流**。除非端子侧结果对不上、需要分离 +> "转换器的错"和"前端的错",否则不要用引脚侧。 + +## 4. 读数出口(固件只给这四行,没有命令控制台) + +| 日志行 | 频率 | 内容 | 用途 | +|---|---|---|---| +| `adc: UA=.. UB=.. UC=.. UN=.. IA=.. IB=.. IC=.. IN=.. T=..` | 每 10 s | **9 路原始码值** | 本次验证的主读数 | +| `cal: ua_mv=.. un_mv=.. ia_mv=.. vl=.. cl=..` | 每 10 s | UA/UN/IA 折算后毫伏 + 标定/削顶位图 | 旁证:码值 → 电压是否自洽 | +| `first: UA=.. … T=..` | 每次开机一次 | 9 路原始码值 | 与 `adc:` 行互校(同序同格式) | +| `frames=.. idle=.. adc1_err=.. tgap=..` | 每 10 s | 采集健康计数 | 步骤 5 的节奏判据 | + +`adc:` 行是 2026-10-27 新增的(`App/task/adc_task.c` 心跳块),此前只有 `cal:` 的三路, +验 8 个通道要复位二十余次。现在**全程不必复位**。 + +⚠ `adc:` 行某路取数失败时该槽打 0,所以"9 路全 0"要读作"没数据",判据是同一份心跳里 +`frames` 是否还在涨。 + +## 5. 步骤 + +### 5.1 步骤 0:断电核阻(5 分钟) + +断电,万用表电阻档逐路量 **注入点对 AGND**: + +- 端子侧应量到 **1 kΩ 量级**(串阻 + 转换器输入阻抗并联,不会精确 1 k); +- 引脚侧应量到 **高阻**(只有滤波电容和转换器输入)。 + +任一路量到 **0 Ω 或几十 Ω** → 停,先查焊接/短路,不要通电。 + +### 5.2 步骤 1:零点(这一步是整套测试的分水岭) + +把注入点**短接到 AGND**(短接点先用 0 Ω 档确认与 AGND 直通),读 `adc:` 行。 + +| 通道 | 判据 | 当前空载实测(浮空) | +|---|---|---| +| UA / UN / IA | \|码\| ≤ 10 | **≈ 11430** | +| UB / UC / IB / IC / IN | \|码\| ≤ 5 | **≈ 1000** | + +**为什么这一步最关键**:空载(输入浮空)读数比判据高两个数量级,最可能的解释是输入悬空后 +漏电流在滤波电容上建立的平衡点——短接 AGND 后应塌回 0。但如果**短接后仍读 11430**,那就是 +真实偏置,且超过零点补偿上限 `ADC_CAL_B_MAX`(8192 码)——`adc_cal_set()` 会直接拒掉、 +回退 ROM 系数、永远置不了 `VALID`,保护也就永远解不了锁。**那种情况必须回前端查** +(R32 那侧接地是否断、TPAFE 是否失调),不能靠软件补偿。 + +### 5.3 步骤 2:三点线性(用 UA 做,免复位) + +3.3 V 轨经 10 k 电位器分压作源,逐点注入。**每点同时记两个数**:万用表读注入点实际电压、 +`adc:` 行读对应码值。 + +| 注入(实测电压) | TPAFE 期望码 | STM32 期望码 | +|---|---|---| +| ≈ 0.3 V | 1966 | 372 | +| ≈ 1.0 V | 6554 | 1241 | +| ≈ 2.0 V | 13107 | 2482 | + +判据:三点线性拟合 **R² ≥ 0.999**,斜率与期望值偏差 **≤ 2 %**。 + +偏差 > 2 % 时**先查前端**(焊点、串阻实际值、电位器负载效应),不要用系数去凑—— +把硬件的错固化成"标定值"是最坏的结果。 + +### 5.4 步骤 3:逐通道映射(8 路各一次) + +对每一路单独注入 1.0 V,其余路保持短接 AGND,读 `adc:` 行: + +- **只有对应的那一路上升**,幅值落在期望码附近; +- 其余七路仍在零点附近。 + +任何"注入 A 路、B 路动"都是映射错。这一条比斜率更重要——映射错时斜率可能完全正常。 + +> 记录时把"注入路 → 实际变动路"写进附录表;`ADC通道映射说明.md` §3 的映射表如有不符, +> 以实测为准并当场记下来。 + +### 5.5 步骤 4:极性(只 TPAFE 三路) + +TPAFE 是双极性、二进制补码,可以注负压;STM32 是单极性,负半周测不了。给 UA/UN/IA 各加一个 +**−1.0 V** 点: + +| 注入 | 期望码 | +|---|---| +| −1.0 V | **−6554** | + +码值为负、幅值与 +1.0 V 点对称(差值 ≤ 2 %)→ 符号位与补码解释正确。 +这一步专门补"连极性都没证过"这个缺口。 + +### 5.6 步骤 5:节奏(注入期间顺带看) + +注入期间 `frames=` 应仍**严格 1000 Hz 递增**(10 s 间隔 +10000 左右),`idle=0`, +`adc1_err=0`。这一条替代了原方案里"用示波器看 U3.14 BUSY 有脉冲"的判据——不需要示波器。 + +### 5.7 步骤 6:回写 + +1. 把实测斜率、零点、映射结果写进 `docs/硬件平台/ADC通道映射说明.md` §8,把"尚未执行"改成 + 实测值 + 日期; +2. 若实测确认无分压,同步在 `docs/硬件平台/ADC通道映射说明.md` §7.1 的链路分段表把第 ③ 段 + (`AINn` ↔ 转换器引脚)从"待台架实测"改为实测结论; +3. `docs/任务规划/数据可信.md` 卡 0 销项(按该文件夹"完成即删"的约定,删行不留记录)。 + +## 6. 判据汇总 + +| 项 | 判据 | 不通过意味着 | +|---|---|---| +| 零点 | TPAFE \|码\| ≤ 10;STM32 \|码\| ≤ 5 | 有真实偏置,需查前端;可能超出补偿上限 | +| 线性 | R² ≥ 0.999 | 前端非线性或注入源带载失真 | +| 斜率 | 偏差 ≤ 2 % | 前端有未识别元件,或转换器档位/参考错 | +| 映射 | 注入哪路只动哪路 | 语义表与物理通道不符(`k_adc_map[]` 错) | +| 极性 | −1.0 V → −6554 码 | 补码符号处理错 | +| 节奏 | 注入期间仍 1000 Hz | 注入改变了输入共模,触发转换异常 | + +## 7. 安全红线 + +1. **STM32 侧严禁超过 3.3 V**(VDDA + 0.3 V 即击穿),电位器上限就接 3.3 V 轨,不要接 5 V。 +2. **TPAFE 侧按判据只到 ±2 V**,虽芯片容 ±5 V,但判据不需要更大。 +3. **端子侧不许直接上额定电压**(220 V / 100 V 二次值)。本次是直流低压注入, + 与"加压试保护"是两件事,后者要等变比确认(`docs/任务规划/数据可信.md` 卡 0b)之后单独排。 +4. **引脚侧注入必须外串 10 k**,且先接线后上电、先断电后拆线。 +5. 注入源与板子**共地**;电位器一端接 3.3 V、一端接 AGND、中间抽头串 10 k 到注入点。 + +## 8. 已知坑 + +| 现象 | 原因 | 处置 | +|---|---|---| +| 空载读数 11430 / 1000 码,跨开机稳定 | 输入浮空后的漏电平衡点(推测,待步骤 1 证实) | 短接 AGND 后应塌回 0;不塌则按 §5.2 处理 | +| `cl=0xe6` 恒不变 | `UB/UC/IB/IC/IN` 五路单极性削顶,是 V0.1 硬件缺陷 | 正常;这五路只验直流,不验交流 | +| `vl=0x00` 恒不变 | 从未做过两点标定,`VALID` 未置位 | 正常;标定后才会变 | +| `meas: ua_mv=0` | 基波有效值,直流注入下本就为 0 | 正常;验交流要等信号源 | +| `adc:` 行某路恒 0 而 `frames` 在涨 | 该路取数失败 | 查该路是否真的接线/短路 | +| 斜率恰好差一倍 | 误用了 2:1 分压口径(305.18 / 1611.3) | 本板无分压,见 §2;按 152.59 / 805.66 重算 | + +## 9. 记录表(台架现场填) + +### 9.1 零点 + +| 通道 | 短接后码值 | 判据 | 结论 | +|---|---|---|---| +| UA | | ≤ 10 | | +| UN | | ≤ 10 | | +| IA | | ≤ 10 | | +| UB | | ≤ 5 | | +| UC | | ≤ 5 | | +| IB | | ≤ 5 | | +| IC | | ≤ 5 | | +| IN | | ≤ 5 | | + +### 9.2 三点线性(UA) + +| 注入电压(万用表) | 码值 | 反算 µV/码 | +|---|---|---| +| | | | +| | | | +| | | | + +拟合 R² = ______ 斜率 = ______ 码/V 偏差 = ______ % + +### 9.3 逐通道映射 + +| 注入路 | 注入 1.0 V 后变动的路 | 码值 | 是否符合预期 | +|---|---|---|---| +| UA | | | | +| UB | | | | +| UC | | | | +| UN | | | | +| IA | | | | +| IB | | | | +| IC | | | | +| IN | | | | + +### 9.4 极性 + +| 通道 | +1.0 V 码值 | −1.0 V 码值 | 对称性偏差 | +|---|---|---|---| +| UA | | | | +| UN | | | | +| IA | | | | + +--- + +## 变更记录 + +| 日期 | 内容 | +|---|---| +| 2026-10-27 | 建档。承接 `docs/任务规划/数据可信.md` 卡 0 的执行侧;固化"前端无分压"的网表结论、端子侧注入点清单、期望码值表与五步流程。同日 `App/task/adc_task.c` 心跳新增 `adc:` 行(9 路原始码值),使全程免复位 | diff --git a/docs/测试说明/测试文档模板规范.md b/docs/测试说明/测试文档模板规范.md index de6f0b78..0b8d952c 100644 --- a/docs/测试说明/测试文档模板规范.md +++ b/docs/测试说明/测试文档模板规范.md @@ -141,7 +141,7 @@ | `GD5F` | GD5F2GQ5UE NAND Flash 驱动 | `GD5F2GQ5UE_Test_Guide.md` | | `STO` | 存储(FTL + FatFS 集成) | `GD5F2GQ5UE_Test_Guide.md`(TC-STO 章节) | | `RTC` | SD2506 RTC | `SD2506_Test_Guide.md` | -| `ADC` | TPAFE5160 ADC | (待立) | +| `ADC` | TPAFE5160 + STM32 ADC1 采集与折算(台架注入验证) | `ADC前端注入验证流程.md` | | `RS485` | RS-485 通信 | (待立) | > 新模块立测试文档时先定缩写(2~4 个大写字母),并同步更新本表与 `测试开发标准流程.md` §2.2 的缩写表。 diff --git a/scripts/ram_baseline.tsv b/scripts/ram_baseline.tsv index b686d4eb..cc0c0ee9 100644 --- a/scripts/ram_baseline.tsv +++ b/scripts/ram_baseline.tsv @@ -9,4 +9,4 @@ date code ro rw zi er_irom1 er_pct iram1 iram1_pct ccm ccm_pct top_rwzi 2026-10-24 213780 18860 1204 131852 232640 22.2 75632 57.7 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6766;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4128;sys_log_mcu.o=3944;default_task.o=2736 2026-10-25 224860 24640 1332 135100 249500 23.8 79008 60.3 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6770;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4128;sys_log_mcu.o=3944;default_task.o=2736 2026-10-26 231712 25560 1520 136216 257272 24.5 80312 61.3 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6770;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4132;sys_log_mcu.o=4003;default_task.o=2736 -2026-10-27 235268 26308 1572 136924 261576 24.9 81072 61.9 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6770;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4132;sys_log_mcu.o=4055;default_task.o=2736 +2026-10-27 235372 26392 1572 136924 261764 25.0 81072 61.9 57376 87.9 heap_4.o=57376;lv_mem_core_builtin.o=16384;lftpd.o=7884;ui_net_sink.o=6770;ui_port.o=6420;nand_ftl.o=6216;ch395f.o=4162;console_log.o=4132;sys_log_mcu.o=4055;default_task.o=2736 diff --git a/scripts/size_attestation.json b/scripts/size_attestation.json index 72b7f3a9..1b31c8af 100644 --- a/scripts/size_attestation.json +++ b/scripts/size_attestation.json @@ -1,25 +1,25 @@ { - "built_at": "2026-10-26T23:32:22+08:00", - "fingerprint": "06808c35e47b1113c385277d666806349a09249384347b3ecfd6f27ee79948b0", - "fingerprint_files": 1430, + "built_at": "2026-10-27T15:11:51+08:00", + "fingerprint": "a05b8080445881c36969628b3aff1d98ce74c0f35bcc57c1a8a31d31762b30f2", + "fingerprint_files": 1440, "fingerprint_source": "git-index", "gated_regions": [ "RW_IRAM1", "RW_CCM" ], - "git_head": "b623a406ad58c2d281d8e54f118999a0016da328", + "git_head": "103e26e111505b9c091fe1d47b205d222a7c9cc5", "map": "MDK-ARM/STM32F407-Demo/STM32F407-Demo.map", - "map_mtime": 1793026332, + "map_mtime": 1793084971, "pct": { - "ER_IROM1": 24.54, + "ER_IROM1": 24.96, "RW_CCM": 87.89, - "RW_IRAM1": 61.27, + "RW_IRAM1": 61.85, "UNINIT_CCM": 18.75 }, "regions": { "ER_IROM1": { "max": 1048576, - "size": 257272 + "size": 261764 }, "RW_CCM": { "max": 65280, @@ -27,7 +27,7 @@ }, "RW_IRAM1": { "max": 131072, - "size": 80312 + "size": 81072 }, "UNINIT_CCM": { "max": 256, @@ -37,10 +37,10 @@ "schema": 2, "scope_note": "\u540c\u7801\u51ed\u8bc1\uff1a\u6307\u7eb9\u8986\u76d6\u56fa\u4ef6\u4f53\u79ef\u76f8\u5173\u6e90\u7801\uff0c\u53e3\u5f84\u89c1\u672c\u811a\u672c docstring", "sizes": { - "code": 231712, - "ro_data": 25560, - "rw_data": 1520, - "zi_data": 136216 + "code": 235372, + "ro_data": 26392, + "rw_data": 1572, + "zi_data": 136924 }, "threshold_pct": 92.0, "worktree_dirt_at_stamp": 0,