diff --git a/cores/esp8266/Esp.h b/cores/esp8266/Esp.h index 46af2a8cb..33c7f10ad 100644 --- a/cores/esp8266/Esp.h +++ b/cores/esp8266/Esp.h @@ -201,9 +201,10 @@ class EspClass { bool eraseConfig(); #ifndef CORE_MOCK - inline -#endif + inline uint32_t getCycleCount() __attribute__((always_inline)); +#else uint32_t getCycleCount(); +#endif }; #ifndef CORE_MOCK diff --git a/cores/esp8266/core_esp8266_features.h b/cores/esp8266/core_esp8266_features.h index 8542c691a..6b8e22c9b 100644 --- a/cores/esp8266/core_esp8266_features.h +++ b/cores/esp8266/core_esp8266_features.h @@ -85,7 +85,8 @@ namespace arduino #define xt_rsil(level) (__extension__({uint32_t state; __asm__ __volatile__("rsil %0," __STRINGIFY(level) : "=a" (state) :: "memory"); state;})) #define xt_wsr_ps(state) __asm__ __volatile__("wsr %0,ps; isync" :: "a" (state) : "memory") -inline uint32_t esp_get_cycle_count() { +inline uint32_t esp_get_cycle_count() __attribute__((always_inline)); +inline uint32_t esp_get_cycle_count() { uint32_t ccount; __asm__ __volatile__("rsr %0,ccount":"=a"(ccount)); return ccount;