SuperAPI AI 工具集

flash-keil

部署与运维

查看项目

更新于 10-15 23:58

技能介绍

用途:当需要把编译产物烧录到目标板,且工程已在 Keil MDK 中配置好调试器(ST-Link、J-Link、CMSIS-DAP、ULINK 等)时使用本技能,直接调用 Keil 内置 Flash Download 功能完成下载。

适用条件:Project Profile 中标明 build_system: keil,或工作区存在 .uvprojx / .uvproj 文件;不需要额外安装 OpenOCD。

必要输入:.uvprojx / .uvproj 工程文件路径(或从 Project Profile 获取),可选构建目标名称和 UV4.exe 路径。

自动探测:脚本启动即复用工程根目录 .em_skill.json 中上次成功的 profile 作为默认参数,显式参数优先;--resume 仅用于断言缓存必须存在,无缓存则非零退出。无缓存或用户要求重新探测时回退到正常扫描。复用 build-keil 的 UV4.exe 探测逻辑(配置文件→环境变量→常见路径→PATH),解析工程 XML 中的 <DriverSelection> 识别调试器类型,未指定目标时默认使用第一个 Target。

执行方式:先阅读 references/usage.md 确认操作,常见场景一次调用完成探测与烧录:python scripts/keil_flasher.py --detect --flash --project <工程文件> --target <目标名>。随后读取脚本输出的烧录结果报告,关注成功/失败状态、调试器类型和日志证据,并将结果写回 Project Profile。

失败分流:environment-missing(Keil MDK 未安装或 UV4.exe 不可用)、connection-failure(调试器连接失败,如 USB 未连接、驱动问题、目标板未上电)、project-config-error(Flash 配置无效或目标名不存在)。

平台与限制:仅支持 Windows;烧录使用工程中已配置的调试器和 Flash 算法;日志可能含 GBK 编码字符,脚本自动处理多种编码。

输出约定:需呈现烧录状态、工程文件与目标名、芯片型号、调试器类型、固件路径与大小、完成时间;失败时给出失败分类和日志证据。成功后推荐 serial-monitor 或 debug-gdb-openocd,失败时输出分类与证据帮助定位。