我想知道您如何在裸机系统(ARM Cortex a8)上分析软件?以前我使用的是具有内置基准统计信息的模拟器,现在我想比较真实硬件(在BeagleBoard-Xm上运行)的结果。

我知道您可以使用gprof,但是我有点迷失了,因为假设您必须在目标系统上运行Linux?

我使用Codesourcery的arm-none-eabi交叉编译器构建可执行文件,并且目标系统正在运行FreeRTOS。

最佳答案

通过“概要分析”仔细评估您的意思。您的操作确实确实非常接近裸机,并且可能需要您承担gprof之类的工具所执行的一些工作。

您想给函数调用计时吗?还是情监侦?在进入和退出正在检查的代码时如何切换GPIO线。可以将数据记录器或示波器设置为在这些事件上触发。 (以我的经验,由于我的数据记录器可以配置为捕获这些事件的序列,因此数据记录器更为方便-允许我计算平均时间。)

您要计算执行次数吗? Cortex A8配备了许多功能(例如可配置的事件计数器),可以帮助:link。您的ARM芯片可能还配备了可以使用的其他外围设备(取决于供应商)。无论如何,请看一下上面的链接-新的ARM具有很多很酷的功能,而我却没有像我想的那样玩! ;-)

10-06 14:28
查看更多