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
If this post helped you, please consider buying me a coffee or donating via PayPal to support research & publishing of new posts on TechOverflow