pvvx
Активный участник сообщества
Не пробовали устранять Open LWIP library, а взять базовый lwip-1.4.0 из IoT SDK 0.9.5 и вырезанной espconn?system_timer_reinit() + Open LWIP library
Есть ли у кого-нибудь идеи?
Не пробовали устранять Open LWIP library, а взять базовый lwip-1.4.0 из IoT SDK 0.9.5 и вырезанной espconn?system_timer_reinit() + Open LWIP library
Есть ли у кого-нибудь идеи?
long xtime = 0;
LOCAL void ICACHE_FLASH_ATTR hello_cb(void *arg)
{
ets_wdt_disable();
xtime++;
ets_uart_printf("%d:%d\r\n", xtime / 60, xtime % 60);
}
void user_init(void)
{
system_timer_reinit();
// Configure the UART
uart_init((UartBautRate)74880, (UartBautRate)74880);
// Set up a timer to send the message
// os_timer_disarm(ETSTimer *ptimer)
os_timer_disarm(&hello_timer);
// os_timer_setfn(ETSTimer *ptimer, ETSTimerFunc *pfunction, void *parg)
os_timer_setfn(&hello_timer, (os_timer_func_t *)hello_cb, (void *)0);
// void os_timer_arm(ETSTimer *ptimer,uint32_t milliseconds, bool repeat_flag)
os_timer_arm(&hello_timer, DELAY, 1);
}
Извиняюсь, перечитал и понял что в первый раз не правильно понял. Думал речь про еспресифский бинарник. Весьма хорошая идея!взять базовый lwip-1.4.0 из IoT SDK 0.9.5 и вырезанной espconn?
И к этой функции, выводящей why десятки обращений... Пример idb для IDA к SDK 1.0.0Но что туда, блин, передается?
...
(Это из libpp.a)
Главная проблема Sming успешно решена, отдельное спасибо pvvx, его совет оказался очень полезен. Последние дни я пошагово изучал различия Open LWIP и оригинального из сборки Эспрессиф и нашел критическое различие приводящее к перезагрузке.Не пробовали устранять Open LWIP library, а взять базовый lwip-1.4.0 из IoT SDK 0.9.5 и вырезанной espconn?
У Эспрессиф ещё вставлены кривые патчи в LwIP (вышедшие позже выхода базового релиза 1.4.0 и взятые типа с фрорума), которые сначала овобождат память, а потом лезут туда (так их вписал китай-програмер, оставив комент там на китайском). Спасает то, что это не RTOS и нет частых прерываний с перераспределением памяти...Последние дни я пошагово изучал различия Open LWIP и оригинального из сборки Эспрессиф и нашел критическое различие приводящее к перезагрузке.
Они не столь нужные (исправления вроде касаются очень активной работы стека, что у нас не наблюдается). Я так и не понял, что вы называете Open ESP LWIP. По этому ничего конкретного сказать не могу. Если это https://github.com/kadamski/esp-lwip, то различий много т.к. Lwip 1.4.1.Согласен у них местами вообще непойми что в коде твориться. Если подскажете где это место с патчем, я проверю не попало ли оно случайно в библиотеку Open ESP LWIP.
del libmlwip.a
md lwip.lib
cd lwip.lib
C:\Espressif\xtensa-lx106-elf\bin\xtensa-lx106-elf-ar x ..\liblwip.a
@rem delete sockets.o api_lib.o api_msg.o err.o netbuf.o netdb.o netifapi.o tcpip.o def.o mem.o stats.o sys.o sys_arch.o autoip.o inet.o ip_frag.o
@rem замена на свои dhcpserver.o
C:\Espressif\xtensa-lx106-elf\bin\xtensa-lx106-elf-ar ru ..\libmlwip.a dhcp.o dns.o init.o memp.o netif.o pbuf.o tcp.o tcp_in.o tcp_out.o timers.o udp.o icmp.o igmp.o inet_chksum.o ip.o ip_addr.o etharp.o raw.o
cd ..
Нужен полный лог. Тестируется стандартный пример или что-то изменено? (у меня подобных проблем не наблюдается)Тестирую пример HttpServer_Ajax.Было замечено,что буквально каждые 3-4 минуты,модуль перезагружается
Очень странно, DHCP должен привязать выбранный IP к этому MAC адресу и использовать его повторно. Причины смены IP вероятно в роутере.модуль перезагружается,тем самым при последующем подключение,присваивается с разным IP адресом,что крайне неудобно каждый раз запускать терминал,что бы посмотреть IP адрес
Дополняется только dhcpserver.o. Остальные просто пустые в сборке либы.pvvx, да я именно про https://github.com/kadamski/esp-lwip
Не совсем понял про батник пересборки. Он как-то работает без этих частей или Вы заменяете их своими?
Тестируется стандартный пример,ничего не изменял.Тестируется стандартный пример или что-то изменено?
Странно то,что пока страница открыта,ни каких разъединений нет,работает часами.Как только закрываю страницу,ждет ровно 5 минут и начинается перезагрузкаСудя по логу похоже что на это время теряется WiFi соединение