5

我正在尝试将检测/分析调用添加到 C 源代码。我发现的许多编译器都有允许您执行此操作的标志(--gnu_instrument、-finsturment-functions 等)。然后为插入的函数调用提供定义。从那里,您可以使用生成的调用图以及您决定从分析调用中提取的任何指标来做一些很酷的事情。

但是,我需要检测使用 ADS 1.2 编译的代码

安装程序在这里

(源码是用\ARM\ADSv1_2\Bin\armcc.exe构建的)

文档

老实说,这个编译器对我来说已经很老了,而且我很难找到很多有用的信息。我真正想要的只是要检查的编译器选项的完整列表,但我一定错过了它。(就选项而言,链接的文档感觉不完整)

我确实偶然发现使用 -instrument 作为一个选项,虽然没有给出错误(当明显错误的标志出现时,-asdf),但在使用 -S 时对生成的程序集没有影响。但我无法在任何文档或帮助菜单中找到 -instrument,所以我可能只是使用不正确。或者我想它可能是一个被删除的功能,但仍然可以让你编译没有错误,我真的不知道。

如果有人对这个编译器有经验或者只是一个更好的谷歌人,任何帮助将不胜感激

4

1 回答 1

1

我认为没有更好的文档(但遗留工具链不是我的领域)。

是的,编译器是 2001 年的。我认为您更有可能成功查看 ETM 跟踪以进行非侵入式分析。在这个工具链出现的时候,目标应用领域没有空闲的 CPU 容量来负担软件工具的费用。此用例是 ETM 的目标应用程序之一,您应该能够使用现代工具构建正确类型的分析(因为其架构已合理标准化)。

它确实依赖于您的硬件在硅片中具有 ETM,以及合适的跟踪捕获端口或嵌入式跟踪缓冲区。

于 2019-06-19T07:50:35.503 回答