Skip to content

[add] MRamTrace: lightweight RAM-backed function tracing for MCU firmware - #2027

Open
Zepp-Hanzj wants to merge 2 commits into
RT-Thread:masterfrom
Zepp-Hanzj:add-mramtrace
Open

[add] MRamTrace: lightweight RAM-backed function tracing for MCU firmware#2027
Zepp-Hanzj wants to merge 2 commits into
RT-Thread:masterfrom
Zepp-Hanzj:add-mramtrace

Conversation

@Zepp-Hanzj

Copy link
Copy Markdown

包介绍 / Package Description

MRamTrace 是一款轻量级基于 RAM 的 MCU 函数追踪与离线可视化工具。通过 GCC/Clang 的 -finstrument-functions 将函数进入/退出事件写入环形缓冲区,冻结后导出,结合 ELF 生成火焰图、调用图、Perfetto、Speedscope 等离线分析数据。

MRamTrace is a lightweight RAM-backed function tracing and offline visualization tool for MCU firmware.

仓库 / Repository

特性 / Features

  • 16 字节固定事件,低开销,纯软件插桩,无 ETM/SWO 依赖
  • 支持多上下文(任务 / 中断 / 空闲)
  • RT-Thread port:利用 rt_thread_self() 免任务切换 hook
  • 主机端分析器:火焰图、KCachegrind、Chrome Tracing、Speedscope

验证 / Validation

已在 STM32F407(lxb407zgt6)实测:1200 事件、100% 覆盖、0 未解析符号,成功生成火焰图 / callgrind / chrome-trace。

修改文件 / Files

  • tools/MRamTrace/package.json
  • tools/MRamTrace/Kconfig
  • tools/Kconfig(注册 source)

@Zepp-Hanzj

Copy link
Copy Markdown
Author

已将 VER_SHA 从 main 固定到 v1.0.0 release 对应的 commit(81c2e766),避免后续 main 分支变动影响拉取稳定性。

本地已通过完整 CI 校验:

python3 ci.py --packages MRamTrace --check-kconfig

结果:Checked 1 package(s),无报错。

另外补充说明:RT-Thread 适配已在 STM32F407 真机验证(1200 事件、100% 覆盖、0 未解析符号),详情见 PR 描述。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant