2012-04-02 4 views
2

命令を数えてアプリケーションに加えたい変更のパフォーマンス測定を実行したい。しかし、私はこれを行う方法を知るために、ARMのデバッグインタフェースについて十分に精通していません。このようなことのためのインターフェースもありますか?私は必要に応じて完全にカーネルに潜入することができますが、私の直感からは、このようなことがユーザ空間に実装されるべきだと私に伝えます。 LinuxカーネルでARMプログラムで実行される命令数を数えるには?

+0

サイクルカウンタにアクセスするこの議論を見てください。http://stackoverflow.com/questions/3247373/how-to-measure-program-execution-time-in-arm-cortex-a8-processor –

+0

ありがとうございますチップが、私はシミュレータで実行しているので、サイクルカウントが役に立たなくなります。代わりに命令数に頼らざるを得ません。 – Alex

+0

どのシミュレータを使用していますか?たぶんそれは、命令カウントを報告したり、命令トレースを生成する能力を持っています。 –

答えて

1

CONFIG_PERF_EVENTSこれにアクセスするための.config

ユーザ空間のツールはlinux-source/tools/perf/

HW_PERF_EVENTSにあるPMU、CPU_HAS_PMUがthuslyに定義されて有効になります。(CPU_V6 || CPU_V6K || CPU_V7 || XSCALE_PMU) && (!ARCH_OMAP3 || OMAP3_EMU)ので、あなたのチップは、おそらくそれを持っています。さもなければ、Linuxはソフトウェアでいくつかの統計情報を取得しようとします(割り込みで%pcの値をサンプリングする、と思われます)。