Files
STM32F4-Base/scripts/size_attestation.json
T
wandering1 7c505b2457 refactor(adc): 最小二乘拟合移出固件,只留 PC 侧唯一实现
用户裁定(2026-11-13):设备本体只需要校正后的参数,不需要自己拟合
标定曲线,故固件侧最小二乘拟合整体移出,拟合的唯一实现留在 PC 侧
test/host/cal_fit.py。

删除的死代码(生产零调用、上一轮 map 里已被 linker 标 Removing):
- adc_cal.h:adc_cal_fit() 声明、8 个拒绝码、5 个常量
- adc_cal.c:s_div_round() / s_fit_accum() / adc_cal_fit() 共 224 行
- adc_cal_test.c:tc_00b_fit 226 行(184 -> 150 条)

原样保留的设备侧安全闸:
- adc_cal_apply() 折算、adc_cal_set() / adc_cal_set_ratio() 参数合法
  带拦截(防工具写坏参数)、adc_cal_flags() / adc_cal_prot_blocked() /
  adc_cal_rail_ths()。设备不「算」,但必须「用」和「验」。

测试面:
- cal_fit.py 转为唯一实现,新增 --selftest:承接原 C 侧金标向量
  (r_q16=39322000 / b=12)与 4 条拒绝路径,共 11 条断言;已做变异
  测试证明它会红(改坏圆整口径 -> 2 条 FAIL)
- cal_two_point.py 删除,两点工具由多点拟合取代

文档口径统一为「求参在 PC、设备只做折算与合法带校验」,6 篇 docs 同步;
执行卡改名 ADC多点标定执行流程.md(正文同步 5 点最小二乘口径)。

cfg 热重载吞段缺陷的解析器契约与 TC-CONFIG-063 机器钉一并入库。
Program Size 不变(Code=256196):删掉的是从未链接进镜像的死代码。

验证:Keil 0 errors 0 warnings;adc_cal 150/150;selftest 11/11;
ci_local.py RC=0(static 48/48、manual 三根、size-gate、host-unit
4341/4341);doc-links / mermaid / mojibake 全 0。
2026-11-13 08:09:09 +08:00

49 lines
1.2 KiB
JSON

{
"built_at": "2026-11-13T08:03:21+08:00",
"fingerprint": "09cfe12df7414b5c2a91aedf39623942a8be2f36c188e2186f54c245b47e30f2",
"fingerprint_files": 1479,
"fingerprint_source": "git-index",
"gated_regions": [
"RW_IRAM1",
"RW_CCM"
],
"git_head": "1355dbe1b13e9bf43f2a0be0ff290a8a9dd208cd",
"map": "MDK-ARM/STM32F407-Demo/STM32F407-Demo.map",
"map_mtime": 1794528195,
"pct": {
"ER_IROM1": 27.46,
"RW_CCM": 87.89,
"RW_IRAM1": 74.02,
"UNINIT_CCM": 18.75
},
"regions": {
"ER_IROM1": {
"max": 1048576,
"size": 287960
},
"RW_CCM": {
"max": 65280,
"size": 57376
},
"RW_IRAM1": {
"max": 131072,
"size": 97024
},
"UNINIT_CCM": {
"max": 256,
"size": 48
}
},
"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": 256196,
"ro_data": 31764,
"rw_data": 2080,
"zi_data": 152368
},
"threshold_pct": 92.0,
"worktree_dirt_at_stamp": 0,
"written_by": "scripts/check_size_gate.py --stamp"
}