我正在做一个具有ARM926Ej-S处理器的嵌入式设备上的项目,我需要对该设备上的算法进行性能分析。我刚接触嵌入式环境,不太了解什么是嵌入式设备的性能分析。
有人能告诉我分析时应该考虑哪些参数吗?如何去实现呢?
谢谢大家
发布于 2010-01-22 20:58:10
你有什么样的调试环境?你有在线仿真器(ICE)吗?我建议您有一个调试环境,以便可以在随机时间手动停止执行,并检查程序的状态,包括调用堆栈(stackshots)。以这种方式手动采样调用堆栈将揭示代码中负责大部分时间的位置,以便您可以对其进行优化。Here is a longer explanation.
这可能与您所考虑的稍有不同。许多人认为,为了找到优化的东西,你需要对代码进行计时,但事实并非如此。计时是找出你所做的事情是否有所不同的好方法,但有些人认为,堆栈抽样是找出如何做才能有所不同的最好方法。
发布于 2010-01-22 18:04:41
我的方法是阅读参考手册( http://www.arm.com/miscPDFs/5499.pdf ),它应该涵盖您需要的一切。这将显示是否有浮点单元,FPU中有哪些缺点,当使用DMA时,您必须记住什么,缓存和内存布局,以及内存总线速度和许多其他至关重要的东西,如果您想要正确和有效地对此设备编程。
不幸的是,我从来没有使用过这个特定的设备,所以我不能指出任何具体的东西,但你肯定会在RefManual中找到你需要的一切。如果您了解硬件,则可以分析算法的特定部分对性能的影响。但你必须了解硬件的内部结构。
https://stackoverflow.com/questions/2116238
复制相似问题