执行任意 Keil 命令窗口命令
keil_commandSend raw Keil commands directly to the debugger and get command output/error details, enabling actions not covered by dedicated tools.
Instructions
把一条命令原样送进 Keil 命令窗口执行(走 UVSOCK 的 EXEC_CMD),并把命令窗口输出/报错一并带回来。本工具是「万能兜底」:当某个专用工具不覆盖你要的操作时,用官方命令直接做,不必等封装。
常用命令:BS <符号|地址> 下断点、BK <编号> 删断点、BL 列断点、BK * 全清、G 运行、G, main 运行到 main、T 单步(进)、P 单步(过)、O 单步(出)、EVAL <表达式> 求值、WS <变量> 加观察、RESET 复位、_RDWORD(0x地址) 读 32 位内存、printf("fmt", x) 打印到命令窗口、LOG >>文件 / LOG OFF 把命令窗口输出落盘。
三条真机实测的坑(务必看):
单步的官方缩写是
T/P/O;写Step/Tstep/Pstep会回*** error 34: undefined identifier(无窗口焦点时单步会退化成指令级,不进源码级)。命令报错不会反映在 UVSOCK 的 status 上(Keil 恒回 status=0)——本工具已解析命令窗口的
*** error N: message并自动给出错误码含义,判断成败请看返回里的 ok / errors,不要只看 status。一次只能一条命令(含换行/回车会被拒),多步请用 batch 或 batch_debug_script。 返回:ok / status / console(命令窗口新增行)/ errors(含 code+meaning+fix)/ reply。高风险:
BK *、RESET、G等会改变目标运行状态。 【参数】必填: command;可选: settle_ms, explain_errors 【调用示例】{"command": ""} 【风险】中——会改变目标状态或占用共享资源(调试态/串口/Keil 实例),必要时可回退。
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| command | Yes | ||
| settle_ms | No | ||
| explain_errors | No |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |