Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

Баги/глюки/проблемы в каком-то конкретном примере из пакета Sming

Тема в разделе "Sming Open Source Framework", создана пользователем JustACat, 23 мар 2015.

  1. anakod

    anakod Moderator Команда форума

    Сообщения:
    314
    Симпатии:
    100
    Более того, реализация где-то в закрытых либах Espressif. Нам интересен именно вызов функции.
    Не поднимаю что может отличаться и в чем здесь проблема. Может в UDK не последняя версия библиотеки user_interface?
     
  2. sharky

    sharky Читатель

    Сообщения:
    32
    Симпатии:
    12
    Может, только вот саму эту библиотеку я как-то и не могу найти, только хидеры, видимо где-то в бинарниках спрятана.
    Нужно будет завтра у CHERTS спросить, возможно он знает :)

    А у тебя оно без ошибок пересобирается?
     
  3. sharky

    sharky Читатель

    Сообщения:
    32
    Симпатии:
    12
    С хардкодовой частотой собралось все, завтра попробую чего-нить запилить на сминге, спасибо за помощь.
     
  4. shaman1010

    shaman1010 Читатель

    Сообщения:
    128
    Симпатии:
    14
    Судя по всему об этом.

    Каким образом увидеть в FTP-сервере остальные 15,5MB (flash - 128я)?
     
    Последнее редактирование: 28 мар 2015
  5. anakod

    anakod Moderator Команда форума

    Сообщения:
    314
    Симпатии:
    100
    Сделал комит, изменил вызов на более старую версию функции. Просьба проверить помогло ли?

    Может быть кто-нибудь поможет в этом вопросе? Просто у меня только стандартная флеш. @pvvx, есть ли у Вас возможность уделить чуток времени этому вопросу? Интересно добиться именно корректной работа spiffs, т.е. не просто прямой доступ к флеш памяти.
     
    Последнее редактирование: 28 мар 2015
  6. shaman1010

    shaman1010 Читатель

    Сообщения:
    128
    Симпатии:
    14
    Сейчас собирается нормально.
    GPIO2 так-же поддергивается.
     
  7. anakod

    anakod Moderator Команда форума

    Сообщения:
    314
    Симпатии:
    100
    shaman1010, спасибо! GPIO2 еще не тестил, но тоже постараюсь выяснить причины этой аномалии.
     
  8. aloika

    aloika Активный участник сообщества

    Сообщения:
    367
    Симпатии:
    25
    Пример HttpServer_AJAX:

    Запускаю этот пример, из изменений - отключил вывод отладочной информации и изменил частоту опроса на 100 мс.
    Периодически происходит wdt reset. Каждые примерно 5 минут.
     
  9. anakod

    anakod Moderator Команда форума

    Сообщения:
    314
    Симпатии:
    100
    Для того чтобы диагностировать ошибку нужно больше информации. aloika, пробовали ли Вы запустить на больших значениях времени, в том числе оригинальном 400? Что пишется в Serial лог? Постоянно ли время через которое происходит перезагрузка или оно всегда различается?

    У меня вроде все работало без сбоев, но на сильно больших интервалах времени пока еще не тестировал.
     
  10. aloika

    aloika Активный участник сообщества

    Сообщения:
    367
    Симпатии:
    25
    Перезагружается минут через 15 при периоде опроса 400 мс. Остальные вопросы пока не выяснил.

    В лог пишет следующее:

    Лог (раскрыть)

    Код (Text):
    1.  
    2. Terminal log file
    3. Date: 30.03.2015 - 14:06:19
    4. -----------------------------------------------
    5. sd<0>$Ьџ|<0>„lа<Њlдc|ЏГд›;“cЊc„ыgnџdogњгдc8„‡lrl;lxуoаѓdcgг|м$‡ЗcЊыogз<0>l„‡l`ђo'‡lo;З›Ы'гЊd`8ыoа;Њњњга#gг|„lЗњ#Њуogп<0>З$`ђog‡ln{‡“›g“Ьlxуoа{Њњњга$Њњ#gг|dмЏЋcЊыo'з<0>Џl Ш'ol„l n;‡“ЫgcдЗlsЫ“n#мЏdЊХЃMEM CHECK FAIL!!!
    6. дr+TCP connection
    7. timeout updating: 70 -> 65535
    8. Server timeout updating: 40 -> 90
    9. +TCP connection
    10. timeout updating: 70 -> 65535
    11. Server timeout updating: 40 -> 900
    12. fs.start:40248000, size:
    13.  
    14. I'm CONNECTED
    15.  
    16. === WEB SERVER STARTED ===
    17. 10.5.5.138
    18. ==============================
    19.  
    20.  
    21.  ets Jan  8 2013,rst cause:4, boot mode:(3,6)
    22.  
    23. wdt reset
    24. load 0x40100000, len 31844, room 16
    25. tail 4
    26. chksum 0x62
    27. load 0x3ffe8000, len 2536, room 4
    28. tail 4
    29. chksum 0x5d
    30. load 0x3ffe89f0, len 10704, room 4
    31. tail 12
    32. chksum 0x27
    33. csum 0x27
    34. ;+TCP connection
    35. timeout updating: 70 -> 65535
    36. Server timeout updating: 40 -> 90
    37. +TCP connection
    38. timeout updating: 70 -> 65535
    39. Server timeout updating: 40 -> 900
    40. fs.start:40248000, size:
    41.  
    42. I'm CONNECTED
    43.  
    44. === WEB SERVER STARTED ===
    45. 10.5.5.138
    46. ==============================
    47.  
    48.  
    49. -----------------------------------------------
    50. Date: 30.03.2015 - 14:24:43
    51.  
     
  11. shaman1010

    shaman1010 Читатель

    Сообщения:
    128
    Симпатии:
    14
    У меня тоже перегружается (кроме того, что есть проблема с DHCP). Без AJAXа тоже перегружался (заметно было по счетчику).
     
  12. aloika

    aloika Активный участник сообщества

    Сообщения:
    367
    Симпатии:
    25
    У меня с DHCP вроде нормально (в режиме станции). А перегружается минут через 15, и кажется, что независимо от действий, периодов опроса и пр.
     
  13. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.209
    Симпатии:
    386
    Часто проблемы со стабильностью прошивки (любой) на ESP8266 связаны с железом. Проверено на собственном опыте.

    GPIO подключенные напрямую (без резисторов), питание от "китайских свистков" неминуемо приводит к нестабильности работы, хоть и позволяет что-то запустить, попробовать, т.е. для беглой оценки работоспособности вполне сойдет.

    Попробуйте еще раз посмотреть на свое устройство именно со стороны железа. Если вы что-то найдете и вам удастся таким образом устранить причину, то обязательно сообщите об этом - это поможет другим избежать подобных проблем в будущем.
     
  14. anakod

    anakod Moderator Команда форума

    Сообщения:
    314
    Симпатии:
    100
    Можете еще попробовать для теста выключить WatchDog:
    System.onReady(ets_wdt_disable);
     
  15. shaman1010

    shaman1010 Читатель

    Сообщения:
    128
    Симпатии:
    14
    Повозился сегодня чуток. Нашел и устранил:
    Чтобы не дергалось напряжение на GPIO2 (да и на любом другом) - нужно CH_EN подтягивать к плюсу через резистор (я поставил 10кОм). Затрагивалось на разных форумах неоднократно, но последствия прямого подключения нигде не мелькали. Сейчас можно ссылаться хотя бы сюда. Заметить можно не на каждом типе модулей, но подтяжка через токоограничивающий резистор необходима. Иначе получаем баг на ровном месте.
    Думаю подключение CH_EN через резистор стоит куда-то на видное место поместить.
     
    Последнее редактирование: 31 мар 2015
    aloika и Victor нравится это.
  16. aloika

    aloika Активный участник сообщества

    Сообщения:
    367
    Симпатии:
    25
    Про перезагрузку во время выполнения примера HttpServer_AJAX:
    Дополнил веб-страничку счетчиком времени с момента перезапуска (uptime). Теперь остается только сидеть и наблюдать, когда перезагрузится.
    И вот что выяснилось - перезагружается всегда четко в момент, когда uptime достигает значения 14 : 19,1 (мин:сек) ! Так что это не случайный процесс, не с питанием связано точно.
    Большая просьба - попробуйте установить прилагаемую ниже страничку, проверьте uptime, что получится?

    UPD: еще и application.cpp выложил, я же его тоже менял.
    Там сейчас выключен wdt, его надо включить - закомментировать строчку
    System.onReady(ets_wdt_disable);

    UPD: Если отключить watchdog, то на значении 14:19 модуль как-то притормаживает и некоторое время не отвечает на запросы, а потом, если обновить страничку, снова работает, как ни в чем ни бывало. А потом, на 28:38 (т.е. двойное время) окончательно виснет.

    UPD: Не виснет! Вернее не окончательно. Повисел минуты две и снова считает...

    UPD: Досчитал до 31 минуты и повис. Обновление странички не помогает.

    UPD: Повисел минуты две, отвис. Дальше считает.
     

    Вложения:

    • index.rar
      Размер файла:
      1,5 КБ
      Просмотров:
      3
    • application.rar
      Размер файла:
      1,4 КБ
      Просмотров:
      2
    Последнее редактирование: 31 мар 2015
  17. shaman1010

    shaman1010 Читатель

    Сообщения:
    128
    Симпатии:
    14
    Без изменений сервер ведет себя аналогичным образом...
     
  18. anakod

    anakod Moderator Команда форума

    Сообщения:
    314
    Симпатии:
    100
    Наверное надо попробовать у китайцев узнать подробности на их форуме. Я ничего подобного в прошивку точно не закладывал :)

    Т.е. без ватчдога наблюдается эффект некоторого подвисания? Это может быть объяснением почему срабатывает ватчдог.
    Что в этот момент пишется в лог?
     
  19. aloika

    aloika Активный участник сообщества

    Сообщения:
    367
    Симпатии:
    25
    anakod, да, без вотчдога модуль подвисает на несколько минут, потом работает дальше. Его системное время сохраняется, продолжает прибавляться после "отвиса". Думаю да, вотчдог именно поэтому и срабатывает. Первый подвис (или перезагрузка по вотчдогу, если он включен) всегда на значении 14 мин. 19,1 сек.

    В уарт при отключенном выводе debag-сообщений при подвисе не выводится ничего. Со включенными сообщениями не пробовал, могу завтра попробовать.

    И еще - на прошивке от pvvx ничего такого не наблюдается, ни подвисаний, ни перезагрузок, полдня гонял.
     
  20. anakod

    anakod Moderator Команда форума

    Сообщения:
    314
    Симпатии:
    100
    Я нашел причину перезагрузки. Хотя правильнее, к сожалению, сказать нашел не причину, а факторы которые необходимы для ее проявления.
    system_timer_reinit() + Open LWIP library

    Если хотя бы одно из условий не соблюдается то перезагрузки не происходит. Т.е. похоже в этой реализации LWIP есть какая-то ошибка (что-то не реализовано?) и эта часть вызывается через 15 минут только если переключиться на быстрые таймеры, после чего WatchDog перезагружает модуль. Пытаюсь понять в чем может быть дело. Есть ли у кого-нибудь идеи?
     

Поделиться этой страницей