Skip to content

嵌入式工具箱 v1.19.0:细节深化 II(verify v1.14.0 / lookup v1.10.0)

Choose a tag to compare

@liujycode liujycode released this 17 Oct 10:02
· 22 commits to main since this release

嵌入式工具箱 v1.19.0:细节深化 II(verify v1.14.0 / lookup v1.10.0)

继续补细节缺口:这轮把 E12(只写寄存器读改写)的形态补全,并把 SVD 的"读语义"用起来。

一、verify v1.14.0:E12 补齐读改写形态

  • MODIFY_REG:先读回、改掩码位、再写回——同样是读改写,此前 op(modify_reg)不在检查
    列表里,只写寄存器上的 MODIFY_REG 会被漏报;现在会报。
  • REG_CLR_FIELD:op 名(clear_field)与检查列表里的 clr_field 拼写不一致,此前不报;
    现在与 REG_SET_FIELD 一起覆盖(地址可解析时)。
  • 报告里的形态名显示为规范宏名:对只写寄存器 PORTX.BSRR 做读改写(MODIFY_REG)…。
  • 文件类型收集补 .hxx(目录模式与 --headers 头文件扫描)。

二、lookup v1.10.0:读语义提示与宏生成细节

  • readAction=modifyExternal(读后由硬件修改):decode --write / set 给出读改写提示
    ——"读改写(reg |= x)会把读取时的外部变化一并写回,轮询与读改写需谨慎"。覆盖
    Silicon Labs / XMC / nRF 等带该语义的 SVD(此前只提示 modifiedWriteValues 一类)。
  • macros 默认项说明:isDefault 枚举默认项输出为"默认项 X:其余取值(不生成宏)",
    不再误写成"含任意位(模式 xx)"的位模式注释。

三、实测

  • 九生态语料复测零回归(ESP-IDF 224/0/34/190、TI 363/0/300/63、libopencm3 366/3/287/76、
    AVR 33/0/2/31、SAMD 49/0/22/27、Renesas 36/0/26/10、Silabs 309/0/218/91、NXP 3/0/1/2);
  • 397 项测试全过(新增 MODIFY_REG/REG_CLR_FIELD 的 E12 用例、读语义提示用例、.hxx 收集用例、
    默认项宏注释用例);召回 229/229 保持;正样本 55 文件 0 误报。

安装(不变)

  • Claude Code:/plugin marketplace add liujycode/embedded-toolkit 后 /plugin install embedded-toolkit@embedded-toolkit
  • 其他 Agent:npx skills add liujycode/embedded-toolkit