【问题标题】:how to use gcc instrumentation options without a native filesystem如何在没有本机文件系统的情况下使用 gcc 检测选项
【发布时间】:2018-12-12 16:36:14
【问题描述】:

许多instrumentation options for gcc 在运行期间/之后将数据保存到文件:

当编译的程序退出时,它将此数据保存到一个文件中,每个源文件都称为 auxname.gcda。

但是,我在一个自定义的基于 C++ 的 RTOS 上运行,它没有像 Linux 这样的“本机”文件系统。

问题

如何使用这些将结果输出到文件的 gcc-instrumentation 选项?
我是否必须提供一个文件写入器接口——在我的情况下,它会写入一个 RAM 缓冲区——每当检测代码需要“写入文件”时都会调用它?

【问题讨论】:

  • 对“gcc gprof arm-cortex-m”的网络搜索产生:mcuoneclipse.com/2015/08/23/… 它似乎使用半主机将分析数据写入主机。这有帮助吗?
  • @domen 是的,这就是答案。将其添加为该问题的答案,以便我关闭它。

标签: c++ gcc arm instrumentation cortex-m


【解决方案1】:

网络搜索“gcc gprof arm-cortex-m”会产生:https://mcuoneclipse.com/2015/08/23/tutorial-using-gnu-profiling-gprof-with-arm-cortex-m/

它似乎使用semihosting 将分析数据写入主机。

Semihosting 是 ARM 与主机上的调试器通信的常用方式(通过 JTAG/SWD)。 qemu 等模拟器也支持它。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 2020-12-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 2017-10-13
    相关资源
    最近更新 更多