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

Общие баги/глюки/проблемы в пакете Sming

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

  1. AnonymUser

    AnonymUser Новичок

    Сообщения:
    27
    Симпатии:
    2
    знаний и опыта...с эклипсом как то давно не сложилось
    но не суть же чем шить,если бинарники собраны без ошибок и шьется без ошибок?
     
  2. pvvx

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

    Сообщения:
    9.103
    Симпатии:
    1.306
    https://github.com/anakod/esp-lwip/blob/esp8266-1.4.1/our/eagle_lwip_if.c имеет 2 ошибки-недочета.
    Не сохраняет state->myif = myif, а так-же адрес queue (обоих веток - там одна для AP, другая для ST), похоже использующийся при закрытии softap для освобождения памяти (пока не найден где используются, т.к. берутся по смещению...).
    Короче пока ваш OpenLwIP неполноценен и несовместим с примененным SDK :(
    Ещё китайцы изменили конфиг LwIP. Что-то вроде выставили опцию LWIP_AUTOIP или LWIP_ARP, но переписали netif_set_link_up() добавив etharp_request() и т.д........
    Т.е. размер структуры и поля struct netif поехали, по сравнению с исходниками из SDK 0.9.4 к которым адаптирован ваш OpenLwIP.
    Используйте китайский liblwip.a с выкинутыми лишними частями -
    newlwip.bat:
    Код (Text):
    1. del libmlwip.a
    2. md lwip.lib
    3. cd lwip.lib
    4. C:\Espressif\xtensa-lx106-elf\bin\xtensa-lx106-elf-ar x ..\liblwip.a
    5. 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
    6. cd ..
    7. rd /q /s lwip.lib
    8.  
    Или ищите что за ??? в данном файле:
     

    Вложения:

    Последнее редактирование: 19 апр 2015
  3. anakod

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

    Сообщения:
    314
    Симпатии:
    100
    А выбрать цель "flash" в Eclipse пробовали?

    pvvx, спасибо за развернутый комментарий, а в каком случае будет проявляться эта ошибка? Вы уверен что остальные патчи примененные в этой сборке не закрывают проблему? Дело в том что после последнего фикса больше ни одной проблемы связанной с LWIP я не встречал.

    UPD Кажется понял, eagle_lwip_if используется опцианально и в моем случае, насколько понимаю, он не задействован (используется Espressif'ский)
    https://github.com/kadamski/esp-lwip/blob/esp8266-1.4.1/Makefile-local.mk#L2
     
  4. pvvx

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

    Сообщения:
    9.103
    Симпатии:
    1.306
    Я тоже подключал LwIP с другими полями структуры netif. На первый взгляд работало, но на первый... При этом ничего из других либ у меня вообще не включено. Портятся первые пакеты, т.к. это инициализация.
    А вам бы надо проверить - не оставляет ли не освобожденную память при включении/отключении AP и ST. По логике указатель на queue запоминается, наверно, но там китайцы, для освобождения памяти при закрытии. При закрытии AP в коде очень много освобождений памяти по указателям фиг знает от куда (берутся по разным смещениям и я этот кусок ещё не разбирал)
    Проверить сложно - если приходящие пакеты бьются в пару местах, то большинстве случаев использования их в текущих приложениях это будет не заметно... Всё это дает нестандартные глюки и определить сразу сложно.
     
    Последнее редактирование: 19 апр 2015
  5. Dr. Morg

    Dr. Morg Новичок

    Сообщения:
    84
    Симпатии:
    4
    Обновился до 1.0.7, перестал работать залитый в модуль проект. На старой версии Sming собирается и работает нормально.

    После успешной загрузки в модуль в консоли тишина, даже крякозябры не пробегают... Если передёрнуть питание модуля, то немного крякозябр свалится в консоль, но на этом всё заканчивается.
    лог загрузки (раскрыть)

    10:15:55 **** Build of configuration Default for project ESP_HTTP_Server ****
    mingw32-make.exe -f C:/Sming-master/ESP_HTTP_Server/Makefile flash
    ЋиЁЎЄ : ЌҐ г¤ Ґвбп ©вЁ Їа®жҐбб "termite.exe".
    c:/Espressif/utils/esptool.exe -p COM2 -b 115200 write_flash 0x00000 out/firmware/eagle.flash.bin 0x9000 out/firmware/eagle.irom0text.fs.bin
    Entering bootloader...
    Connecting...
    Erasing flash...
    head: 10 ;total: 10
    erase size : 20480

    Writing at 0x00000000... (2 %)
    Writing at 0x00000400... (5 %)
    Writing at 0x00000800... (8 %)
    Writing at 0x00000c00... (10 %)
    вырезано
    Writing at 0x0003fc00... (100 %)

    Leaving...

    10:16:27 Build Finished (took 32s.36ms)

     
  6. anakod

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

    Сообщения:
    314
    Симпатии:
    100
    Какой размер у файла eagle.flash.bin?
     
  7. Dr. Morg

    Dr. Morg Новичок

    Сообщения:
    84
    Симпатии:
    4
    @anakod,
    eagle.flash.bin - 36,9 КБ (37 840 байт)
    eagle.irom0text.bin - 203 КБ (207 975 байт)
    eagle.irom0text.fs.bin - 219 КБ (224 359 байт)
     
  8. JustACat

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

    Сообщения:
    568
    Симпатии:
    121
    Dr. Morg, makefile не забыли поменять? anakod забыл упомянуть (как мне кажется), что makefile от старой версии Sming не подходит к новой, и собранные и прошитые проекты в таком виде не работают :) Сам с этим столкнулся...
    В общем, сравните сами makefile от старой и от новой версии - там несколько различий в параметрах + адрес сдвинут заливки, емнип.
     
  9. Dr. Morg

    Dr. Morg Новичок

    Сообщения:
    84
    Симпатии:
    4
    @JustACat, у меня со старый Makefile даже проект не собрался - вагон ошибок выдал.
    Подсунул Makefile из нового, проект стал компилироваться, но после загрузки в модуль - тишина... :(
     
  10. JustACat

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

    Сообщения:
    568
    Симпатии:
    121
    Dr. Morg, ну, нужно чтобы все по чистому было, может какие хвосты от старого остаются (clean делали)? Что-то пересекается? Может UDK старый (а с ним и SDK)?

    Update: Кстати, а может UDK новый? =) У меня собирается (и работает) все на UDK предпоследнем... На последнем еще не пробовал...
     
    Последнее редактирование: 28 апр 2015
  11. Dr. Morg

    Dr. Morg Новичок

    Сообщения:
    84
    Симпатии:
    4
    @JustACat, а когда UDK/SDK обновлялись?
    У меня последняя: C:\Espressif\ESP8266_SDK_095
     
  12. JustACat

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

    Сообщения:
    568
    Симпатии:
    121
    Dr. Morg, последний раз прямо вчера. 095 уже сильно устарела... Там спор уже между 1.0.1 бетой и не бетой...
     
  13. Dr. Morg

    Dr. Morg Новичок

    Сообщения:
    84
    Симпатии:
    4
    @JustACat, месяц всего прошёл, как я ставил Espressif-ESP8266-DevKit-v2.0.0-x86 :eek::)
    Обновляюсь до последней версии, похоже, в этом и причина всех бед :)
     
  14. Dr. Morg

    Dr. Morg Новичок

    Сообщения:
    84
    Симпатии:
    4
    @JustACat, увы, но похоже, что проблема не в UDK/SDK,- после обновления до 2.0.3 всё равно Sming 1.0.7 не работает после загрузки в ESP :(
    Собираю в старом Sming,- всё загружается и прекрасно работает...
     
  15. anakod

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

    Сообщения:
    314
    Симпатии:
    100
    Dr. Morg, похоже что первый файл слишком большой и не влазит в секцию iram. Вы не заняли всю память лишними IRAM_ATTR? Что в самом коде?
     
  16. Dr. Morg

    Dr. Morg Новичок

    Сообщения:
    84
    Симпатии:
    4
    @anakod, IRAM_ATTR вообще не использую, в коде веб-сервер и немного JSON.

    Ещё я поторопился на счёт "всё загружается и прекрасно работает",- в модуль загружается, да, но модуль после ресета в вечный ребут уходит с новым UDK/SDK и старым Sming:
    вечный ребут (раскрыть)

    ets Jan 8 2013,rst cause:4, boot mode:(3,1)

    wdt reset
    load 0x40100000, len 32328, room 16
    tail 8
    chksum 0x02
    load 0x3ffe8000, len 3416, room 0
    tail 8
    chksum 0x7a
    load 0x3ffe8d60, len 14272, room 0
    tail 0
    chksum 0x35
    csum 0x35
    sl+TCP connection
    timeout updating: 70 -> 65535
    Server timeout updating: 40 -> 90
    +TCP connection
    timeout updating: 70 -> 65535
    Server timeout updating: 40 -> 900
    +TCP connect

    Station configuration was updated to: CallSF
    Set AP configuration in background
    Display start

     
  17. anakod

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

    Сообщения:
    314
    Симпатии:
    100
    По логу не видно после чего перезагрузка.
     
  18. Dr. Morg

    Dr. Morg Новичок

    Сообщения:
    84
    Симпатии:
    4
    @anakod, сразу после старта модуля и так по-кругу.
     
  19. anakod

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

    Сообщения:
    314
    Симпатии:
    100
    А на простых примерах работает?
     
  20. Dr. Morg

    Dr. Morg Новичок

    Сообщения:
    84
    Симпатии:
    4
    @anakod, новый UDK и старый Sming, пример Basic Wi-Fi:
    вечный луп (раскрыть)

    Hello friendly world! :)
    Set AP configuration in background
    Station configuration was updated to: CallSF
    mode : sta(18:fe:34:a0:f0:01) + softAP(1a:fe:34:a0:f0:01)
    add if0
    dhcp server start:(ip:192.168.2.1,mask:255.255.255.0,gw:192.168.2.1)
    add if1
    bcn 100
    READY!
    1073691192 1afe1a0f01
    AP configuration was updated on system ready event
    scandone
    scandone
    WiFi: , OPEN
    WiFi: GuestAP, WPA_WPA2_PSK
    WiFi: HP-Print-ef-LaserJet 400 MFP, WPA2_PSK
    WiFi: sf, WPA_WPA2_PSK
    WiFi: HP-Print-d9-LaserJet 400 MFP, WPA2_PSK
    WiFi: RTL8186-default, OPEN
    WiFi: CallSF, WPA2_PSK
    scan completed: 7 found
    reconnect
    scandone
    reconnect
    scandone
    reconnect
    scandone
    reconnect
    scandone
    reconnect
    scandone
    reconnect
    scandone
    reconnect
    scandone
    reconnect


    Update:
    UDK 2.0.3 + Sming 1.0.7 этот же пример:
    всё плохо (раскрыть)

    Fatal exception (28):CЎЌ=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x1d44ce7c, depc=0x00000000
    Fatal exception (28):
    epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x1d44ce7c, depc=0x00000000
    Fatal exception (28):
    epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x1d44ce7c, depc=0x00000000
    Fatal exception (28):
    epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x1d44ce7c, depc=0x00000000
    Fatal exception (28):
    epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x1d44ce7c, depc=0x00000000
    Fatal exception (28):
    epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x1d44ce7c, depc=0x00000000
    Fatal exception (28):
    epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x1d44ce7c, depc=0x00000000
    Fatal exception (28):
    epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x1d44ce7c, depc=0x00000000
    Fatal exception (28):
    epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x1d44ce7c, depc=0x00000000
    Fatal exception (28):
    epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x1d44ce7c, depc=0x00000000
    Fatal exception (28):
    epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x1d44ce7c, depc=0x00000000
    Fatal exception (28):
    epc1=0x40001800, epc2=0x00000000, epc3=0x00000000, excvaddr=0x1d44ce7c, depc=0x00000000

     

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