Обсуждение ESP8266 – SDK 1.0.1, новая документация, WROOM и другие новости

pvvx

Активный участник сообщества
У SDK 1.0.1 беда в LIGHT моде WiFi sleep - теряет соединение по TCP при активной работе с ним. Это ведет к тому, что использовать данную опцию нельзя. При отключенном или в режиме MODEM - всё нормально. Ошибка там сложная, неоднозначная и нестабильная. Выловить и конкретизировать, не имея исходников, практически невозможно.
Размер занимаемой памяти в SDK сильно увеличен включенными в библиотеки никчемными модулями. Например к Lwip там добавлено несколько неиспользуемых модулей - ping, sntp, espconn, несколько вариантов dhcp, неработающий netio, ... Большинство из них есть в оф. примерах для LwIP: contrib-1.4.0.zip
Все они занимают прошивку и память и не используются в большинстве приложений. И так с каждой библиотекой у Espressif. Как итог - AT на 1 мег и никакой памяти. AT прошивка использует до 10% процедур из библиотек. Остальное - балласт. От такого подхода SDK от Espressif на сегодня умерло и не может использоваться для создания своих приложений.
Если "побрезать" (перепаковать, удалив ненужное) базовые либы SDK от Espressif, то получаем всего ~100k кода в flash + ~20k iram, памяти остается:
Код:
   Section|                   Used space
------------------------------------------------------------------------------
      data|        Initialized Data (RAM)    ~2k
    rodata|           ReadOnly Data (RAM)    ~3k
       bss|      Uninitialized Data (RAM)  ~30k
      text|            Cached Code (IRAM)  ~20k
irom0_text|           Uncached Code (SPI) ~100k
------------------------------------------------------------------------------
Free RAM : ~39,5k
Free IRam : ~12k
Free Heap RunTime*: ~35k (AP+ST), ~37k (AP или ST только)
* включенный AP или STATION съедает примерно по 2k каждый
Это базовый набор "остатков" включающий в себя возможность работать со всеми процедурами WiFi и приемом/передачами данных через LwIP. Остальное будет заниматься приложением пользователя. Т.е. с таким подходом простейшей "обрезки" библиотек от Espressif выжить ещё можно.
Писаки NodeMCU на это не способны, по тому Lua на ESP8266 заканчивается и использует старые SDK с множественными ошибками и ограничениями в 4-ре соединения у espconn...
Остается только Arduino-Sming от автора с данного сайта. Он понемногу адаптируется к необходимым "изменениям" SDK.
 
Последнее редактирование:
Сверху Снизу