在我的客户中,我们正在从 ptxdist 切换到 Yocto。与此同时,我们还改用性能低得多的处理器,因此需要进行一些优化。我正在寻找一种信息丰富且易于使用且与 Yocto 兼容的分析工具。
我找到了此页面,并且按照说明使用 perf 取得了一些成功。简而言之,这些说明涉及在目标上安装调试符号,然后在那里运行
perf record
和 perf report
。
这种方法并非没有缺点
我现在想做“远程分析”。 IE。与“远程调试”类似,我只想在主机上有调试符号,在目标上运行
perf record
,然后在主机上运行 perf report
。在谷歌上,我发现了一些提示,这应该是可能的,但没有任何关于如何做到这一点的说明。
目前我陷入了绝望的困境。也就是说:
perf
不是SDK的一部分,并且似乎没有perf-native
或perf-cross
包可供构建。另一方面,我认为这个想法并不奇怪,我是第一个尝试这个的人。
有什么建议吗?
(目前使用 Yocto Langdale,因为这似乎是 Xilinx 发布的最后一个,但我很高兴从任何地方获取灵感;-)
您可以尝试扩展现有的 perf.bb 配方,以提供
nativesdk-perf
,如 docs.yoctoproject.org/ref-manual/classes.html#nativesdk 中所述
作为参考,通过使用字符串
BBCLASSEXTEND = "nativesdk"
的文本搜索来搜索类似的食谱
扩展
perf.bb
后,将以下行添加到您的 image.bb 文件中TOOLCHAIN_HOST_TASK += "nativesdk-perf"
bitbake populate_sdk
并检查生成的 SDK 是否包含该包。
检查 SDK 内容的简单方法是位于
host.manifest
中的 build/tmp-glibc/deploy/sdk/host.manifest
文件。它描述了填充到 Yocto SDK 中的包。