我正在尝试将检测/性能分析调用添加到C源。我发现许多编译器都有一些标志可以让您执行此操作(--gnu_instrument,-finsturment-functions等)。然后,为插入的函数调用提供定义。从那里,您可以使用结果调用图以及您决定从性能分析调用中提取的任何指标来做一些有趣的事情。
但是我需要使用ADS 1.2编译的代码
(源文件使用\ ARM \ ADSv1_2 \ Bin \ armcc.exe构建)
说实话,这个编译器对我来说已经很老了,我很难找到很多有用的信息。我真正想要的只是要检查的编译器选项的完整列表,但我一定会错过它。 (就选项而言,链接的文档感到不完整)
我确实偶然发现使用-instrument作为选项,尽管没有错误(当出现明显的错误标志时,-asdf),但使用-S时对生成的程序集没有任何影响。但是我无法在任何文档或帮助菜单中找到-instrument,因此我可能会错误地使用它。或者我想它可能是一个被删除的功能,但是仍然可以让您毫无错误地进行编译,我真的不知道。
如果任何人都有使用此编译器的经验,或者只是一个更好的Google-er,将不胜感激
答案 0 :(得分:1)
我认为没有更好的文档(但是旧工具链不是我的专长)。
是的,编译器是2001年份。我认为您更有可能成功地将ETM跟踪用于非介入性分析。在编写此工具链时,目标应用程序区域中没有多余的CPU容量来负担软件检测的费用。此用例是ETM的目标应用程序之一,您应该能够使用现代工具建立正确的分析类型(因为其架构已合理标准化)。
它确实取决于您的硬件中是否包含ETM,以及合适的跟踪捕获端口或嵌入式跟踪缓冲区。