Zykluszähler auf ARM Cortex M4 (oder M3)?

Ich versuche, eine C-Funktion (die von einem Interrupt aufgerufen wird, aber ich kann sie extrahieren und anderswo profilieren) auf einem Cortex M4 zu profilieren.

Welche Möglichkeiten gibt es, um die Anzahl der Zyklen zu zählen, die normalerweise in dieser Funktion verwendet werden? Die Funktion soll in ~ 4000 Zyklen ausgeführt werden, daher ist RTC meiner Meinung nach keine Option, und das manuelle Zählen von Zyklen aus dem Zerlegen kann schmerzhaft sein - und nur dann nützlich, wenn der Durchschnitt berechnet wird, weil ich ein Profil in einem typischen Stream mit einem typischen Flash / Speicher erstellen möchte Nutzungsmuster.

Ich habe von Zykluszählerregistern und MRC-Anweisungen gehört, aber sie scheinen für A8 / 11 verfügbar zu sein. Ich habe solche Anweisungen in Cortex-Mx-Mikros nicht gesehen.

Antworten auf die Frage(5)

Ihre Antwort auf die Frage