Альтернативный SDK для ESP8266
Ответвлено от pvvx:MinEspSDKLib
Вкючает полный набор функций работы с WiFi и UDP/TCP (LwIP 1.4.0).
Здесь отсутствуют API espconn и поддержка SSL. Этот SDK нацелен на оптимальную работу с датчиками, он будет реализовывать такие вещи, как быстрый старт после глубокого сна и возможность управления процессом загрузки (полный старт или продолжение сна после опроса датчиков).
В целях экономии энергии время от пробуждения после глубокого сна до начала опроса датчиков будет в диапазоне 30..40 мс.
В текщей версии (по-умолчанию) после подачи питания/сброса или после глубокого сна соединение по TCP от станции к точке доступа обычно устанавливается менее чем за ~540 мс, при условии отсутствия потребности в работе DHCP. В основном время требуется на инициализацию WiFi. Полудуплексная скорость TCP составляет более 1 Мегабайта в секунду.
Отличия от pvvx:MinEspSDKLib и других Espressif's SDK состоят в:
- Строгая одноуровневая управляемая зависимостями система сборки (вместо грязных рекурсивно вызываемых make-файлов)
- Простая интеграция с другими проектами в качестве подмодуля
- Меньший размер результирующих файлов прошивки (достигаемый флагами компилятора/компоновщика)
- Функции размещаются во flash по умолчанию
(атрибут
ICACHE_FLASH_ATTR
не нужен) - Специальный атрибут
ICACHE_IRAM_ATTR
для функций, которые требуется поместить в RAM (т.е. обработчики прерываний и прочий горячий код) - Встроенный Rapid Loader от pvvx
- Встроенный gdbstub
- Из Espressif SDK 1.4.1 использованы только: libpp.a, libwpa.a, libnet80211.a, части libphy.a, user_interface.o
- LwIP основан на Open source LWIP для ESP_IOT_SDK_V1.4.0.
- Поддерживается опция 48 КБайт IRAM.
- Поддерживается ESP Rapid Loader
- Поддерживается размер Flash от 512 Килобайт до 16 Мегабайт.
- Свободно IRAM: 29 Килобайт
- Свободно в куче: 52 Килобайт
- Всего свободно RAM: 81 Килобайт
- SPI_SPEED: 40MHz или 80MHz.
- SPI_MODE: только QIO.
- FLASH_SIZE: Вы можете всегда использовать размер flash равный 512 Килобайт. Реальный размер flash определяется автоматически при загрузке прошивки.
Для сборки вы можете использовать esp-open-sdk.
Полный комплект для сборки вашего проекта с использованием этой SDK библиотеки: lib/libsdk.a + libmicroc.a и директория include.