有时候RTT功能检测不到RAM块,这里提供一种使用LUA小程序检索RTT的RAM空间是否存在的方法。
1、首先需要看map文件
_SEGGER_RTT:这个是RTT的控制块结构体
_acUpBuffer :这个是上传RAM块地址
比如我这里获取的是
_SEGGER_RTT 0x200011cc
_acUpBuffer 0x20001274
当然使用TOOL的Trace解析对应的可执行文件也是可以的
2、LUA小程序测试:
[Lua] 纯文本查看 复制代码 local ok
local bytes
beep()
pg_init() -- 初始化SWD接口函数
-- 执行5次
for i=0,5,1 do
ok,bytes = pg_read_mem(0x200011cc, 10) -- 读取cb控制块标识
if(ok == 1) then
print(bytes)
else
print("cb控制块标识读取失败")
end
ok,bytes = pg_read_mem(0x20001274, 1024) -- 所有_acUpBuffer内容读取输出
if(ok == 1) then
print(bytes)
else
print("_acUpBuffer内容读取读取失败")
end
delayms(1000)
end
|