SuperAPI AI 工具集

flash-openocd

编程与开发

查看项目

更新于 10-15 23:58

技能介绍

用途:当工作区已有可用固件产物、且探针与 OpenOCD 兼容时,调用自带脚本完成嵌入式固件烧录,并可衔接到串口观察或调试。

主要能力:自动复用工程根目录 .em_skill.json 中上次成功的 profile 作为默认参数(显式参数优先);按 ELF > HEX > BIN 选择产物;自动探测 ST-Link、CMSIS-DAP、J-Link 等已连接探针,优先使用第一个;配置优先级为显式输入、现有 Project Profile、--scan-configs 扫描到的工作区线索;默认开启校验和复位。

使用方式:先阅读 references/usage.md 确认本次是环境探测、配置扫描还是执行烧录;不确定探针状态时运行 scripts/openocd_flasher.py 的 --detect 模式;不确定配置时用 --scan-configs 扫描;用 --artifact 指定产物,配合 --interface + --target 或 --config 执行烧录;BIN 文件必须同时提供 --base-address。--resume 仅用于断言缓存必须存在,无缓存则非零退出。

失败分流:openocd 不可用返回 environment-missing;无法安全解析产物或 BIN 缺基地址返回 artifact-missing;无法发现探针或目标板返回 connection-failure;配置文件无效返回 project-config-error;烧录开始但校验、停核或复位失败返回 target-response-abnormal;存在多个同样合理的配置集合返回 ambiguous-context。不要拼接多个部分匹配的配置。

输出与交接:输出 OpenOCD 命令、所选配置文件、产物路径及是否要求校验和复位,并在 Project Profile 中保留或更新 artifact_path、artifact_kind、openocd_config;做启动验证后推荐 serial-monitor,需要调试时推荐 debug-gdb-openocd。

限制:探针访问失败在各宿主平台都可能表现为 USB 或驱动问题,报错文本随操作系统不同;脚本使用 Python 标准库和 subprocess 调用 openocd,烧录调度路径本身跨平台。