• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь esp8266, обновил менеджер плат до 2.5.2...

stvts

New member
Приветствую уважаемое сообщество! Собственно, в Arduino обновил менеджер плат до версии 2.5.2 (до обновления 2.5.0). Проект с компилировался и загрузился, но в мониторе сообщение ISR not in IRAM!. Стек декодируется следующими сообщениями:
Decoding stack results
0x401001b8: millis() at C:\Users\Stas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266\core_esp8266_wiring.cpp line 186
0x40201038: handleInterrupt() at C:\Users\Stas\Documents\Arduino\OpenTherm_thermostat_v6.01_WEB/OpenTherm_thermostat_v6.01_WEB.ino line 207
0x401004be: __attachInterrupt(uint8_t, voidFuncPtr, int) at C:\Users\Stas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266\core_esp8266_wiring_digital.cpp line 206
0x4020c6f4: OpenTherm::begin(void (*)(), void (*)(unsigned long, OpenThermResponseStatus)) at C:\Users\Stas\Documents\Arduino\libraries\opentherm_library-master\src\OpenTherm.cpp line 28
0x4020c720: OpenTherm::begin(void (*)()) at C:\Users\Stas\Documents\Arduino\libraries\opentherm_library-master\src\OpenTherm.cpp line 36
0x4020390e: setup() at C:\Users\Stas\Documents\Arduino\OpenTherm_thermostat_v6.01_WEB/OpenTherm_thermostat_v6.01_WEB.ino line 633
0x40201018: saveConfigCallback() at C:\Users\Stas\Documents\Arduino\OpenTherm_thermostat_v6.01_WEB/OpenTherm_thermostat_v6.01_WEB.ino line 424
0x402011e0: std::_Function_handler::_M_invoke(const std::_Any_data &) at c:\users\stas\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-3-20ed2b9\xtensa-lx106-elf\include\c++\4.8.2/functional line 2069
0x40210124: loop_wrapper() at C:\Users\Stas\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.2\cores\esp8266\core_esp8266_main.cpp line 122
Что произошло и что не переварил мой esp8266 NodeMCU, флеш 4мб?
 

enjoynering

Well-known member
все функции вызываемые по прерываниям теперь через атрибут ICACHE_RAM_ATTR

Код:
void ICACHE_RAM_ATTR encoderISR()  //interrupt service routines need to be in ram
{
//ISR CODE HERE
}
а вообще стыдно гражданин, первый же запрос в GOOGLE - "ISR not in IRAM!" ведет к ответу.
 

stvts

New member
Благодарю! Да, собственно, стыдиться нет оснований. За GOOGLE отдельное спасибо!!! Свою проблему решил.
 
Сверху Снизу