Leistung auf dem PIC32 messen

English Deutsch

Zuerst mit MPLab Harmony Configurator 3 das CORETIMER-Modul für das Projekt aktivieren. Es ist keine spezielle Konfiguration erforderlich.

Der PIC32 Core Timer läuft immer mit der halben CPU-Frequenz. Wenn die CPU beispielsweise mit 200 MHz läuft, läuft der Core Timer mit 100 MHz.

Dann kann verwendet werden

coretimer_counter_get.cpp
uint32_t CORETIMER_CounterGet();

um den aktuellen Wert des Core Timers abzurufen. Zusätzlich kann die Frequenz des Core Timers in Hz abgerufen werden mit

coretimer_frequency_get.cpp
uint32_t CORETIMER_FrequencyGet();

Den folgenden Codeausschnitt verwenden, um zu messen, wie lange die Ausführung einer bestimmten Funktion dauert:

measure_function_time.cpp
uint32_t t0 = CORETIMER_CounterGet();
run_my_func();
uint32_t t1 = CORETIMER_CounterGet();

Danach kann die Anzahl der Sekunden berechnet werden, die die Ausführung der Funktion gedauert hat, z.B. mit

compute_seconds.cpp
uint32_t tdelta = t1 - t0;
float seconds = tdelta / (float)CORETIMER_FrequencyGet();

oder die Anzahl der Millisekunden:

compute_milliseconds.cpp
uint32_t tdelta = t1 - t0;
float milliseconds = tdelta / (CORETIMER_FrequencyGet() / 1000.0);

oder die Anzahl der Mikrosekunden:

compute_microseconds.cpp
uint32_t tdelta = t1 - t0;
float microseconds = tdelta / (CORETIMER_FrequencyGet() / 1000000.0);

Check out similar posts by category: C/C++, Electronics, Embedded