写入目标内存
write_memWrite bytes to a memory address with readback verification, confirming the write actually took effect; optionally halt the target to ensure the write lands.
Instructions
向指定内存地址写入字节。data_hex 为十六进制字节串(偶数长度),如 'de ad be ef' 或 'deadbeef'(自动去空格)。返回实际写入长度,并默认做写后回读校验(verify=true,返回 verified/readback_hex):并发写入、目标运行中、或写只读/未擦写区域时,写入可能被静默忽略——verified=false 即明确告诉你「写下去了但没生效」,不要据此推断目标行为(如误判为看门狗复位)。addr 支持十六进制/十进制/符号名。运行态写入(running,默认 "live"):目标全速运行时也能写(回读校验会告诉你有没有落地),但写入可能被 CPU 后续改写或缓存回行覆盖;要确保写进去就生效,用 running="halt"(停-写-回读-走,返回 paused_ms / was_running / resumed / halt_note)。写外设寄存器/关键内存有副作用,写入前确认地址与值正确(可先 read_mem 备份)。 【参数】必填: addr, data_hex;可选: verify, running 【调用示例】{"addr": "0x20000000", "data_hex": "deadbeef"} 【风险】高——不可逆:会改写目标 Flash/内存,或关闭/重启用户的 Keil 实例。执行前确认目标与工程正确。 【参数别名】addr ← address/expression/location/name/pc/symbol/target;data_hex ← bytes/data/hex/value。规范名以上方【参数】行为准;未列出的参数名会被拒绝,不会静默忽略
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| addr | Yes | ||
| verify | No | ||
| running | No | live | |
| data_hex | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |