diff --git a/cores/esp32/Esp.cpp b/cores/esp32/Esp.cpp index 8df9514ee66..54451127ef3 100644 --- a/cores/esp32/Esp.cpp +++ b/cores/esp32/Esp.cpp @@ -92,13 +92,6 @@ void EspClass::deepSleep(uint32_t time_us) esp_deep_sleep(time_us); } -uint32_t EspClass::getCycleCount() -{ - uint32_t ccount; - __asm__ __volatile__("esync; rsr %0,ccount":"=a" (ccount)); - return ccount; -} - void EspClass::restart(void) { esp_restart(); diff --git a/cores/esp32/Esp.h b/cores/esp32/Esp.h index 9acb6665c3d..2580eecf65b 100644 --- a/cores/esp32/Esp.h +++ b/cores/esp32/Esp.h @@ -76,7 +76,7 @@ class EspClass uint8_t getChipRevision(); uint32_t getCpuFreqMHz(){ return getCpuFrequencyMhz(); } - uint32_t getCycleCount(); + inline uint32_t getCycleCount() __attribute__((always_inline)); const char * getSdkVersion(); void deepSleep(uint32_t time_us); @@ -101,6 +101,13 @@ class EspClass }; +uint32_t IRAM_ATTR EspClass::getCycleCount() +{ + uint32_t ccount; + __asm__ __volatile__("esync; rsr %0,ccount":"=a" (ccount)); + return ccount; +} + extern EspClass ESP; #endif //ESP_H