mirror of
https://github.com/esphome/esphome.git
synced 2026-03-01 02:14:19 -07:00
[core] Remove IRAM_ATTR from feed_wdt() and arch_feed_wdt()
feed_wdt() calls status_led::global_status_led->call() which is a vtable dispatch into flash. arch_feed_wdt() calls esp_task_wdt_reset() which is in .flash.text. Neither function can execute with the flash cache disabled, so IRAM_ATTR provides no benefit.
This commit is contained in:
@@ -44,7 +44,7 @@ void arch_init() {
|
||||
esp_ota_mark_app_valid_cancel_rollback();
|
||||
#endif
|
||||
}
|
||||
void IRAM_ATTR HOT arch_feed_wdt() { esp_task_wdt_reset(); }
|
||||
void HOT arch_feed_wdt() { esp_task_wdt_reset(); }
|
||||
|
||||
uint8_t progmem_read_byte(const uint8_t *addr) { return *addr; }
|
||||
uint32_t arch_get_cpu_cycle_count() { return esp_cpu_get_cycle_count(); }
|
||||
|
||||
@@ -27,7 +27,7 @@ void arch_restart() {
|
||||
}
|
||||
}
|
||||
void arch_init() {}
|
||||
void IRAM_ATTR HOT arch_feed_wdt() { system_soft_wdt_feed(); }
|
||||
void HOT arch_feed_wdt() { system_soft_wdt_feed(); }
|
||||
|
||||
uint8_t progmem_read_byte(const uint8_t *addr) {
|
||||
return pgm_read_byte(addr); // NOLINT
|
||||
|
||||
@@ -48,7 +48,7 @@ void arch_restart() { exit(0); }
|
||||
void arch_init() {
|
||||
// pass
|
||||
}
|
||||
void IRAM_ATTR HOT arch_feed_wdt() {
|
||||
void HOT arch_feed_wdt() {
|
||||
// pass
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ void arch_restart() {
|
||||
while (1) {
|
||||
}
|
||||
}
|
||||
void IRAM_ATTR HOT arch_feed_wdt() { lt_wdt_feed(); }
|
||||
void HOT arch_feed_wdt() { lt_wdt_feed(); }
|
||||
uint32_t arch_get_cpu_cycle_count() { return lt_cpu_get_cycle_count(); }
|
||||
uint32_t arch_get_cpu_freq_hz() { return lt_cpu_get_freq(); }
|
||||
uint8_t progmem_read_byte(const uint8_t *addr) { return *addr; }
|
||||
|
||||
@@ -27,7 +27,7 @@ void arch_init() {
|
||||
#endif
|
||||
}
|
||||
|
||||
void IRAM_ATTR HOT arch_feed_wdt() { watchdog_update(); }
|
||||
void HOT arch_feed_wdt() { watchdog_update(); }
|
||||
|
||||
uint8_t progmem_read_byte(const uint8_t *addr) {
|
||||
return pgm_read_byte(addr); // NOLINT
|
||||
|
||||
@@ -240,7 +240,7 @@ void Application::process_dump_config_() {
|
||||
this->dump_config_at_++;
|
||||
}
|
||||
|
||||
void IRAM_ATTR HOT Application::feed_wdt(uint32_t time) {
|
||||
void HOT Application::feed_wdt(uint32_t time) {
|
||||
static uint32_t last_feed = 0;
|
||||
// Use provided time if available, otherwise get current time
|
||||
uint32_t now = time ? time : millis();
|
||||
|
||||
Reference in New Issue
Block a user